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

Modular language product lines: a graph transformation approach

Published: 24 October 2022 Publication History

Abstract

Modelling languages are intensively used in paradigms like model-driven engineering to automate all tasks of the development process. These languages may have variants, in which case the need arises to deal with language families rather than with individual languages. However, specifying the syntax and semantics of each language variant separately is costly, hinders reuse across variants, and may yield inconsistent semantics between variants.
To attack this problem, we propose a novel, modular way to describe product lines of modelling languages. Our approach is compositional, enabling the incremental definition of language families by means of modules comprising meta-model fragments, graph transformation rules, and rule extensions. Language variants are configured by selecting the desired modules, which entails the composition of a language meta-model and a set of rules defining its semantics. This paper describes a theory able to check consistent semantics among all languages within the family, an implementation as an Eclipse plugin, and an evaluation reporting drastic specification size reduction w.r.t. an enumerative approach.

References

[1]
Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause, and Gabriele Taentzer. 2010. Henshin: Advanced concepts and tools for in-place EMF model transformations. In MoDELS (LNCS, Vol. 6394). Springer, 121--135.
[2]
Paolo Bottoni, Esther Guerra, and Juan de Lara. 2008. Enforced generative patterns for the specification of the syntax and semantics of visual languages. Journal of Visual Languages & Computing 19, 4 (2008), 429--455.
[3]
Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2017. Model-Driven Software Engineering in Practice, Second Edition. Morgan & Claypool Publishers.
[4]
Arvid Butting, Jerome Pfeiffer, Bernhard Rumpe, and Andreas Wortmann. 2020. A compositional framework for systematic modeling language reuse. In MODELS. ACM, 35--46.
[5]
Capone-pl. 2022. https://capone-pl.github.io/.
[6]
Capone-pl evaluation data. 2022. https://capone-pl.github.io/examples.html.
[7]
Loris D'Antoni and Margus Veanes. 2021. Automata modulo theories. Commun. ACM 64, 5 (2021), 86--95.
[8]
Juan de Lara and Esther Guerra. 2021. Language family engineering with product lines of multi-level models. Formal Aspects of Computing 33, 6 (2021), 1173--1208.
[9]
Juan de Lara, Esther Guerra, Marsha Chechik, and Rick Salay. 2018. Model transformation product lines. In MoDELS. ACM, 67--77.
[10]
Thomas Degueule, Benoît Combemale, Arnaud Blouin, Olivier Barais, and Jean-Marc Jézéquel. 2015. Melange: A meta-language for modular and reusable development of DSLs. In SLE. ACM, 25--36.
[11]
Francisco Durán, Antonio Moreno-Delgado, Fernando Orejas, and Steffen Zschaler. 2017. Amalgamation of domain specific languages with behaviour. J. Log. Algebraic Methods Program. 86, 1 (2017), 208--235.
[12]
Francisco Durán, Steffen Zschaler, and Javier Troya. 2012. On the Reusable Specification of Non-functional Properties in DSLs. In Software Language Engineering, 5th International Conference, SLE (Lecture Notes in Computer Science, Vol. 7745). Springer, 332--351.
[13]
Eclipse. 2022. https://www.eclipse.org/.
[14]
Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. 2006. Fundamentals of Algebraic Graph Transformation. Springer.
[15]
Luca Favalli, Thomas Kühn, and Walter Cazzola. 2020. Neverlang and FeatureIDE just married: Integrated language product line development environment. In SPLC. ACM, 1--11.
[16]
Esther Guerra, Juan de Lara, Marsha Chechik, and Rick Salay. 2022. Property satisfiability analysis for product lines of modelling languages. IEEE Trans. Softw. Eng. 48, 2 (2022), 397--416.
[17]
Jean-Marc Jézéquel, Benoît Combemale, Olivier Barais, Martin Monperrus, and François Fouquet. 2015. Mashup of metalanguages and its implementation in the Kermeta language workbench. Softw. Syst. Model. 14, 2 (2015), 905--920.
[18]
Stefan Jurack and Gabriele Taentzer. 2010. A component concept for typed graphs with inheritance and containment structures. In ICGT (LNCS, Vol. 6372). Springer, 187--202.
[19]
Kyo Kang, Sholom Cohen, James Hess, William Novak, and A. Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-021. Carnegie Mellon Universit.
[20]
Nadine Kashmar, Mehdi Adda, and Mirna Atieh. 2020. From access control models to access control metamodels: A survey. In FICC (LNNS, Vol. 70). Springer, 892--911.
[21]
Steven Kelly and Juha-Pekka Tolvanen. 2008. Domain-Specific Modeling - Enabling Full Code Generation. Wiley.
[22]
Jörg Kienzle, Wisam Al Abed, Franck Fleurey, Jean-Marc Jézéquel, and Jacques Klein. 2010. Aspect-Oriented Design with Reusable Aspect Models. Springer Berlin Heidelberg, Berlin, Heidelberg, 272--320.
[23]
Jörg Kienzle, Gunter Mussbacher, Philippe Collet, and Omar Alam. 2016. Delaying decisions in variable concern hierarchies. In GPCE. ACM, 93--103.
[24]
Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. 2006. The Epsilon Object Language (EOL). In ECMDA-FA (LNCS, Vol. 4066). Springer, 128--142.
[25]
Leen Lambers, Daniel Strüber, Gabriele Taentzer, Kristopher Born, and Jevgenij Huebert. 2018. Multi-granular conflict and dependency analysis in software engineering based on graph transformation. In Proc. ICSE. ACM, 716--727.
[26]
Saunders Mac Lane. 1971. Categories for the Working Mathematician. Springer.
[27]
Manuel Leduc, Thomas Degueule, Benoît Combemale, Tijs van der Storm, and Olivier Barais. 2017. Revisiting visitors for modular extension of executable DSMLs. In MODELS. IEEE Computer Society, 112--122.
[28]
Roberto E. Lopez-Herrejon and Don Batory. 2001. A Standard Problem for Evaluating Product-Line Methodologies. In GCBSE, Jan Bosch (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 10--24.
[29]
Rodrigo Machado, Leila Ribeiro, and Reiko Heckel. 2015. Rule-based transformation of graph rewriting rules: Towards higher-order graph grammars. Theor. Comp. Sci. 594 (2015), 1--23.
[30]
Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, and Antony Tang. 2013. What industry needs from architectural languages: A survey. IEEE Trans. Soft. Eng. 39, 6 (2013), 869--891.
[31]
Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer.
[32]
David Méndez-Acuña, José Angel Galindo, Benoît Combemale, Arnaud Blouin, and Benoit Baudry. 2017. Reverse engineering language product lines from existing DSL variants. J. Syst. Softw. 133 (2017), 145--158.
[33]
David Méndez-Acuña, José Angel Galindo, Thomas Degueule, Benoît Combemale, and Benoit Baudry. 2016. Leveraging software product lines engineering in the development of external DSLs: A systematic literature review. Comput. Lang. Syst. Struct. 46 (2016), 206--235.
[34]
T. Murata. 1989. Petri Nets: Properties, Analysis and Applications. Proc. IEEE 77, 4 (1989), 541--580.
[35]
L. Northrop and P. Clements. 2002. Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[36]
OSGi working group. 2022. OSGi: The dynamic module system for Java. https://www.osgi.org/.
[37]
Francesco Parisi-Presicce. 1994. Transformations of graph grammars. In TAGT (LNCS, Vol. 1073). Springer, 428--442.
[38]
Christopher Pietsch, Udo Kelter, Timo Kehrer, and Christoph Seidl. 2019. Formal foundations for analyzing and refactoring delta-oriented model-based software product lines. In Proc. of the 23rd International Systems and Software Product Line Conference, SPLC. ACM, 30:1--30:11.
[39]
Christopher Pietsch, Dennis Reuling, Udo Kelter, and Timo Kehrer. 2017. A tool environment for quality assurance of delta-oriented model-based SPLs. In Proc. 11tt International Workshop on Variability Modelling of Software-intensive Systems, VaMoS, Maurice H. ter Beek, Norbert Siegmund, and Ina Schaefer (Eds.). ACM, 84--91.
[40]
Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag, Berlin, Heidelberg.
[41]
Ina Schaefer, Lorenzo Bettini, Viviana Bono, Ferruccio Damiani, and Nico Tanzarella. 2010. Delta-oriented programming of software product lines. In SPLC (LNCS, Vol. 6287). Springer, 77--91.
[42]
Pierre-Yves Schobbens, Patrick Heymans, Jean-Christophe Trigaux, and Yves Bontemps. 2007. Generic semantics of feature diagrams. Comput. Networks 51, 2 (2007), 456--479.
[43]
Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework, 2nd Edition. Addison-Wesley Professional.
[44]
Daniel Strüber, Julia Rubin, Thorsten Arendt, Marsha Chechik, Gabriele Taentzer, and Jennifer Plöger. 2018. Variability-based model transformation: Formal foundation and application. Formal Asp. Comput. 30, 1 (2018), 133--162.
[45]
Gabriele Taentzer, Rick Salay, Daniel Strüber, and Marsha Chechik. 2017. Transformations of software product lines: A generalizing framework based on category theory. In MoDELS. IEEE, 101--111.
[46]
Massimo Tisi, Frédéric Jouault, Piero Fraternali, Stefano Ceri, and Jean Bézivin. 2009. On the use of higher-order model transformations. In ECMDA-FA (LNCS, Vol. 5562). Springer, 18--33.
[47]
Christian Wende, Nils Thieme, and Steffen Zschaler. 2009. A Role-Based Approach towards Modular Language Engineering. In Software Language Engineering, Second International Conference, SLE (LNCS, Vol. 5969). Springer, 254--273.
[48]
Manuel Wimmer, Gerti Kappel, Angelika Kusel, Werner Retschitzegger, Johannes Schönböck, Wieland Schwinger, Dimitris S. Kolovos, Richard F. Paige, Marius Lauder, Andy Schürr, and Dennis Wagelaar. 2012. Surveying Rule Inheritance in Model-to-Model Transformation Languages. J. Object Technol. 11, 2 (2012), 3:1--46.
[49]
Xtext. 2022. https://www.eclipse.org/Xtext/.
[50]
Steffen Zschaler and Francisco Durán. 2021. GTSMorpher: Safely Composing Behavioural Analyses Using Structured Operational Semantics. Springer International Publishing, Cham, 189--215.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems
October 2022
412 pages
ISBN:9781450394666
DOI:10.1145/3550355
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

  • Univ. of Montreal: University of Montreal
  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 October 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. graph transformation
  2. model-driven engineering
  3. product lines
  4. software language engineering

Qualifiers

  • Research-article

Funding Sources

  • R&D programme of Madrid
  • Spanish Ministry of Science
  • Sapienza Visitor Programme
  • Department of Computer Science at Sapienza

Conference

MODELS '22
Sponsor:

Acceptance Rates

MODELS '22 Paper Acceptance Rate 35 of 125 submissions, 28%;
Overall Acceptance Rate 144 of 506 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)45
  • Downloads (Last 6 weeks)4
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Adaptive modelling languages: Abstract syntax and model migrationACM Transactions on Software Engineering and Methodology10.1145/3702975Online publication date: 2-Nov-2024
  • (2024) i C o L a +Journal of Systems and Software10.1016/j.jss.2024.111979211:COnline publication date: 2-Jul-2024
  • (2024)Modular language product lines: concept, tool and analysisSoftware and Systems Modeling10.1007/s10270-024-01179-9Online publication date: 28-May-2024
  • (2023)Systematic Component-Oriented Language Reuse2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00043(166-171)Online publication date: 1-Oct-2023

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