Abstract
Modelling is an essential activity in software engineering processes. It typically involves two meta-levels: one includes meta-models that describe modelling languages, and the other contains models built by instantiating those meta-models. Multi-level modelling generalizes this approach by allowing models to span an arbitrary number of meta-levels.
A scenario that profits from multi-level modelling is the definition of language families that become specialized by successive refinements at subsequent meta-levels, hence promoting language reuse. This enables an open set of variability options for the possible specializations of a given language. However, multi-level modelling lacks the ability to express closed variability regarding the supported language primitives and their realizations. This limits the reuse opportunities of a language family. To improve this situation, we propose a novel combination of product lines with multi-level modelling to cover both open and closed variability. Our proposal is backed by a formal theory that guarantees correctness, and is implemented atop the MetaDepth multi-level modelling tool.
Chapter PDF
Similar content being viewed by others
References
M. Acher, P. Collet, P. Lahire, and R. B. France. FAMILIAR: A domain-specific language for large scale management of feature models. Sci. Comput. Program., 78(6):657–681, 2013.
C. Atkinson. Meta-modeling for distributed object environments. In EDOC, pages 90–101. IEEE Computer Society, 1997.
C. Atkinson and R. Gerbig. Flexible deep modeling with melanee. In Modellierung 2016, 2.-4. März 2016, Karlsruhe - Workshopband, pages 117–122, 2016.
C. Atkinson and T. Kühne. The essence of multilevel metamodeling. In UML, volume 2185 of LNCS, pages 19–33. Springer, 2001.
C. Atkinson and T. Kühne. Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul., 12(4):290–321, 2002.
C. Atkinson and T. Kühne.Reducing accidental complexity in domain models. Software and Systems Modeling, 7(3):345–359, 2008.
D. S. Batory. Multilevel models in model-driven engineering, product lines, and metaprogramming. IBM Systems Journal, 45(3):527–540, 2006.
P. Borba, L. Teixeira, and R. Gheyi. A theory of software product line refinement. Theor. Comput. Sci., 455:2–30, 2012.
T. Clark, U. Frank, I. Reinhartz-Berger, and A. Sturm. A multi-level approach for supporting configurations: A new perspective on software product line engineering. In ER Forum Demo Track, volume 1979 of CEUR Workshop Proceedings, pages 156–164. CEUR-WS.org, 2017.
I. Córdoba-Sánchez and J. de Lara. Ann: A domain-specific language for the effective design and validation of java annotations. Computer Languages, Systems & Structures, 45:164–190, 2016.
K. Czarnecki, S. Helsen, and U. W. Eisenecker. Staged configuration through specialization and multilevel configuration of feature models. Software Process: Improvement and Practice, 10(2):143–169, 2005.
J. de Lara and E. Guerra. Deep meta-modelling with MetaDepth. In TOOLS, volume 6141 of LNCS, pages 1–20. Springer, 2010.
J. de Lara, E. Guerra, M. Chechik, and R. Salay. Model transformation product lines. In MoDELS, pages 67–77. ACM, 2018.
J. de Lara, E. Guerra, and J. Sánchez Cuadrado. When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol., 24(2):12:1–12:46, 2014.
J. de Lara, E. Guerra, and J. Sánchez Cuadrado. Model-driven engineering with domain-specific meta-modelling languages. Software and Systems Modeling, 14(1):429–459, 2015.
H. Ehrig, K. Ehrig, U. Prange, and G. Taentzer. Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer, 2006.
C. M. Fonseca, J. P. A. Almeida, G. Guizzardi, and V. A. de Carvalho. Multi-level conceptual modeling: From a formal theory to a well-founded language. In ER, volume 11157 of LNCS, pages 409–423. Springer, 2018.
U. Frank. Multilevel modeling - toward a new paradigm of conceptual modeling and information systems design.Business & Information Systems Engineering, 6(6):319–337,2014.
C. González-Pérez and B. Henderson-Sellers. A power type-based metamodelling framework. Software and Systems Modeling, 5(1):72–90, 2006.
E. Guerra, J. de Lara, M. Chechik, and R. Salay. Analysing meta-model product lines. In SLE, pages 160–173. ACM, 2018.
M. Igamberdiev, G. Grossmann, M. Selway, and M. Stumptner. An integrated multi-level modeling approach for industrial-scale data interoperability. Software and Systems Modeling, 17(1):269–294, 2018.
M. A. Jeusfeld and B. Neumayr. Deeptelos: Multi-level modeling with most general instances. In ER, volume 9974 of LNCS, pages 198–211, 2016.
P. Juodisius, A. Sarkar, R. R. Mukkamala, M. Antkiewicz, K. Czarnecki, and A. Wasowski. Clafer: Lightweight modeling of structure, behaviour, and variability. Programming Journal, 3(1):2, 2019.
K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson. Feature-oriented domain analysis (foda) feasibility study. Technical Report CMU/SEI-90-TR-021, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, 1990.
S. Kelly and J. Tolvanen. Domain-Specific Modeling - Enabling Full Code Generation. Wiley, 2008.
G. Kiczales and J. D. Rivieres. The Art of the Metaobject Protocol. MIT Press, Cambridge, MA, USA, 1991.
J. Kienzle, G. Mussbacher, P. Collet, and O. Alam. Delaying decisions in variable concern hierarchies. In GPCE, pages 93–103. ACM, 2016.
S. M. Lane. Categories for the Working Mathematician. Springer, 1971.
F. Macías, A. Rutle, V. Stolz, R. Rodríguez-Echeverría, and U. Wolter. An approach to flexible multilevel modelling. EMISA, 13:10:1–10:35, 2018.
R. C. Martin, D. Riehle, and F. Buschmann. Pattern Languages of Program Design 3. Addison-Wesley, 1997.
D. Nesic, M. Nyberg, and B. Gallina. Modeling product-line legacy assets using multi-level theory. In SPLC, pages 89–96. ACM, 2017.
L. Northrop and P. Clements. Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., 2002.
R. F. Paige, D. S. Kolovos, L. M. Rose, N. Drivalos, and F. A. C. Polack. The design of a conceptual framework and technical infrastructure for model management language engineering. In ICECCS, pages 162–171. IEEE Computer Society, 2009.
G. Perrouin, M. Amrani, M. Acher, B. Combemale, A. Legay, and P. Schobbens. Featured model types: Towards systematic reuse in modelling language engineering. In MiSE@ICSE, pages 1–7. ACM, 2016.
K. Pohl, G. Böckle, and F. J. v. d. Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag, Berlin, Heidelberg, 2005.
D. Rabiser, H. Prähofer, P. Grünbacher, M. Petruzelka, K. Eder, F. Angerer, M. Kromoser, and A. Grimmer. Multi-purpose, multi-level feature modeling of large-scale industrial software systems. Software and Systems Modeling, 17(3):913–938, 2018.
I. Reinhartz-Berger, A. Sturm, and T. Clark. Exploring multi-level modeling relations using variability mechanisms. In MULTI@MoDELS, volume 1505 of CEUR Workshop Proceedings, pages 23–32. CEUR-WS.org, 2015.
A. Rossini, J. de Lara, E. Guerra, A. Rutle, and U. Wolter. A formalisation of deep metamodelling. Formal Asp. Comput., 26(6):1115–1152, 2014.
R. Salay, M. Famelis, J. Rubin, A. D. Sandro, and M. Chechik. Lifting model transformations to product lines. In ICSE, pages 117–128. ACM, 2014.
J. Sánchez Cuadrado and J. de Lara. Open meta-modelling frameworks via meta-object protocols. Journal of Systems and Software, 145:1–24, 2018.
I. Schaefer. Variability modelling for model-driven development of software product lines. In Variability Modelling of Software-Intensive Systems (VaMoS), pages 85–92, 2010.
I. Schaefer, L. Bettini, V. Bono, F. Damiani, and N. Tanzarella. Delta-oriented programming of software product lines. In SPLC, volume 6287 of LNCS, pages 77–91. Springer, 2010.
D. C. Schmidt. Guest editor’s introduction: Model-driven engineering. Computer, 39(2):25–31, Feb. 2006.
Y. Smaragdakis and D. S. Batory. Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs. ACM Trans. Softw. Eng. Methodol., 11(2):215–255, 2002.
G. Taentzer, R. Salay, D. Strüber, and M. Chechik. Transformations of software product lines: A generalizing framework based on category theory. In MODELS, pages 101–111. IEEE Computer Society, 2017.
UML 2.5.1 OMG specification. http://www.omg.org/spec/UML/2.5.1/, 2017.
J. White, J. H. Hill, J. Gray, S. Tambe, A. S. Gokhale, and D. C. Schmidt. Improving domain-specific language reuse with software product line techniques. IEEE Software, 26(4):47–53, 2009.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2020 The Author(s)
About this paper
Cite this paper
de Lara, J., Guerra, E. (2020). Multi-level Model Product Lines. In: Wehrheim, H., Cabot, J. (eds) Fundamental Approaches to Software Engineering. FASE 2020. Lecture Notes in Computer Science(), vol 12076. Springer, Cham. https://doi.org/10.1007/978-3-030-45234-6_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-45234-6_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-45233-9
Online ISBN: 978-3-030-45234-6
eBook Packages: Computer ScienceComputer Science (R0)