Eclipse Model Operations (EMO)

»FAQ«

EMO FAQ

Installation & Usage

Q: Which plug-ins do I need?
A: There are several plug-ins and features available. Some depend on others and won´t work without them.
Depending on your requirements you do not need to install all of them. For instance if you just want to compare models via JAVA-code you don´t have to add the UI-plug-in.
It is recommended not just to install the plug-ins but install the associated fetaures.


Q: How can I install the needed features/plug-ins?
A:
  1. Just unzip them and copy the features to %ecplise%/features and the plug-ins to %eclipse%/plugins. The restart your eclipse.

  2. Use the update-site to get the features ans plug-ins via the integrated update manager. (recommended)


Q: How can I use EMO?
A: There are two ways of comparing models.
  1. Use the UI-plug-in for easily comparing models within the eclipse IDE. How to do this is described here.

  2. Integrate the plug-ins with another information system by calling the comparison methods manually from your source code. Some code snippets are presented here.


General

Q: What are the used strategies for the comparison and the mapping of the models?
A: Comparison:
During the matching phase several similarity metrics are computet for element pairs (e,f) where e is an element of the left model and f is an element of the right model.
There are five standard comparators for calculating single similarity values.
  • MetaClassComparator: compares the elements of the metamodel which they are instances from.
  • AttributeComparator: compares the attributes of both elements
  • ReferenceComparator: compares the references of both elements
  • ContentsComparator: compares all children of the elements
  • ContainerComparator: compares the parent of both elements
Furthermore there is a generic comparator which you can feed with features you'ld like to have compared separately.
After the comparisons the similarity values will be aggregated depending on their weightings to a single similarity metric for each pair (e,f).

Mapping:
When the matching is finished the mapping of both models will be built by analysing the matching. Certain rules are applied on the matching such like a bidirectional mapping, or the position of the matched elements.
For getting more detailed informations about the whole process we refer to the architecture-site.


Q: What about the performance of the comparisons?
A: The performance of the model comparison takes the main time of the whole process. Depending on the number of features selected for the comparison the time may vary significantly. But the more features are compared the better the results will be. You have to point out an optimal setting for your models.


Q: What is the projects roadmap for the future?
A: The next few steps of the project are always displayed at the page about EMO.
Next steps are:
  1. implementation of a merging algorithm
  2. implementation of a 3-way difference calculation algorithm
  3. implementation of an unification algorithm (simple and diff-based)
  4. implementation of an metamodel-dependent comparison algorithm
  5. research on improving comparison-performance