============== === README === ============== Please follow the instructions carefully to use my work. 1. metaedit_semantics.zip contains the Python sources for representing and simulating models. You will find the following files in it. - nodes.py: abstraction layer for MetaEdit+ SOAP API. - MetaEditAPI.wsdl: editted wsdl file of MetaEdit+ SOAP API, for suds to work with. - gg.py: contains classes to construct and execute graph grammars. - compiler.py: compiles rules and models to Py-T-Core. - TestProduction_Simulation.py: exported MetaEdit+ ProductionSystem model. - ProductionSystem_Semantics_GG.py: exported MetaEdit+ graph grammar. - ExecuteSemantics_TestProductionSystem.py: an example of how to combine an exported graph grammar with an exported MetaEdit+ model to actually execute the graph grammar on a model. - simulator.py: hardcoded semantics, you probably don't need to look at this. You will need suds (https://fedorahosted.org/suds/) to use my code. 2. You will have to get an evaluation version of MetaEdit+ here: http://www.metacase.com/download/ Once the program is installed, you have to patch it with the reprCreationAPI.mep file, following the instructions here: http://www.metacase.com/support/45/program/ Once that's completed, open the program. A default demo repository will have been created. Right-click on it, choose "Edit Repository in List" and rename it to anything else than "demo". Then, log into the repository as "Sysadmin". In MetaEdit+, go to "Repository" > "Import" and navigate to the AllGraphs.mec patch file attached to this mail, then choose "Open". AllGraphs.mec is a MetaEdit+ patch file which normally includes all my work (ProductionSystem metamodel, graph grammar metamodel and example models). 3. Generators.zip contains all necesarry generatord. To import these, click on the 'Generator Editor' button in the main screen of MetaEdit+ (it's to the right and has 'MERL' written in it). Then, click on 'Generator' > 'Change Graph Type' and choose 'ProductionSystem'. Click on 'Generator' > 'Read from File...' and select all files in the 'ProductionSystem' folder, then click 'Open' to import them. Do this for all other languages as well (ProductionSystem_GG, ProductionSystem_LHS, ProductionSystem_RHS and ProductionSystem_Rule). You should now have all the generators. Just a note: I've set the default directory to C:\metaedit_semantics, so that's where your exported files will be stored. If you want to change this, edit the '_default directory' report in one of the generators. 4. Export both the model (TestProductionSystem) and graph grammar (ProductionSystem_Semantics) to Python. Start the API tool in MetaEdit+ by going to "Repository" > "API Tool", then clicking "Start Server". Then execute the "ExecuteSemantics_TestProductionSystem.py" file. For more information, you can read my technical report (project.pdf).