Skip to main content
Jump to: navigation, search

EMF Compare

Revision as of 17:31, 25 March 2009 by (Talk | contribs) (added link to epatch page)


The EMF Compare project is part of EMFT (EMF Technology).

EMF Compare brings model comparison to the EMF framework, this tool provides generic support for any kind of metamodel in order to compare and merge models. The objectives of this component are to provide a stable and efficient generic implementation of model comparison and to provide an extensible framework for specific needs.

The comparison process is divided in 2 phases: matching and differencing. The matching phase browses the model version figuring out which element comes from which other one, then the differencing process browses the matching result and create the corresponding delta. This delta may itself be serialized as a model.



User Guide

Developer Guide


Roadmap & History


1.0.0 - Eclipse 3.5

- patch/changeset model
- huge model management
- UI extensibility (filters..)
- Graphical modelers integration
- Remote proxy resolving
- Incubation status exit
- ResourceSet match (inter-models links)
- eOperations handling

0.8.0 - Ganymede (2008)

- « 3 way » comparison
- confirm RCP/Domain uses cases for diff/synchronization
- diff engine extensibility
- diff model extension
- performances enhancements
- tutorials/documentation


0.7.0 branch (2007)

- merge/differencing
- reference documentation
- « 2 way » comparison
- Ecore/XMI Id handling
- metamodel agnostic
- match engine extensibility
- export API

Current Tasks

  • complete documentation and tutorials
  • coding a sample match engine
  • SVN/CVS proxy resolution
  • cleaning up API, Extensible Factor system for generic engine
  • extensible model traversal browsing
  • supporting dependencies design for merging
  • weight annotations for metamodels
  • 14/08/2007 extending diff metamodel
  • 14/08/2007 using functionnal ID through Ecore ID
  • 30/07/2007 export diff as... extension point
  • 30/07/2007 3 Way compare and merging
  • 10/07/2007suppress unused code
  • 14/06/2007 cleanup GUI
  • 07/06/2007 - open .diff files with compare editor
  • 10/05/2007dynamic icons for diff model using the element icons
  • 23/04/2007 remove UML2 dependencie for icons and use item providers for others
  • 17/04/2007 hierarchy in diff model
  • 16/04/2007 handle the case where many elements still need to be mapped without reaching a n^n complexity => using a max window
  • 16/04/2007 use StringBuffer
  • 13/04/2007 maplists should map with the best matching of the list (not the first)
  • 13/04/2007 filter unused metamodel elements (for instance many stuffs in UML are not really used in models..)
  • 12/04/2007 progress monitor and cancel support
  • 12/04/2007 cleaning up UI (remove uneeded buttons, diagram tabs...)
  • 12/04/2007 save diff action


The project developers are:

Cedric Brun (Obeo), project lead

Laurent Goubet (Obeo)

Jonathan Musset (Obeo)

Antoine Toulme (Intalio Inc.)


Any issue should be reported to the Bugzilla You may also contact the team using the EMFT newsgroup.


20/03/2008 - Short talk given at EclipseCon 2008 An update on EMF Compare

10/10/2007 - Talk given at Eclipse Summit Europe 2007 EMF Compare : One year later.

05/03/2007 - We presented the project at EclipseCon through a panel. Here is some feedback: Model Comparison Panel 2007.

Back to the top