Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
© 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
© 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
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Models matters ...
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Eclipse Modeling project
� Modeling, Meta-modeling
� Tooling, Editors and modelers
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
M2T / Acceleo : generate text from models
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
M2M : transform models to models
� UML Tools, Query/Transaction/Validation, ...
© 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 !) �
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
As such, models evolves
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
� Compare, merge support
� SCM integration
� History analysis
Team support
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Ganymede brings ...
© 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
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Why should you bother ?
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
As an Eclipse user
� develop using models !
© 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
© 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
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
As a researcher
� testbed for models/graphs comparison algorithmes
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
How does it work?
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Principles : models everywhere
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Phase 1 : matching elements
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Match engine� are « a » & « b » similars ?
� produce a match model
© 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
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Phase 2 : differencing
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Differencing engine� produces the diff model from the match model
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Phase 3 : extending the diff model
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Diff model export
© 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
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Extensibility
© 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
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Performances parameters
© 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
© Copyright 2008 Obeo.; made available under the EPL v1.0 | December 10th, 2008
Taking over the world...
© 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
© 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 !
© 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