![Page 1: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/1.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Cédric Brun
ObeoFrance
Comparing and Merging Models with Eclipse
An update on EMF Compare ...
![Page 2: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/2.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Working with models in Eclipse ?
![Page 3: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/3.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
EMF / GMF : modeling support Modeling, Meta-modeling Editors and modelers
![Page 4: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/4.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
M2T / Acceleo : generate text from models
![Page 5: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/5.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
M2M : transform models to models
UML Tools, Query/Transaction/Validation, ...
![Page 6: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/6.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Have a try ?
![Page 7: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/7.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
No team-work support
![Page 8: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/8.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Back in 2006...
![Page 9: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/9.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Eclipse Summit Europe 2006 Modeling symposium lighten the fact that this component is essential
and missing. Obeo and Intalio contribute their own initial implementations
EMF Compare
![Page 10: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/10.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Result ? differencing merging team API
integration diff export extensibility
![Page 11: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/11.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
History
October 2006 : Eclipse Summit Europe
November 2006 : EMF Compare Proposal
March 2007 : IP approval
June 2007 : First builds on Eclipse.org
September 2007 : Stable builds for 0.7.0
January 2008 : 0.8.0 is « feature complete »
![Page 12: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/12.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Why should you bother ?
![Page 13: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/13.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
As an Eclipse user develop using models !
![Page 14: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/14.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
As an RCP developer compare your own business objects
do not depend on Eclipse IDE « in memory » comparison produce history reports
![Page 15: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/15.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
As an « development tools » developer incremental processing « mymodel » support XML based file comparison
![Page 16: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/16.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
As a researcher testbed for models/graphs comparison algorithmes
![Page 17: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/17.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
How does it work ?
![Page 18: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/18.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Principles : models everywhere
![Page 19: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/19.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Phase 1 : matching elements
![Page 20: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/20.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Match engine are « a » & « b » similars ? produce a match model
![Page 21: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/21.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Generic matching engine heuristic based metamodel agnostic 4 metrics
name content type relations
![Page 22: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/22.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Phase 2 : differencing
![Page 23: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/23.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Differencing engine produces the diff model from the match model
![Page 24: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/24.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Phase 3 : extending the diff model
![Page 25: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/25.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Diff model export
![Page 26: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/26.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Diff model export export a model containing « diff » and « match » model : emfdiff file
![Page 27: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/27.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Extensibility
![Page 28: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/28.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Performances : figures UML model
UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes
Ecore model gmfgraph.ecore, 450+ elements : 1 second gmfgen.ecore, 1200+ elements : 3 seconds 6000+ elements, very flat model : 20 seconds 45 000+ elements : 4 minutes
![Page 29: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/29.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Performances parameters
![Page 30: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/30.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Current status 0.7.0 stable release
merge/differencing reference documentation « 2 way » comparison Ecore/XMI Id handling metamodel agnostic match engine extensibility export API
0.8.0 interim builds « 3 way » comparison diff engine extensibility diff model extension performances enhancements
Community « up-to-date » doc is in the wiki great feedbacks bugs and enhancements requests patches coming soon : release review
Eclipse.org automated builds
![Page 31: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/31.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
What's next ?
![Page 32: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/32.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Roadmap 0.8.0 release
3 way comparison diff model extension diff engine extensibility tutorial documentation
Ganymede simultaneous release stability/efficiency other tools integrations API validation
![Page 33: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/33.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Alternatives engines and settings specific properties (big models...)
performances
weight-based engine
![Page 34: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/34.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Proxy resolving on version control systems
![Page 35: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/35.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Integration in modelers
![Page 36: EclipseCon 2020 | EclipseCon 2020 - Comparing and Merging … · 2017-12-06 · October 2006 : Eclipse Summit Europe November 2006 : EMF Compare Proposal March 2007 : IP approval](https://reader033.vdocuments.mx/reader033/viewer/2022043021/5f3d71bacd238408cf5faacb/html5/thumbnails/36.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | March 20, 2008
Thanks for your attention, any question ?
Further information : http://www.eclipse.org/modeling/emft/?project=compare#compare