A systematic analysis of textual variability modeling languages

Industrial variability models tend to grow in size and complexity due to ever-increasing functionality and complexity of software systems. Some authors report on variability models specifying several thousands of variabilities. However, traditional variability modeling approaches do not seem to scale adequately to cope with size and complexity of such models. Recently, textual variability modeling languages have been advocated as one scalable solution. In this paper, we provide a systematic analysis of the capabilities of current textual variability modeling languages, in particular regarding variability management in the large. Towards this aim, we define a classification schema consisting of five dimensions, classify ten different textual variability modeling languages using the classification schema and provide an analysis. In summary, some textual variability modeling languages go beyond textual representations of traditional variability modeling approaches and provide sophisticated modeling concepts and constraint languages. Three textual variability modeling approaches already support mechanisms for large-scale variability modeling such as model composition, modularization, or evolution support.

[1]  Mathieu Acher,et al.  FAMILIAR: A domain-specific language for large scale management of feature models , 2013, Sci. Comput. Program..

[2]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[3]  Gunter Saake,et al.  Multi-dimensional variability modeling , 2011, VaMoS.

[4]  Eelco Visser,et al.  Product Line Engineering Using Domain-Specific Languages , 2011, 2011 15th International Software Product Line Conference.

[5]  Lianping Chen,et al.  Variability management in software product lines: a systematic review , 2009, SPLC.

[6]  Krzysztof Czarnecki,et al.  A survey of variability modeling in industrial practice , 2013, VaMoS.

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

[8]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

[9]  Martin Törngren,et al.  The CVM Framework - A Prototype Tool for Compositional Variability Management , 2010, VaMoS.

[10]  Jacques Klein,et al.  A Metamodel-based Classification of Variability Modeling Approaches , 2011 .

[11]  Tijs van der Storm Variability and Component Composition , 2004, ICSR.

[12]  Dave Clarke,et al.  Variability Modelling in the ABS Language , 2010, FMCO.

[13]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[14]  Klaus Schmid,et al.  Variability Modeling for Distributed Development - A Comparison with Established Practice , 2010, SPLC.

[15]  Sebastian Günther,et al.  Software variability: the design space of configuration languages , 2012, VaMoS.

[16]  Danilo Beuche Modeling and building software product lines with pure::variants , 2011, SPLC '11.

[17]  Klaus Schmid Variability support for variability-rich software ecosystems , 2013, 2013 4th International Workshop on Product LinE Approaches in Software Engineering (PLEASE).

[18]  Krzysztof Czarnecki,et al.  Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled , 2010, SLE.

[19]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[20]  Marcilio Mendonça,et al.  Efficient Reasoning Techniques for Large Scale Feature Models , 2009 .

[21]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[22]  Klaus Schmid,et al.  A comparison of decision modeling approaches in product lines , 2011, VaMoS.

[23]  Lidia Fuentes,et al.  Language Support for Managing Variability in Architectural Models , 2008, SC@ETAPS.

[24]  Andreas Classen,et al.  Introducing TVL, a Text-based Feature Modelling Language , 2010, VaMoS' 2010.

[25]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[26]  Klaus Schmid,et al.  Formalizing distributed evolution of variability in information system ecosystems , 2012, VaMoS.

[27]  Alessandro Pasetti,et al.  XML-Based Feature Modelling , 2004, ICSR.

[28]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[29]  Daniel Jackson,et al.  Alcoa: the Alloy constraint analyzer , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[30]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[31]  Pierre-Yves Schobbens,et al.  What ' s in a Feature ? A Requirements Engineering Perspective , 2008 .

[32]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[33]  Klaus Schmid,et al.  Variability in Service-Oriented Systems: An Analysis of Existing Approaches , 2012, ICSOC.

[34]  Mathieu Acher,et al.  Composing Feature Models , 2009, SLE.

[35]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[36]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[37]  Sascha El-Sharkawy,et al.  Supporting heterogeneous compositional multi software product lines , 2011, SPLC '11.

[38]  Heiko Koziolek,et al.  CoCoME - The Common Component Modeling Example , 2007, CoCoME.

[39]  Klaus Schmid,et al.  A customizable approach to full lifecycle variability management , 2004, Sci. Comput. Program..

[40]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..