Incremental unidirectional and bidirectional graph transformations with the Democles pattern matching engine
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

eMoflon::IBeX Democles

Democles-specific component for eMoflon::IBeX

How to install

  1. Install GraphViz.
  2. Get the latest version of the Eclipse Modeling Tools.
  3. Install Xtext from this update site:
  4. Install eMoflon::IBeX from this update site:
    • Important: Make sure you enable "contact all update sites" in the update manager so all dependencies are automatically installed.
    • Important: After adding the IBex update site some extra update sites will be added automatically for all dependencies. Unfortunately, you have to first click on Manage and enable all these update sites first before clicking Install.

Now you are ready to use eMoflon::IBeX Democles.

  1. (Optional) Install GLPK for Windows or install GLPK via your package manager (Linux).
  2. (Optional) Install Gurobi 7.0.2 (make sure it is exactly this version!)
  3. (Optional) Install Google OR (not necessary on 64-bit Windows)

Note that Gurobi is only free for academical use (but not for commercial).

How to develop

  1. Do all steps from the How to install section above.
  2. Check the encoding for Xtend files.
    • In Eclipse: Go to Window->Preferences->General->Workspace.
    • Change the text file encoding to 'Other: UTF-8'.
  3. Go to File/Import.../Team/Team Project Set, check URL and enter in and import this PSF file:
  4. Execute MWE2
    • Open packages, org.emoflon.ibex.tgg.editor/src/org.moflon.tgg.mosl, and org.emoflon.ibex.tgg.weights
    • Right-click on GenerateGT.mwe2 in the first package, GenerateTGG.mwe2 in the second, and GenerateWeightDefinition.mwe2 in the third.
    • Press Run As -> MWE2 Workflow.
  5. Set UTF-8 as file encoding for the development workspace (Window → Preferences → General/Workspace) and build all projects (Project → Build All) to trigger code generation (and get rid of errors).
  6. Set up your runtime and test workspaces by starting a runtime Eclipse workspace from your development workspace, and importing this PSF file:
  7. Inside the runtime workspace, build all projects (Project → Build All) to trigger code generation.
  8. Run the JUnit tests to ensure that all is well by right-clicking one of the Testsuite_*.launch in the Testsuite project and TestsuiteGT.launch in the TestsuiteGT project and start the tests by selecting Run As/JUnit. If everything is set up correctly, all tests should be green.

Running Testsuite_GLPK.launch requires GLPK (see installation step 5).

Running Testsuite_Gurobi.launch requires Gurobi (see installation step 6).

Running Testsuite_CBC.launch requires Google OR tools (see installation step 7).

Testsuite_SAT4J.launch uses the SAT4J (automatically installed, but the slowest option).