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.
Roadmap & History
The first release of EMF Compare is tentatively scheduled for the beginning of June, 2007.
- dynamic icons for diff model using the element icons
- using functionnal ID through Ecore ID
- better browsing when using XMI_ID
- merge on moveoperation
- complete documentation and tutorials
- coding a sample match engine
- extending diff metamodel
- 3 Way compare
- open .diff files with compare editor
- cleaning up API, Extensible Factor system for generic engine
- extensible model traversal browsing
- supporting dependencies design for merging
- weight annotations for metamodels
- suppress unused code
- cleanup GUI
- export diff as... extension point
- 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
Antoine Toulme (Intalio Inc.)
Any issue should be reported to the Bugzilla You may also contact the team using the EMFT newsgroup.