Collaborative modeling and metamodeling in MetaEdit+
-
Upload
juha-pekka-tolvanen -
Category
Software
-
view
2.951 -
download
0
Transcript of Collaborative modeling and metamodeling in MetaEdit+
![Page 2: Collaborative modeling and metamodeling in MetaEdit+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/2.jpg)
Agenda
Collaborative metamodeling
Collaborative modeling
Q&A
![Page 3: Collaborative modeling and metamodeling in MetaEdit+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/3.jpg)
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+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/4.jpg)
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+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/5.jpg)
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+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/6.jpg)
Demonstration:
![Page 7: Collaborative modeling and metamodeling in MetaEdit+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/7.jpg)
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+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/8.jpg)
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+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/9.jpg)
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+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/10.jpg)
Demonstration:
![Page 11: Collaborative modeling and metamodeling in MetaEdit+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/11.jpg)
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+](https://reader031.fdocuments.in/reader031/viewer/2022022205/58d05e0b1a28ab10448b4e49/html5/thumbnails/12.jpg)
Cases, tutorial, videos, manuals and evaluation version available
at: www.metacase.com
Contact: Juha-Pekka Tolvanen ([email protected]) Company: [email protected]
Thank you!