for domain-specific modeling languages customizable ......© 2016 eclipsesource | | philip langer...

23
© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 1 Customizable Collaborative Modeling for Domain-specific Modeling Languages Philip Langer [email protected] Maximilian Koegel [email protected]

Upload: others

Post on 08-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 1

Customizable Collaborative Modelingfor Domain-specific Modeling Languages

Philip [email protected]

Maximilian [email protected]

Page 2: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 2

● Processes and tooling that enable...○ working on shared models○ changing models separately in isolated branches○ obtaining differences among model versions○ sharing changes with others○ merging changes with changes others have made

Collaborative Modeling (“Version Control for Models”)

mastermaster

featureX

Page 3: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3

● Processes and tooling that enable to efficiently use git for models

● Isn’t git on its own enough?

Collaborative Modeling

Taken from https://github.com/KnowitLabs/Project-Workflow-and-Conventions

Page 4: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 4

● Processes and tooling that enable efficient use of git for models

Collaborative Modeling

Page 5: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 5

● Processes and tooling that enable to efficiently use git for models

Collaborative Modeling

Page 6: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 6

● Processes and tooling that enable to efficiently use git for models● On model-level● For Papyrus models

→ Seamless integration of

Collaborative Modeling

Page 7: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 7

● EMF Compare

○ A generic model versioning framework○ Raise the unit of versioning from text line to model elements○ Compare and merge the logical structure of the model

○ Generic algorithms■ Make use of the metamodel to obtain knowledge on logical structure■ Reflection API to access and compare values generically■ Support every modeling language that is specified in EMF

✔ Model-level comparison✔ Model-level conflict detection✔ Model-level merging

Model Versioning with EMF Compare and EGit

Page 8: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 8

Model Versioning with EMF Compare and EGit

This is already much closer to the modeling level!

Page 9: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 9

● EMF Compare and EGit (integration of git in Eclipse)

○ EMF Compare extends EGit handling the involved model resources in■ comparisons among branches, references, tags■ git merge, rebase, and cherry-pick

○ EMF Compare handles not only single model resources■ Git has a file-by-file way of working■ Models often span across multiple files■ “Logical models” are treated as a whole■ Support for model fragmentation operations

✔ Model-level comparison and merging in all git operations✔ Fix for paradigm mismatch: file vs logical model

Model Versioning with EMF Compare and EGit

Page 10: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 10

Gap between Model Versioning Tools and Modeling EditorsThis is already much closer to the modeling level!

Page 11: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 11

Gap between Model Versioning Tools and Modeling Editors

Papyrus

But this is not close enough!

Page 12: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 12

But this is not close enough!

Papyrus

Gap between Model Versioning Tools and Modeling Editors

Hides complexity of the modeling

language

Offers composite actions and types

Provides dedicated views

Especially with UML-based

DSMLs

Page 13: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 13

But this is not close enough!

Gap between Model Versioning Tools and Modeling Editors

Papyrus

?

Gap between Modeling Editor and Model Versioning Tools

Page 14: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 14

Gap between Model Versioning Tools and Modeling Editors

Papyrus EMF CompareHow a user applies a change How EMF Compare sees the change

...

Page 15: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 15

Gap between Model Versioning Tools and Modeling Editors

Papyrus

“Papyrus Compare”

Page 16: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 16

Gap between Model Versioning Tools and Modeling Editors

Papyrus EMF “Papyrus Compare”How a user applies a change How Papyrus Compare shows the change

...

Page 17: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 17

“Papyrus Compare”

● Seamless Papyrus integration✔Direct integration of Papyrus’ tree decorations✔Integration of Papyrus diagram styling✔Support for UML Profiles✔Support for UML Profile migration✔Grouping of several composite editing actions✔Specific conflict handling for those actions✔Specific handling of metainformation (di)✔...

Page 18: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 18

● Papyrus is a DSM platform itself○ Custom model decoration and diagram styling○ Custom composite model element patterns○ Custom composite model editing actions○ Custom conflict and merge rules○ ...

Gap between Model Versioning Tools and DSM Editors

Page 19: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 19

Gap between Model Versioning Tools and Modeling Editors

Page 20: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 20

● Many customization options exist in Papyrus○ Reflect all customizations in the model versioning process too○ Seamless UX: See model changes on the same level as in the editor

● Shared DSML customization API○ Perform a customization of a DSM tool once○ See the effect of the customization everywhere

● From DSML-oriented to “representation”-oriented model versioning○ Different user roles work on shared models○ They usually look at the models at different levels○ Consequently, they use different representations: tables, diagrams, text○ Allow them to view changes in their preferred representation

Outlook

Page 21: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 21

Communicate Changes & Resolve ConflictsAcross Multiple Domain-specific Representations

Page 22: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 22

Communicate Changes & Resolve ConflictsAcross Multiple Domain-specific Representations

Page 23: for Domain-specific Modeling Languages Customizable ......© 2016 EclipseSource | | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 3 Processes

© 2016 EclipseSource | http://eclipsesource.com | Philip Langer and Maximilian Koegel | Customizable collaborative modeling for DSMLs 23

Thank you very much!

● Open source collaboration

● Follow us on collaborative-modeling.org

● Contact us

○ At our booth (EclipseSource, Zeligsoft, PapyrusIC)○ [email protected]

Related Sessions

Today 13:45Papyrus Customization and DSML supportBenoit Maggi (CEA)

Today 15:30Collaborative ModelingP. Langer & M. Koegel