Graph-Based Variability Modelling: Towards a Classification of Existing Formalisms

Software product line engineering is a reuse-driven paradigm for developing families of similar products from a generic product backbone with identified options. A customised product is then derived by combining the artefacts implementing the backbone with the ones implementing the chosen options. Variability analysis and representation is a central task of this paradigm: it consists in suitably defining and structuring the scope, the commonalities, and the differences between the derivable products. Several formalisms have been proposed: some are textual, such as propositional logic or constraint programming, while others are based on annotated graph representations. In this paper, we aim to survey and compare existing graph-based variability representations. Among them, conceptual structures have been used rather early and occasionally employed: this survey highlights their original position which is due to some of their properties, including canonicity and the dual view on product configurations versus their features.

[1]  Alexander Knüppel,et al.  The Role of Complex Constraints in Feature Modeling: Master’s Thesis , 2016 .

[2]  Mathieu Acher,et al.  Feature model extraction from large collections of informal product descriptions , 2013, ESEC/FSE 2013.

[3]  Pierre-Yves Schobbens,et al.  Generic semantics of feature diagrams , 2007, Comput. Networks.

[4]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007, 11th International Software Product Line Conference (SPLC 2007).

[5]  Mathieu Acher,et al.  Support for reverse engineering and maintaining feature models , 2013, VaMoS.

[6]  Krzysztof Czarnecki,et al.  Efficient synthesis of feature models , 2012, SPLC '12.

[7]  Pierre-Yves Schobbens,et al.  Generic Semantics of Feature Diagrams Variants , 2005, FIW.

[8]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[9]  Klaus Kabitzsch,et al.  Extraction of feature models from formal contexts , 2011, SPLC '11.

[10]  Camille Salinesi,et al.  Constraints: The Heart of Domain and Application Engineering in the Product Lines Engineering Strategy , 2012, Int. J. Inf. Syst. Model. Des..

[11]  Clémentine Nebut,et al.  Feature Model Composition Assisted by Formal Concept Analysis , 2017, ENASE.

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

[13]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[14]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[15]  Krzysztof Czarnecki,et al.  Reverse engineering feature models , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[16]  Clémentine Nebut,et al.  Analyzing Variability in Product Families through Canonical Feature Diagrams , 2017, SEKE.

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