collaborative modeling and metamodeling in metaedit+

12
Juha-Pekka Tolvanen [email protected] Collaborative modeling and metamodeling

Upload: juha-pekka-tolvanen

Post on 21-Mar-2017

2.950 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Collaborative modeling and metamodeling in MetaEdit+

Juha-Pekka Tolvanen [email protected]

Collaborative modeling and metamodeling

Page 2: Collaborative modeling and metamodeling in MetaEdit+

Agenda

Collaborative metamodeling

Collaborative modeling

Q&A

Page 3: Collaborative modeling and metamodeling in MetaEdit+

Experts define languages & generators

Team models with domain concepts & generate code

Integrated language definition

No programming needed

Language evolution

Several integrated languages

Collaborative language engineering (metamodeling)

Models update on any change

Scalable to large models (4 billion)

Fast generators

Interfaces to various IDEs (VS, Eclipse)

Collaborative modeling

Context for collaboration: MetaEdit+

Page 4: Collaborative modeling and metamodeling in MetaEdit+

Why collaboration on language engineering?

A language definition has several parts: abstract syntax, constraints, notation & semantic rules

– Single person is often not master of them all

Language definition need to be consistent, complete and correct

– If not: see UML standard containing hundreds of errors1 in abstract syntax and their related constraints

Single language is not enough, we use several (integrated) languages

– Multiple persons almost always involved

361 errors in UML 2.0: Bauerdick et al, in Procs of UML 2004, LNCS 3273, Springer, 2004; 320 errors in UML 2.3: Wilke & Demuth, 2010, journal.ub.tu-berlin.de/eceasst/article/download/669/682‎

Page 5: Collaborative modeling and metamodeling in MetaEdit+

Collaborative metamodeling (example: TDL by ETSI)

A) Concepts (Abstract syntax)

B) Constraints (Static semantics)

C) Notation (Concrete syntax)

D) Generators (Semantics)

Page 6: Collaborative modeling and metamodeling in MetaEdit+

Demonstration:

Page 7: Collaborative modeling and metamodeling in MetaEdit+

Benefits of collaborative metamodeling

Leads to better quality languages

– Languages can be checked early while being defined

– Users may immediately test the language, incl. validation

– When defined in smaller increments the risk of creating the wrong language constructs is reduced

Development of languages and generators is faster:

– Parallel effort

– Work shared based on expertise

Language adoption and acceptance improves since language users are directly involved

Page 8: Collaborative modeling and metamodeling in MetaEdit+

Why collaborative modeling?

Collaboration means working together with the same model - even at the same time

– Even in the same diagram (not typical, but possible)

– Partly with the same model elements (typical)

Known and proven technology to enable collaboration: Repository with concurrency control

– Conflicts detected and handled at the modeling time

• Trace to users

– No need to diff

– No need to merge

– Scales to large models

Page 9: Collaborative modeling and metamodeling in MetaEdit+

Collaborative modeling (example: automotive system)

A) Hardware

B) Functions

C) Allocation

D) Behavior

+ 16 other

– Safety

– Errors

– Timing

– ...

Page 10: Collaborative modeling and metamodeling in MetaEdit+

Demonstration:

Page 11: Collaborative modeling and metamodeling in MetaEdit+

Benefits of collaborative modeling

Team can work in the same design space in parallel

– E.g. If feedback is needed from colleagues they all can see the same model (or model element) and update it

No time and effort is needed to handle conflicts

Development is faster as all model information is available as needed

Work from multiple views – often based on different languages – can be integrated at model level

Trace is available among views and model elements

Models can be checked and verified early – not based on one diagram only but on larger model which may be based on different languages

Page 12: Collaborative modeling and metamodeling in MetaEdit+

Cases, tutorial, videos, manuals and evaluation version available

at: www.metacase.com

Contact: Juha-Pekka Tolvanen ([email protected]) Company: [email protected]

Thank you!