- Download and install the Eclipse Oxygen Modelling package.
- Install Sirius and Xtext using the “Install modelling components” button.
- Close Eclipse.
- Install MultEcore by putting the plugin files (and the optional MCMT-related plugin files) in your plugins directory.
- Start Eclipse again.
Working with EMF
- Create a General Eclipse project.
- Create a metamodel.
- Activate and deactivate MLM by clicking MultEcore’s button.
- Create a new dynamic instance by right-clicking in the Root EClass, which is always created automatically by MultEcore.
Importing an existing MLM project
- Import it normally using the Eclipse wizard.
- Activate MLM.
Adding supplementary hierarchies
To be able to incorporate a supplementary hierarchy, you will need to have at least two projects where MultEcore is enabled.
Lets assume we want to add H1 as supplementary of H2:
- Right click in H2 project, go to “MultEcore” and select “Add supplementary hierarchies”.
- In the Dialog, select the entry for H1 and press “OK”.
- Now, it is recommendable to close the tabs for the editors if some of them are opened. Refresh the H2 project and also the “AIRD” file of the model where we will add supplementary types to the nodes.
- Open the “metamodelDiagram” of the model in H2 where we will add the supplementary types.
- Select the canvas and, in the “Properties” view there should be, in the “MultEcore” tab, a list with the Supplementary Hierarchies added, H1 in our case. In the textbox, put the name of the model of H1 from where the supplementary types will come. Select again the canvas and save.
- To add a supplementary type to a node, select the node. In the”Properties view, “MultEcore” tab, there should be a droplist that has the name of the model of H1. Each of the items in the droplist if one of the nodes residing in the supplementary model and can be selected.
Note that one might not find that some of the fields described in steps 5 or 6 are enabled or present. Closing the editors, and refreshing the projects/representation files can help to get them updated.
The plugin will take care of maintaining the hierarchy every time a model (XMI), metamodel (Ecore) or representation (AIRD) is saved. If the created model is invalid, the tool will raise an error (see “Troubleshooting”). If this happens, the model will be restored to the last saved change, so it is recommended to save often!
We also recommend working with the graphical editor, to avoid dealing with annotations and synthetic attributes generated by the tool to maintain multilevel information in the Ecore and XMI files.
Check our video demo and tutorial
Q: I get an “Invalid Thread” error when I create a first project and activate MLM.
A: Make sure you have the “Hierarchy View” vew opened and active. Close the error message and expand the *.aird file created. If there are two “Representations per category” folders. If so, remove the entire *.aird file, deactivate MLM and activate it again in the project. Now the *.aird file should be properly created and ready to use.
Q: My diagram appears empty, even if the model is not.
A: Check that the “Unsynchronized” option is not enabled, by right clicking in the canvas of the diagram (see the screenshot below), and then refresh the diagram, also by right-clicking or pressing F5.
Q: I get a pop-up window telling me that I am doing something wrong. For example:
A: The tool controls that the types and potencies of the elements are consistent. Double check that you are not trying to do something not allowed!
Q: I get ugly errors and exceptions.
A: The tool is still a prototype, and some actions may break it. In some cases, you can safely ignore the error and continue working. In the worst case scenario, deactivating and reactivating MLM (and ignoring the new errors that may appear) normally gets the tool back to a consistent state.
Q: Can I push the enable/disable button at anytime?
A: Only when a project or a file/folder inside it is selected in the Project Explorer (not the Java Package Explorer or any similar tree-based explorer). The project must contain some model files, or MLM will not be activated.
Q: Do I always need to create an instance by right-clicking on the “Root” EClass?
A: Yes. An instance created by using another EClass as root will not be compatible with MultEcore.
Q: Which version of Java do I need to run MultEcore?
A: Version 1.8.X (Java 8) or newer.