Cool features and tough decisions: a comparison of variability modeling approaches

Variability modeling is essential for defining and managing the commonalities and variabilities in software product lines. Numerous variability modeling approaches exist today to support domain and application engineering activities. Most are based on feature modeling (FM) or decision modeling (DM), but so far no systematic comparison exists between these two classes of approaches. Over the last two decades many new features have been added to both FM and DM and it is tough to decide which approach to use for what purpose. This paper clarifies the relation between FM and DM. We aim to systematize the research field of variability modeling and to explore potential synergies. We compare multiple aspects of FM and DM ranging from historical origins and rationale, through syntactic and semantic richness, to tool support, identifying commonalities and differences. We hope that this effort will improve the understanding of the range of approaches to variability modeling by discussing the possible variations. This will provide insights to users considering adopting variability modeling in practice and to designers of new languages, such as the new OMG Common Variability Language.

[1]  Don S. Batory,et al.  Feature-oriented programming and the AHEAD tool suite , 2004, Proceedings. 26th International Conference on Software Engineering.

[2]  Sven Apel,et al.  FEATUREHOUSE: Language-independent, automated software composition , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[3]  Paul Grünbacher,et al.  Structuring the modeling space and supporting evolution in software product line engineering , 2010, J. Syst. Softw..

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

[5]  Kim Lauenroth,et al.  Why is it not Sufficient to Model Requirements Variability with Feature Models? 1 , 2004 .

[6]  Antonio Ruiz Cortés,et al.  Automated analysis of feature models: challenges ahead , 2006, CACM.

[7]  Haiyan Zhao,et al.  An approach to constructing feature models based on requirements clustering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[8]  Pierre-Yves Schobbens,et al.  Evaluating formal properties of feature diagram languages , 2008, IET Softw..

[9]  Bernhard Rumpe,et al.  Semantically configurable consistency analysis for class and object diagrams , 2011, MODELS'11.

[10]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[11]  Mikolás Janota,et al.  Formal Approach to Integrating Feature and Architecture Models , 2008, FASE.

[12]  Patrick Heymans,et al.  Separation of concerns in feature diagram languages: A systematic survey , 2013, CSUR.

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

[14]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

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

[16]  Wolfgang Schröder-Preikschat,et al.  Feature consistency in compile-time-configurable system software: facing the linux 10,000 feature problem , 2011, EuroSys '11.

[17]  Benoît Langlois,et al.  Model-driven Architecture inSTrumentation, Enhancement and Refinement , 2022 .

[18]  M. D. Lubars Wide-spectrum support for software reusability , 1988 .

[19]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

[20]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.

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

[22]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[23]  Lianping Chen,et al.  A systematic review of evaluation of variability management approaches in software product lines , 2011, Inf. Softw. Technol..

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

[25]  Olaf Spinczyk,et al.  Challenges in Software Product Line Composition , 2009, 2009 42nd Hawaii International Conference on System Sciences.

[26]  Norbert Seyff,et al.  Goal and variability modeling for service-oriented system: Integrating i* with decision models , 2007 .

[27]  Iris Groher,et al.  Aspect-Oriented Model-Driven Software Product Line Engineering , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[28]  Krzysztof Czarnecki,et al.  Generative Programming for Embedded Software: An Industrial Experience Report , 2002, GPCE.

[29]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[30]  Klaus Schmid,et al.  From Static to Dynamic Software Product Lines , 2008, SPLC.

[31]  Wolfgang Schröder-Preikschat,et al.  The Linux Kernel Configurator as a Feature Modeling Tool , 2008, SPLC.

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

[33]  David M. Weiss,et al.  Decision-Model-Based Code Generation for SPLE , 2008, 2008 12th International Software Product Line Conference.

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

[35]  Andreas Classen,et al.  A Preliminary Review on the Application of Feature Diagrams in Practice , 2010, VaMoS.

[36]  Paul Grünbacher,et al.  The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study , 2011, Automated Software Engineering.

[37]  Christian Wende,et al.  FeatureMapper: mapping features to models , 2008, ICSE Companion '08.

[38]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[39]  Krzysztof Czarnecki,et al.  Variability modeling in the real: a perspective from the operating systems domain , 2010, ASE '10.

[40]  Donald D. Cowan,et al.  Decision-making coordination and efficient reasoning techniques for feature-based configuration , 2010, Sci. Comput. Program..

[41]  André van der Hoek,et al.  Design-time product line architectures for any-time variability , 2004, Sci. Comput. Program..

[42]  Krzysztof Czarnecki,et al.  Generative Programming: Methods, Techniques, and Applications , 2002, ICSR.

[43]  Don S. Batory,et al.  GENESIS: An Extensible Database Management System , 1988, IEEE Trans. Software Eng..

[44]  Paul Grünbacher,et al.  Supporting Product Derivation by Adapting and Augmenting Variability Models , 2007, 11th International Software Product Line Conference (SPLC 2007).

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

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

[47]  E. Visser,et al.  Capturing Timeline Variability with Transparent Configuration Environments , 2003 .

[48]  Krzysztof Czarnecki,et al.  Verifying feature-based model templates against well-formedness OCL constraints , 2006, GPCE '06.

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

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

[51]  Tomi Männistö,et al.  A unified conceptual foundation for feature modelling , 2006, 10th International Software Product Line Conference (SPLC'06).

[52]  Ted J. Biggerstaff,et al.  Design recovery for maintenance and reuse , 1989, Computer.

[53]  Andreas Classen,et al.  Formal modelling of feature configuration workflows , 2009, SPLC.

[54]  Paul Grünbacher,et al.  Three-Level Customization of Software Products Using a Product Line Approach , 2009, 2009 42nd Hawaii International Conference on System Sciences.

[55]  Matthias Weber,et al.  Managing Highly Complex Product Families with Multi-Level Feature Trees , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[56]  Christian Kästner CIDE: Decomposing Legacy Applications into Features , 2007, SPLC.

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

[58]  Ilka Philippow,et al.  EXTENDING FEATURE DIAGRAMS WITH UML MULTIPLICITIES , 2002 .

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

[60]  Marco Sinnema,et al.  Classifying variability modeling techniques , 2007, Inf. Softw. Technol..

[61]  Sven Apel,et al.  Type safety for feature-oriented product lines , 2010, Automated Software Engineering.

[62]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[63]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[64]  David Sellier,et al.  Decision Model and Flexible Component Definition Based on XML Technology , 2003, PFE.

[65]  Martin Glinz,et al.  Supporting Stepwise, Incremental Product Derivation in Product Line Requirements Engineering , 2010, VaMoS.

[66]  Hassan Gomaa,et al.  Designing Software Product Lines with UML , 2005, 29th Annual IEEE/NASA Software Engineering Workshop - Tutorial Notes (SEW'05).