SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels
-
Upload
obeo -
Category
Technology
-
view
133 -
download
3
Transcript of SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels
KIT – The Research University in the Helmholtz Association
SOFTWARE DESIGN AND QUALITY GROUP
INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS
www.kit.edu
A Graphical Approach to Modularization and Layering of Metamodels
Amine Kechaou, Misha Strittmatter
November 9, 2017 – SiriusCon, Paris
Software Design and Quality Group
Institute for Program Structures and Data Organization
2 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Background
Student research assistant at the Software Design and
Quality (SDQ) research group
Areas of work
Since 2015: Graphical editors for the Palladio Component
Model (PCM)
Summer term 2017: Bachelor's thesis «A Graphical Approach
to Modularization and Layering of Metamodels»
Second time to attend SiriusCon
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
3 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Motivating example
The Palladio Component Model (PCM)
A metamodel for component-based architectures
In numbers
19 (sub-)subpackages
more than 150 EClassifiers
Conventional tooling not adapted to
modularization
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
4 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
PCM, an example of a complex metamodel
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
5 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
PCM, an example of a complex metamodel
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
6 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels 09.11.2017
PCM, an example of a complex metamodel
PCM PCM-Core
PCM-Composition
PCM-Reliability
PCM-Performance
PCM-Behavior
PCM-Repository
Feedback Concept Demo Introduction Future work Conclusion
: Metamodel
Software Design and Quality Group
Institute for Program Structures and Data Organization
7 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Layering of metamodels
«Depend upon abstractions. Do not depend upon concretions»
- Robert C. Martin, Design Principles and Design Patterns
A Modular Reference Structure for Component-based Architecture
Description Languages [strittmatter2015]
Organize (sub-)metamodels inside layers
No dependencies to lower layers
No cyclical dependencies between modules
Benefits: reusability, understandability, maintainability
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
8 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Concept
A tool support for the modular reference structure
Graphical representation
Detection of violations (e.g. cycles)
Assistance in the task of modularization
Manipulate metamodels and assign them to layers
Load referenced metamodels automatically
Deliver information about the nature of dependencies
Use cases:
Design a modular metamodel from scratch
Modularize existing metamodels
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
9 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
LIVE
DEMO
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
10 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Support of EMF Profiles
09.11.2017
Excerpt from the PCM
pcmReliability (simplified)
ReliabilityProfile
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
11 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Support of EMF Profiles
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
12 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Future work
Usability
Inform the user about broken dependencies
Hide transitive dependencies
Choose the direction of abstraction (up/down)
…
Refactoring
Factor out the EMF Profiles part
New features
Load related metamodels
Further aspects (e.g. model transformations, VSMs)
Metamodel clustering
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
13 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Limitations and feedback
Limitations of the MRS graphical editor
Intermediate results are not saved
Redundant dependency computation and cycle detection
Improvement potential for Sirius
Run operation on refresh/modification?
Stateful Java services?
"Diagram" variables in the VSM?
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
14 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Feedback
Flexibility and fluidity
Development time
A very responsive community
Autocompletion
Casting (oclAsType)
Available variables
Diagram extension
Edge redefinition
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
15 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Conclusion
Benefits
Easier modularization
Modular metamodeling
Available at:
https://sdqweb.ipd.kit.edu/eclipse/mrs-editor/nightly/
https://github.com/kit-sdq/MRS-Editor
Feedback, suggestions, questions? [email protected]
09.11.2017
Feedback Concept Demo Introduction Future work Conclusion
Software Design and Quality Group
Institute for Program Structures and Data Organization
16 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
References
[strittmatter2015] A Modular Reference Structure for Component-based
Architecture Description Languages”. In: 2nd International Workshop on Model-
Driven Engineering for Component-Based Systems (ModComp). CEUR, 2015,
pp. 36–41. url: http://ceur-ws.org/Vol-1463/paper6.pdf
09.11.2017
Software Design and Quality Group
Institute for Program Structures and Data Organization
17 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
BACKUP
09.11.2017
Software Design and Quality Group
Institute for Program Structures and Data Organization
18 Amine Kechaou, Misha Strittmatter –
A Graphical Approach to Modularization and Layering of Metamodels
Implementation
A Sirius-based graphical editor
The MRS metamodel
defines the basis of the modular reference structure
The Viewpoint Specification Model (VSM)
Java services and external Java actions
09.11.2017