Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3417990.3419489acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Multi-language systems based on perspectives to promote modularity, reusability, and consistency

Published: 26 October 2020 Publication History

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 links between model elements are non-trivial tasks. In this research, we present a framework for the specification and development of multi-language systems based on perspectives to promote modularity in language reuse, inter-language consistency, and combination of languages. A perspective groups different languages for a modelling purpose and defines the role of each participating language. A perspective defines composite actions for building a consistent multi-model system and maintaining the links between different model elements. The aim of this framework is that the perspective designer only needs to specify relationships between different languages. A generative approach then ensures model consistencies, hence freeing the perspective designer from the error-prone implementation of the consistency mechanism and simplifying the modular combination of different languages.

References

[1]
Omar Alam, Jörg Kienzle, and Gunter Mussbacher. 2013. Concern-Oriented Software Design. In Model-Driven Engineering Languages and Systems, Ana Moreira, Bernhard Schätz, Jeff Gray, Antonio Vallecillo, and Peter Clarke (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 604--621.
[2]
Hyacinth Ali, Gunter Mussbacher, and Jörg Kienzle. 2019. Generic Graphical Navigation for Modelling Tools. In International Conference on System Analysis and Modeling. Springer, 44--60.
[3]
Hyacinth Ali, Gunter Mussbacher, and Jörg Kienzle. 2019. Generic navigation of model-based development artefacts. In 2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE). IEEE, 35--38.
[4]
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.
[5]
Hyacinth Ali, Gunter Mussbacher, and Jörg Kienzle. 2020. Action-Driven Consistency for Modular Multi-Language Systems with Perspectives. In 12th System Analysis and Modelling Conference. ACM.
[6]
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.
[7]
Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2012. Model-driven software engineering in practice. Morgan & Claypool Publishers.
[8]
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.
[9]
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.
[10]
Julien Deantoni. 2016. Modeling the behavioral semantics of heterogeneous languages and their coordination. In 2016 Architecture-Centric Virtual Integration (ACVI). IEEE, 12--18.
[11]
Thomas Degueule. 2016. Composition and Interoperability for External Domain-Specific Language Engineering. Ph.D. Dissertation. UNIVERSITÉ DE RENNES 1.
[12]
Thomas Degueule, Benoit Combemale, Arnaud Blouin, Olivier Barais, and JeanMarc 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.
[13]
Thomas Degueule, Benoit Combemale, and Jean-Marc Jézéquel. 2017. On language interfaces. In Present and ulterior software engineering. Springer, 65--75.
[14]
Adele Goldberg and David Robson. 1983. Smalltalk-80: the language and its implementation. Addison-Wesley Longman Publishing Co., Inc.
[15]
George T Heineman and William T Councill. 2001. Component-based software engineering. Putting the pieces together, addison-westley (2001), 5.
[16]
Katrin Hölldobler, Bernhard Rumpe, and Andreas Wortmann. 2018. Software language engineering in the large: towards composing and deriving languages. Computer Languages, Systems & Structures 54 (2018), 386--405.
[17]
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.
[18]
Holger Krahn, Bernhard Rumpe, and Steven Völkel. 2010. MontiCore: a framework for compositional development of domain specific languages. International journal on software tools for technology transfer 12, 5 (2010), 353--372.
[19]
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.
[20]
Max E Kramer, Erik Burger, and Michael Langhammer. 2013. View-Centric Engineering with Synchronized Heterogeneous Models. (2013).
[21]
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.
[22]
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.
[23]
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.
[24]
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.
[25]
TouchCORE website. 2019. TouchCORE v7.0.2. http://touchcore.cs.mcgill.ca/
[26]
Christian Wende, Nils Thieme, and Steffen Zschaler. 2009. A role-based approach towards modular language engineering. In International Conference on Software Language Engineering. Springer, 254--273.
[27]
Niklaus Wirth. 1977. Modula: A language for modular multiprogramming. Software: Practice and Experience 7, 1 (1977), 1--35.

Cited By

View all
  • (2022)Perspectives to promote modularity, reusability, and consistency in multi-language systemsInnovations in Systems and Software Engineering10.1007/s11334-021-00425-318:1(5-37)Online publication date: 17-Jan-2022

Index Terms

  1. Multi-language systems based on perspectives to promote modularity, reusability, and consistency

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    MODELS '20: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings
    October 2020
    713 pages
    ISBN:9781450381352
    DOI:10.1145/3417990
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    • IEEE CS

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 26 October 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. co-evolution
    2. consistency
    3. coordination
    4. language role
    5. multi-language
    6. multi-view modelling
    7. perspective
    8. reuse

    Qualifiers

    • Research-article

    Conference

    MODELS '20
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 144 of 506 submissions, 28%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)12
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 18 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Perspectives to promote modularity, reusability, and consistency in multi-language systemsInnovations in Systems and Software Engineering10.1007/s11334-021-00425-318:1(5-37)Online publication date: 17-Jan-2022

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media