ABSTRACT
Model-driven engineering advocates the use of different modelling languages and multiple views to describe the characteristics of a complex system. This allows to express a specific system characteristic with the most appropriate modelling language. However, establishing the conceptual relationships between elements from different languages and then consistently maintaining the links between model elements are non-trivial tasks. In this paper, we propose Action-Driven Consistency (ADC) for maintaining the links between different model elements from different languages defined with the Perspectives for Multi-Language Systems (PML) framework. PML aims to promote modularity in language reuse, inter-language consistency, and combination of languages. A perspective groups different languages, each playing a role for a common modelling purpose. PML defines perspective actions based on existing language actions to maintain consistent models. In this work, we present generic templates from which perspective actions can be generated given relationships between language metaclasses. This allows the perspective designer to focus on these key relationships and frees her from the error-prone implementation of perspective actions. We illustrate our approach with a perspective that combines class diagram and use case diagram languages for the purpose of requirement elicitation and apply it to a bank application.
- Hyacinth Ali, Gunter Mussbacher, and Jörg Kienzle. 2019. Generic Navigation of Model-Based Development Artefacts. In Workshop on Modeling in Software Engineering, MiSE 2019.Google Scholar
- Hyacinth Ali, Gunter Mussbacher, and Jörg Kienzle. 2019. Towards Modular Combination and Reuse of Languages with Perspectives. In 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C). IEEE, 387--394.Google Scholar
- Colin Atkinson, Dietmar Stoll, and Philipp Bostan. 2009. Orthographic software modeling: a practical approach to view-based development. In Evaluation of Novel Approaches to Software Engineering. Springer, 206--219.Google Scholar
- Barrett Bryant, Jean-Marc Jézéquel, Ralf Lämmel, Marjan Mernik, Martin Schindler, Friedrich Steinmann, Juha-Pekka Tolvanen, Antonio Vallecillo, and Markus Völter. 2015. Globalized domain specific language engineering. In Globalizing Domain-Specific Languages. Springer, 43--69.Google Scholar
- James Bucanek. 2009. Model-view-controller pattern. Learn Objective-C for Java Developers (2009), 353--402.Google Scholar
- Erik Johannes Burger. 2013. Flexible views for view-based model-driven development. In Proceedings of the 18th international doctoral symposium on Components and architecture. ACM, 25--30.Google ScholarDigital Library
- Antonio Cicchetti, Davide Di Ruscio, Romina Eramo, and Alfonso Pierantonio. 2010. JTL: a bidirectional and change propagating transformation language. In Intl. Conf. on Software Language Engineering. Springer, 183--202.Google Scholar
- Benoit Combemale, Julien Deantoni, Benoit Baudry, Robert B France, Jean-Marc Jézéquel, and Jeff Gray. 2014. Globalizing modeling languages. Computer 47, 6 (2014), 68--71.Google ScholarDigital Library
- Julien Deantoni. 2016. Modeling the behavioral semantics of heterogeneous languages and their coordination. In 2016 Architecture-Centric Virtual Integration (ACVI). IEEE, 12--18.Google Scholar
- Thomas Degueule, Benoit Combemale, Arnaud Blouin, Olivier Barais, and Jean-Marc Jézéquel. 2015. Melange: A meta-language for modular and reusable development of dsls. In Proceedings of the 2015 ACM SIGPLAN Intl. Conference on Software Language Engineering. ACM, 25--36.Google ScholarDigital Library
- Dimitrios Kolovos, Richard Paige, and Fiona Polack. 2008. Detecting and repairing inconsistencies across heterogeneous models. In 2008 1st International Conference on Software Testing, Verification, and Validation. IEEE, 356--364.Google ScholarDigital Library
- Max E Kramer. 2015. A Generative approach to change-driven consistency in multi-view modeling. In Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures. ACM, 129--134.Google ScholarDigital Library
- Max E Kramer, Erik Burger, and Michael Langhammer. 2013. View-Centric Engineering with Synchronized Heterogeneous Models. (2013). https://doi.org/10.1145/2489861.2489864Google Scholar
- Max E Kramer, Michael Langhammer, Dominik Messinger, Stephan Seifermann, and Erik Burger. 2015. Change-driven consistency for component code, architectural models, and contracts. In Proceedings of the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering. ACM, 21--26.Google ScholarDigital Library
- Fabiana G. Marinho. 2010. A proposal for consistency checking in dynamic software product line models using OCL. Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - ICSE '10 2 (2010), 333. https://doi.org/10.1145/1810295.1810379Google ScholarDigital Library
- Johannes Meier, Heiko Klare., Christian Tunjic., Colin Atkinson., Erik Burger., Ralf Reussner., and Andreas Winter. 2019. Single Underlying Models for Projectional, Multi-View Environments. In 7th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD. INSTICC, SciTePress, 119--130. https://doi.org/10.5220/0007396401190130Google Scholar
- Rolf-Helge Pfeiffer and Andrzej Wasowski. 2012. Texmo: A multi-language development environment. In European Conference on Modelling Foundations and Applications. Springer, 178--193.Google ScholarDigital Library
- Aditya A Shah, Aleksandr A Kerzhner, Dirk Schaefer, and Christiaan JJ Paredis. 2010. Multi-view modeling to support embedded systems engineering in SysML. In Graph transformations and model-driven engineering. Springer, 580--601.Google Scholar
- TouchCORE website. 2019. TouchCORE v7.0.2. http://touchcore.cs.mcgill.ca/Google Scholar
Index Terms
- Action-Driven Consistency for Modular Multi-Language Systems with Perspectives
Recommendations
Multi-language systems based on perspectives to promote modularity, reusability, and consistency
MODELS '20: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion ProceedingsModel-driven engineering advocates the use of different modelling languages and multiple views to describe the characteristics of a complex system. This allows to express a specific system characteristic with the most appropriate modelling language. ...
Perspectives to promote modularity, reusability, and consistency in multi-language systems
AbstractIn modern software systems, software modellers often use different modelling languages and multiple views to describe the characteristics of a complex system. This multi-language system allows modellers to express a specific system characteristic ...
Towards modular combination and reuse of languages with perspectives
MODELS '19: Proceedings of the 22nd International Conference on Model Driven Engineering Languages and SystemsTo describe the characteristics of a complex system, model-driven engineering (MDE) advocates the use of different modelling languages and multiple views. This allows the use of the most appropriate modelling language for expressing a specific system ...
Comments