![Page 1: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/1.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
�Cédric Brun [email protected]
�Laurent Goubet [email protected]
�Obeo�France
TeamWork with models
Compare and Merge with EMF Compare
![Page 2: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/2.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Obeo
�Eclipse Strategic Member
�Eclipse Modeling Project�M2T : MTL
�M2M : ATL industrialization, QVTR
�EMF : EMF Compare
�Papyrus UML
�Eclipse STP – SCA
�OW2 Consortium - Acceleo
![Page 3: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/3.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Models matters ...
![Page 4: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/4.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Eclipse Modeling project
� Modeling, Meta-modeling
� Tooling, Editors and modelers
![Page 5: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/5.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
M2T / Acceleo : generate text from models
![Page 6: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/6.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
M2M : transform models to models
� UML Tools, Query/Transaction/Validation, ...
![Page 7: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/7.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Models are used to :
� Capture and structure knowledge
� Scaffold applications
� Code generation
� Model transformation
� Analyse legacy applications
� Normalization and interroperability
Models are used to :
And many more useful things (see all the modeling projects !) �
![Page 8: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/8.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
As such, models evolves
![Page 9: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/9.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
� Compare, merge support
� SCM integration
� History analysis
Team support
![Page 10: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/10.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Ganymede brings ...
![Page 11: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/11.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
� End User
� Metamodel agnostic diff/merge -> demo
� Platform Team API integration (CVS, SVN..) -> demo
� User guide
� Developper
� Extensible diff model export -> demo
� Match/Diff algorithms extension
� Standalone/RCP support
� Developper guide
EMF Compare 0.8.x
![Page 12: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/12.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Why should you bother ?
![Page 13: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/13.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
As an Eclipse user
� develop using models !
![Page 14: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/14.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
As an RCP developer
� compare your own business objects
� do not depend on Eclipse IDE
� « in memory » comparison
� produce history reports
![Page 15: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/15.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
As an « development tools » developer
� incremental processing
� « mymodel » support
� XML based file comparison
![Page 16: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/16.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
As a researcher
� testbed for models/graphs comparison algorithmes
![Page 17: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/17.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
How does it work?
![Page 18: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/18.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Principles : models everywhere
![Page 19: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/19.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Phase 1 : matching elements
![Page 20: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/20.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Match engine� are « a » & « b » similars ?
� produce a match model
![Page 21: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/21.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Generic matching engine� heuristic based
� metamodel agnostic
� 4 metrics
� name
� content
� type
� relations
![Page 22: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/22.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Phase 2 : differencing
![Page 23: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/23.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Differencing engine� produces the diff model from the match model
![Page 24: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/24.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Phase 3 : extending the diff model
![Page 25: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/25.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Diff model export
![Page 26: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/26.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Diff model export� export a model containing « diff » and « match » model : emfdiff file
![Page 27: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/27.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Extensibility
![Page 28: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/28.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 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: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/29.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Performances parameters
![Page 30: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/30.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
� Eclipse Bundles (Modeling and Obeo Package)�� http://www.eclipse.org/downloads/
� Ganymede Update site� http://download.eclipse.org/releases/ganymede/
� EMFT Update site and zips� http://www.eclipse.org/modeling/emft/downloads/?project=compare
EMF Compare distribution
![Page 31: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/31.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Taking over the world...
![Page 32: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/32.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
� Features :
� ResourceSet-wide match
� EMFPatch files
� Graphical modelers integration (draft) -> demo
� Documentation
� The more the better !
� Project
� Graduation from incubation status
EMF Compare 1.0 for Galileo
![Page 33: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/33.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
� Developpers
� Incremental processing
� Non regression testing (ATL..)�
� Research
� Graphical Comparison (Tobias Jähnel - University of Applied Science Nuernberg) �
� Patch model (Davide Di Ruscio - Università degli Studi dell' Aquila ) �
� Selective regression testing (Leila Naslavsky – Donald Bren School of Information and Computer Science) �
� Semantic conflicts and refactoring detection (Philip Langer - Vienna University of Technology) �
It's just a first step !
![Page 34: TeamWork with models - Eclipse · 2017. 10. 30. · UML model UML2.0, 130+ elements : 0.3 second UML2.0, 4600+ elements : 1 second UML1.3, 65 000+ elements : 4 minutes Ecore model](https://reader034.vdocuments.mx/reader034/viewer/2022051906/5ff8e9ad187d202be861bebd/html5/thumbnails/34.jpg)
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
� EMFT newsgroup and mailling list
� #eclipse-modeling on freenode, meet cbrun and Kellindil
� Links
� http://www.eclipse.org/modeling/emft?project=compare
� http://wiki.eclipse.org/index.php/EMF_Compare
Thanks for your attention