Juha-Pekka Tolvanen
jpt@metacase.com
Collaborative
modeling and metamodeling
Agenda
 Collaborative metamodeling
 Collaborative modeling
 Q&A
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+
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‎
Collaborative metamodeling
(example: TDL by ETSI)
A) Concepts
(Abstract syntax)
B) Constraints
(Static semantics)
C) Notation
(Concrete syntax)
D) Generators
(Semantics)
Demonstration:
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
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
Collaborative modeling
(example: automotive system)
A) Hardware
B) Functions
C) Allocation
D) Behavior
+ 16 other
– Safety
– Errors
– Timing
– ...
Demonstration:
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
Cases, tutorial, videos, manuals
and evaluation version available
at:
www.metacase.com
Contact: Juha-Pekka Tolvanen (jpt@metacase.com)
Company: info@metacase.com
Thank you!

Collaborative modeling and metamodeling in MetaEdit+

  • 1.
  • 2.
    Agenda  Collaborative metamodeling Collaborative modeling  Q&A
  • 3.
    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+
  • 4.
    Why collaboration onlanguage 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‎
  • 5.
    Collaborative metamodeling (example: TDLby ETSI) A) Concepts (Abstract syntax) B) Constraints (Static semantics) C) Notation (Concrete syntax) D) Generators (Semantics)
  • 6.
  • 7.
    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
  • 8.
    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
  • 9.
    Collaborative modeling (example: automotivesystem) A) Hardware B) Functions C) Allocation D) Behavior + 16 other – Safety – Errors – Timing – ...
  • 10.
  • 11.
    Benefits of collaborativemodeling  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
  • 12.
    Cases, tutorial, videos,manuals and evaluation version available at: www.metacase.com Contact: Juha-Pekka Tolvanen (jpt@metacase.com) Company: info@metacase.com Thank you!