SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

18
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

Transcript of SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

Page 1: 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

Page 2: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 3: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 4: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 5: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 6: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 7: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 8: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 9: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 10: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 11: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 12: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 13: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 14: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 15: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 16: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 17: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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

Page 18: SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels

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