34
© 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

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

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

[email protected]