Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search

Papyrus/Mars Work Description/Improvments/EMF Compare

This page is outdated, please use Papyrus Compare instead


EMF is integrated into Papyrus to compare either UML semantic models or diagrams. Since Luna the EMF Compare integration in Papyrus was broken because of the empty di files. Furthermore several context popup menus disappeared. These issues are fixed in Mars thanks to the collaboration between CEA and Eclipse Source.

Frontend Changes and Improvements

There is now a new context popup menu in the Model Explorer view of Papyrus, which launches EMF Compare:

Papyrus Compare

The Compare With > Each Other action is enabled when 2-3 model elements are selected in the Model Explorer. The action launches the EObject comparison by EMF Compare. It is then possible to compare two selected diagrams or UML elements. Three-way comparison is also enabled as this is a feature of EMF Compare.

Backend Changes and Improvements

It is now possible to compare 2 Papyrus project files again (.di files). Extension points are added to EMF Compare in order to extend model resolvers. The extension point is used for integrating the Papyrus ModelSet approach where the .di file is used as "master" file without actually linking to other files.

A partial ModelSet comparison is also implemented since simply comparing .notation, and .uml files is not enough in all cases.

Bugzilla References

The following bugs are fixed:

Bug 462461 - Contextual popup menu in Model Explorer is missing

  • Problem: The context popup menu for comparison disappeared.
  • Solution: Added a new menu contribution, command, and handler in Papyrus Compare UI plugin.

Bug 456699 - Start comparison/merging from model container or .di file

  • Problem: Comparing two .di files gives empty results.
  • Solution: Added an extension point to EMF Compare which allows to integrate special model resolving behavior into EMF Compare. The extension point can be used when dependencies between resources exist by design but do not manifest in the resources themselves.

Bug 464791 - Plugin dependency version

  • Problem: Papyrus UML Compare plugin should depend on latest version of EMF Compare where bug 456699 is fixed.
  • Solution: Updated plugin.xml of corresponding plugins

Ongoing and Future Work

  • Comparison between Model Explorer selected element (and only selected element) with Local History, HEAD revision, etc...
  • Full ModelSet comparison implementation (e.g. snippet handling)
  • Handling of sub-models when comparing

Back to the top