How Domain-Specific Modeling Languages Address Variability in Product Line Development: Investigation of 23 Cases

Domain-Specific Modeling raises the level of abstraction beyond programming by specifying the solution directly with domain concepts. Within product lines domain-specific approaches are applied to specify variability and then generate final products together with commonality. Such automated product derivation is possible because both the modeling language and generator are made for a particular product line --- often inside a single company. In this paper we examine which kinds of reuse and product line approaches are applied in industry with domain-specific modeling. Our work is based on empirical analysis of 23 cases and the languages and models created there. The analysis reveals a wide variety and some commonalities in the size of languages and in the ways they apply reuse and product line approaches.

[1]  Olga De Troyer,et al.  Feature Assembly: A New Feature Modeling Technique , 2010, ER.

[2]  Steven Kelly,et al.  Worst Practices for Domain-Specific Modeling , 2009, IEEE Software.

[3]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[4]  Andrea Polini,et al.  Extending Feature Models to Express Variability in Business Process Models , 2015, CAiSE Workshops.

[5]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[6]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[7]  Juha-Pekka Tolvanen,et al.  Effort Used to Create Domain-Specific Modeling Languages , 2018, MoDELS.

[8]  Krzysztof Czarnecki,et al.  Cool features and tough decisions: a comparison of variability modeling approaches , 2012, VaMoS.

[9]  Christopher Preschern,et al.  Evaluation of Domain Modeling Decisions for Two Identical Domain Specific Languages , 2014 .

[10]  Eko K. Budiardjo,et al.  Feature Modeling and Variability Modeling Syntactic Notation Comparison and Mapping , 2014 .

[11]  Walter Rudametkin,et al.  Extending feature models with relative cardinalities , 2016, SPLC.

[12]  Martin Gogolla Unified Modeling Language , 2009, Encyclopedia of Database Systems.

[13]  Juha-Pekka Tolvanen,et al.  Model-Driven Development challenges and solutions: Experiences with domain-specific modelling in industry , 2016, 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[14]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[15]  Juha-Pekka Tolvanen,et al.  Defining Domain-Specific Modeling Languages to Automate Product Derivation: Collected Experiences , 2005, SPLC.

[16]  Diomidis Spinellis,et al.  Guest Editors' Introduction: What Kinds of Nails Need a Domain-Specific Hammer? , 2009, IEEE Software.

[17]  Christopher Preschern,et al.  Domain-Specific Language Architecture for Automation Systems : An Industrial Case Study , 2012 .

[18]  Juha-Pekka Tolvanen,et al.  Collaborative creation and versioning of modeling languages with MetaEdit+ , 2018, MoDELS Companion.

[19]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[20]  David M. Weiss,et al.  Software Product Line Engineering , 2005, SEKE.

[21]  Pierre Boulet,et al.  Evaluation of Modeling Tools Adaptation , 2012 .

[22]  Mathieu Acher,et al.  Feature Model Differences , 2012, CAiSE.

[23]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .