Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 18 Anuncio

SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

Descargar para leer sin conexión

Modularity is a key aspect in software engineering since it comes with several benefits like reusability, extensibility and maintainability. Although it is a well established concept, it has not received much attention when it comes to model-driven software development. Over time, metamodels tend to evolve and grow in complexity to encompass new aspects and features. If modularization steps are not taken and metamodels are extended intrusively, they can become difficult to maintain and to extend. With the increased complexity, the modularization can become even more challenging.

In this talk, we present a novel approach to assist the modeler in the task of modularization. Our approach addresses the problem from a graphical perspective. The proposed tool support displays a layered structure, where each layer has certain level of abstraction, and allows the modeler to organize metamodels inside the layers. In this layered structure, the metamodels should only depend on metamodels with the same or a higher abstraction level and should not take part in cyclical dependencies. The tool provides the modeler with full control over the modularization process and full knowledge about the relations between the metamodels, thus facilitating the modularization task greatly.

Modularity is a key aspect in software engineering since it comes with several benefits like reusability, extensibility and maintainability. Although it is a well established concept, it has not received much attention when it comes to model-driven software development. Over time, metamodels tend to evolve and grow in complexity to encompass new aspects and features. If modularization steps are not taken and metamodels are extended intrusively, they can become difficult to maintain and to extend. With the increased complexity, the modularization can become even more challenging.

In this talk, we present a novel approach to assist the modeler in the task of modularization. Our approach addresses the problem from a graphical perspective. The proposed tool support displays a layered structure, where each layer has certain level of abstraction, and allows the modeler to organize metamodels inside the layers. In this layered structure, the metamodels should only depend on metamodels with the same or a higher abstraction level and should not take part in cyclical dependencies. The tool provides the modeler with full control over the modularization process and full knowledge about the relations between the metamodels, thus facilitating the modularization task greatly.

Anuncio
Anuncio

Más Contenido Relacionado

Similares a SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels (20)

Anuncio

Más de Obeo (20)

Más reciente (20)

Anuncio

SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

  1. 1. 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
  2. 2. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  3. 3. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  4. 4. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  5. 5. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  6. 6. 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 PCMPCM-Core PCM-Composition PCM-Reliability PCM-Performance PCM-Behavior PCM-Repository FeedbackConcept DemoIntroduction Future work Conclusion : Metamodel
  7. 7. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  8. 8. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  9. 9. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  10. 10. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  11. 11. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  12. 12. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  13. 13. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  14. 14. 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 FeedbackConcept DemoIntroduction Future work Conclusion
  15. 15. 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? amine.kechaou@student.kit.edu 09.11.2017 FeedbackConcept DemoIntroduction Future work Conclusion
  16. 16. 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
  17. 17. 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
  18. 18. 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

×