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

A compositional framework for systematic modeling language reuse

Published: 16 October 2020 Publication History

Abstract

Many engineering domains started using generic modeling languages, such as SysML, to describe or prescribe the systems under development. This raises a gap between the generic modeling languages and the domains of experience of the engineers using these. Engineering truly domain-specific languages (DSLs) for experts of these domains still is too challenging for their wide-spread adoption. One major obstacle, the inability to reuse multi-dimensional (encapsulating constituents of syntax and semantics) language components in a black-box fashion, prevents the effective engineering of novel DSLs. To facilitate engineering DSLs, we devised a concept of 3D components for textual, external, and translational DSLs that relies on systematic reuse through systematic closed and open variability in which DSL syntaxes can be embedded, well-formedness rules joined, and code generators integrated in a black-box fashion. We present this concept, a method for its systematic application, an integrated collection of modeling languages supporting systematic language reuse, and an extensible framework that leverages these languages to derive novel DSLs from language product lines. These can greatly mitigate many of the challenges in DSL reuse and, hence, can advance the engineering of truly domain-specific modeling languages.

References

[1]
Don Batory. 2005. Feature Models, Grammars, and Propositional Formulas. In International Conference on Software Product Lines. Springer, 7--20.
[2]
Olaf Berndt, Uwe Freiherr von Lukas, and Arjan Kuijper. 2015. Functional Modelling And Simulation Of Overall System Ship-Virtual Methods For Engineering And Commissioning In Shipbuilding. In ECMS. 347--353.
[3]
Lorenzo Bettini. 2016. Implementing domain-specific languages with Xtext and Xtend. Packt Publishing Ltd.
[4]
Danilo Beuche, Holger Papajewski, and Wolfgang Schröder-Preikschat. 2004. Variability management with feature models. Science of Computer Programming 53, 3 (2004), 333--352.
[5]
Jonathan Bohren and Steve Cousins. 2010. The SMACH High-Level Executive. IEEE Robotics & Automation Magazine 17, 4 (2010), 18--20.
[6]
Arvid Butting, Robert Eikermann, Oliver Kautz, Bernhard Rumpe, and Andreas Wortmann. 2018. Controlled and Extensible Variability of Concrete and Abstract Syntax with Independent Language Features. In Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems (VAMOS'18). ACM, 75--82.
[7]
Arvid Butting, Robert Eikermann, Oliver Kautz, Bernhard Rumpe, and Andreas Wortmann. 2018. Modeling Language Variability with Reusable Language Components. In International Conference on Systems and Software Product Line (SPLC'18). ACM.
[8]
Arvid Butting, Robert Eikermann, Oliver Kautz, Bernhard Rumpe, and Andreas Wortmann. 2019. Systematic Composition of Independent Language Features. Journal of Systems and Software 152 (2019), 50--69.
[9]
Arvid Butting, Bernhard Rumpe, Christoph Schulze, Ulrike Thomas, and Andreas Wortmann. 2015. Modeling Reusable, Platform-Independent Robot Assembly Processes. In International Workshop on Domain-Specific Languages and Models for Robotic Systems (DSLRob 2015).
[10]
Walter Cazzola and Edoardo Vacchi. 2013. Neverlang 2-Componentised Language Development for the JVM. In International Conference on Software Composition. Springer, 17--32.
[11]
María Victoria Cengarle, Hans Grönniger, and Bernhard Rumpe. 2009. Variability within Modeling Language Definitions. In Conference on Model Driven Engineering Languages and Systems (MODELS'09) (LNCS 5795). Springer, 670--684.
[12]
Tony Clark, Mark G. J. van den Brand, Benoit Combemale, and Bernhard Rumpe. 2015. Conceptual Model of the Globalization for Domain-Specific Languages. In Globalizing Domain-Specific Languages. Springer, 7--20.
[13]
Benoit Combemale, Jörg Kienzle, Gunter Mussbacher, Olivier Barais, Erwan Bousse, Walter Cazzola, Philippe Collet, Thomas Degueule, Robert Heinrich, Jean-Marc Jézéquel, Manuel Leduc, Tanja Mayerhofer, Sébastien Mosser, Matthias Schöttle, Misha Strittmatter, and Andreas Wortmann. 2018. Concern-Oriented Language Development (COLD): Fostering Reuse in Language Engineering. Computer Languages, Systems & Structures 54 (2018), 139 - 155. http://www.se-rwth.de/publications/Concern-Oriented-Language-Development-COLD-Fostering-Reuse-in-Language-Engineering.pdf
[14]
Krzysztof Czarnecki and Ulrich W Eisenecker. 2000. Generative Programming. Edited by G. Goos, J. Hartmanis, and J. van Leeuwen (2000), 15.
[15]
Manuela Dalibor, Nico Jansen, Johannes Kästle, Bernhard Rumpe, David Schmalzing, Louis Wachtmeister, and Andreas Wortmann. 2019. Mind the Gap: Lessons Learned from Translating Grammars Between MontiCore and Xtext. In International Workshop on Domain-Specific Modeling (DSM'19), Jeff Gray, Matti Rossi, Jonathan Sprinkle, and Juha-Pekka Tolvanen (Eds.). ACM, 40--49.
[16]
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 8th International Conference on Software Language Engineering (SLE). Pittsburgh, United States, 25--36.
[17]
Jiwang Du, Qichang He, and Xiumin Fan. 2013. Automating generation of the assembly line models in aircraft manufacturing simulation. In 2013 IEEE International Symposium on Assembly and Manufacturing (ISAM). IEEE, 155--159.
[18]
Moritz Eysholdt and Heiko Behrens. 2010. Xtext - Implement your Language Faster than the Quick and Dirty way. In Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion. ACM, 307--309.
[19]
Stefan Feldmann, Sebastian JI Herzig, Konstantin Kernschmidt, Thomas Wolfenstetter, Daniel Kammerl, Ahsan Qamar, Udo Lindemann, Helmut Krcmar, Christiaan JJ Paredis, and Birgit Vogel-Heuser. 2015. Towards effective management of inconsistencies in model-based engineering of automated production systems. IFAC-PapersOnLine 48, 3 (2015), 916--923.
[20]
Charles Forsythe. 2013. Instant FreeMarker Starter. Packt Publishing.
[21]
Ricardo Bedin Franca, Jean-Paul Bodeveix, Mamoun Filali, Jean-Francois Rolland, David Chemouil, and Dave Thomas. 2007. The AADL behaviour annex-experiments and roadmap. In null. IEEE, 377--382.
[22]
Sanford Friedenthal, Alan Moore, and Rick Steiner. 2014. A practical guide to SysML: the systems modeling language. Morgan Kaufmann.
[23]
Nils Glombitza, Dennis Pfisterer, and Stefan Fischer. 2010. Using state machines for a model driven development of web service-based sensor network applications. In Proceedings of the 2010 ICSE Workshop on Software Engineering for Sensor Network Applications. 2--7.
[24]
Timo Greifenberg, Katrin Hölldobler, Carsten Kolassa, Markus Look, Pedram Mir Seyed Nazari, Klaus Müller, Antonio Navarro Perez, Dimitri Plotnikov, Dirk Reiß, Alexander Roth, Bernhard Rumpe, Martin Schindler, and Andreas Wortmann. 2015. A Comparison of Mechanisms for Integrating Handwritten and Generated Code for Object-Oriented Programming Languages. In Model-Driven Engineering and Software Development Conference (MODELSWARD'15). SciTePress, 74--85.
[25]
Object Management Group. 2010. OMG Unified Modeling Language (OMG UML), Infrastructure Version 2.3 (10-05-03).
[26]
David Harel and Bernhard Rumpe. 2004. Meaningful Modeling: What's the Semantics of "Semantics"? IEEE Computer 37, 10 (October 2004), 64--72.
[27]
Florian Heidenreich, Jendrik Johannes, Sven Karol, Mirko Seifert, Michael Thiele, Christian Wende, and Claas Wilke. 2010. Integrating OCL and textual modelling languages. In International Conference on Model Driven Engineering Languages and Systems. Springer, 349--363.
[28]
Katrin Hölldobler and Bernhard Rumpe. 2017. MontiCore 5 Language Workbench Edition 2017. Shaker Verlag. http://www.se-rwth.de/phdtheses/MontiCore-5-Language-Workbench-Edition-2017.pdf
[29]
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.
[30]
Botond Kádár, Walter Terkaj, and Marco Sacco. 2013. Semantic Virtual Factory supporting interoperable modelling and evaluation of production systems. CIRP Annals 62, 1 (2013), 443--446.
[31]
Jörg Kienzle, Gunter Mussbacher, Omar Alam, Matthias Schöttle, Nicolas Belloir, Philippe Collet, Benoit Combemale, Julien Deantoni, Jacques Klein, and Bernhard Rumpe. 2016. VCU: the three dimensions of reuse. In International Conference on Software Reuse. Springer, 122--137.
[32]
Anneke Kleppe. 2008. Software Language Engineering: Creating Domain-Specific Languages Using Metamodels. Addison-Wesley.
[33]
Thomas Kühn, Walter Cazzola, and Diego Mathias Olivares. 2015. Choosy and Picky: Configuration of Language Product Lines. In Proceedings of the 19th International Conference on Software Product Line. ACM, 71--80.
[34]
Ivan Kurtev, Jean Bézivin, and Mehmet Aksit. 2002. Technological Spaces: an Initial Appraisal. CoopIS, DOA 2002 (2002).
[35]
Aung Sithu Kyaw. 2013. Unity 4. x Game AI Programming. Packt Publishing Ltd.
[36]
Jörg Liebig, Rolf Daniel, and Sven Apel. 2013. Feature-Oriented Language Families: A Case Study. In Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems. ACM, 11.
[37]
Michael Lütjen and Daniel Rippel. 2015. GRAMOSA framework for graphical modelling and simulation-based analysis of complex production processes. The International Journal of Advanced Manufacturing Technology 81, 1--4 (2015), 171--181.
[38]
David F. Méndez Acuña. 2016. Leveraging Software Product Lines Engineering in the Construction of Domain Specific Languages. Ph.D. Dissertation. INRIA Rennes.
[39]
Jan Oliver Ringert, Bernhard Rumpe, and Andreas Wortmann. 2014. Architecture and Behavior Modeling of Cyber-Physical Systems with MontiArcAutomaton. Shaker Verlag.
[40]
Chantal Steimer, Jan Fischer, and Jan C Aurich. 2017. Model-based design process for the early phases of manufacturing system planning using SysML. Procedia CIRP 60 (2017), 163--168.
[41]
Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework (2nd Edition). Addison-Wesley Professional.
[42]
Thomas Thum, Christian Kastner, Sebastian Erdweg, and Norbert Siegmund. 2011. Abstract features in feature modeling. In 2011 15th International Software Product Line Conference. IEEE, 191--200.
[43]
Juha-Pekka Tolvanen and Steven Kelly. 2009. MetaEdit+: Defining and Using Integrated Domain-Specific Modeling Languages. In Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications. ACM, 819--820.
[44]
Edoardo Vacchi and Walter Cazzola. 2015. Neverlang: A framework for feature-oriented language development. Computer Languages, Systems & Structures 43 (2015), 1--40.
[45]
Markus Völter and Konstantin Solomatov. 2010. Language modularization and composition with projectional language workbenches illustrated with MPS. Software Language Engineering, SLE 16 (2010), 3.
[46]
Markus Völter and Eelco Visser. 2010. Language Extension and Composition with Language Workbenches. In Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion. ACM, 301--304.
[47]
Guido H Wachsmuth, Gabriël DP Konat, and Eelco Visser. 2014. Language Design with the Spoofax Language Workbench. IEEE software 31, 5 (2014), 35--43.
[48]
Jules White, James H Hill, Jeff Gray, Sumant Tambe, Aniruddha S Gokhale, and Douglas C Schmidt. 2009. Improving Domain-Specific Language Reuse with Software Product Line Techniques. IEEE software 26, 4 (2009), 47--53.
[49]
Andreas Wortmann, Olivier Barais, Benoit Combemale, and Manuel Wimmer. 2019. Modeling Languages in Industry 4.0: an Extended Systematic Mapping Study. Software and Systems Modeling 19, 1 (January 2019), 67--94. http://www.se-rwth.de/publications/Modeling-languages-in-Industry-4-0-an-extended-systematic-mapping-study.pdf
[50]
Steffen Zschaler, Dimitrios S Kolovos, Nikolaos Drivalos, Richard F Paige, and Awais Rashid. 2009. Domain-specific metamodelling languages for software language engineering. In International Conference on Software Language Engineering. Springer, 334--353.

Cited By

View all
  • (2024) i C o L a +Journal of Systems and Software10.1016/j.jss.2024.111979211:COnline publication date: 2-Jul-2024
  • (2023)Seamless Code Generator Synchronization in the Composition of Heterogeneous Modeling LanguagesProceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3623476.3623530(163-168)Online publication date: 23-Oct-2023
  • (2023)A Low-Code Platform for Systematic Component-Oriented Language CompositionProceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3623476.3623516(208-213)Online publication date: 23-Oct-2023
  • Show More Cited By

Index Terms

  1. A compositional framework for systematic modeling language reuse

    Recommendations

    Comments

    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
    October 2020
    406 pages
    ISBN:9781450370196
    DOI:10.1145/3365438
    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 the author(s) 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: 16 October 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. DSL
    2. modeling language
    3. reuse
    4. variability

    Qualifiers

    • Research-article

    Conference

    MODELS '20
    Sponsor:

    Acceptance Rates

    MODELS '20 Paper Acceptance Rate 35 of 127 submissions, 28%;
    Overall Acceptance Rate 144 of 506 submissions, 28%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)42
    • Downloads (Last 6 weeks)7
    Reflects downloads up to 10 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024) i C o L a +Journal of Systems and Software10.1016/j.jss.2024.111979211:COnline publication date: 2-Jul-2024
    • (2023)Seamless Code Generator Synchronization in the Composition of Heterogeneous Modeling LanguagesProceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3623476.3623530(163-168)Online publication date: 23-Oct-2023
    • (2023)A Low-Code Platform for Systematic Component-Oriented Language CompositionProceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3623476.3623516(208-213)Online publication date: 23-Oct-2023
    • (2022)A Computer Science Perspective on Digital Transformation in ProductionACM Transactions on Internet of Things10.1145/35022653:2(1-32)Online publication date: 15-Feb-2022

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media