An elementary theory of product-line variations

The primary aim of a software product-line is to maximise reuse of software components by managing the variability in component functionalities and product configurations. Feature oriented domain analysis (FODA) diagrams are a formalism for modelling the variability in a software product-line, and are used as a tool for managing a product-line and planning its evolution. This paper presents an elementary theory of variations in a product-line, leading up to a technique for extracting FODA diagrams from legacy product-lines. The theory is elementary in the sense that it is built using very simple mathematical structures, making minimal assumptions on the structure of product-lines. Examples drawn from the automotive domain are used to illustrate the theoretical developments.

[1]  Klaus Kabitzsch,et al.  Automatic variation-point identification in function-block-based models , 2010, GPCE '10.

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

[3]  F. Loesch,et al.  Restructuring Variability in Software Product Lines using Concept Analysis of Product Configurations , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[4]  Oscar Nierstrasz,et al.  Proceedings of the First International Workshop on Feature-Oriented Software Development, FOSD 2009, Denver, Colorado, USA, October 6, 2009 , 2009, FOSD.

[5]  Timothy W. Simpson,et al.  Redesigning Product Families using Heuristics and Shared Ontological Component Information , 2006, 2006 IEEE International Conference on Information Reuse & Integration.

[6]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

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

[8]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

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

[10]  Rainer Koschke,et al.  Derivation of Feature Component Maps by Means of Concept Analysis , 2001, CSMR.

[11]  Stanley Burris,et al.  A course in universal algebra , 1981, Graduate texts in mathematics.

[12]  Rainer Koschke,et al.  Derivation of feature component maps by means of concept analysis , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[13]  Rudolf Wille,et al.  Subdirect decomposition of concept lattices , 1983, ICFCA.

[14]  Bernhard Möller,et al.  An extension for feature algebra , 2009, FOSD '09.

[15]  Charles W. Krueger,et al.  The BigLever Software Gears Systems and Software Product Line Lifecycle Framework , 2010, SPLC Workshops.

[16]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[17]  S. Ramesh,et al.  Integrated analysis of software product lines: a constraint based framework for consistency, liveness, and commonness checking , 2011, ISEC.

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

[19]  Ridha Khédri,et al.  An algebra of product families , 2009, Software & Systems Modeling.

[20]  Timothy W. Simpson,et al.  Commonality indices for product family design: a detailed comparison , 2006 .

[21]  Ridha Khédri,et al.  Feature Algebra , 2006, FM.

[22]  Gregor Snelting,et al.  Reengineering of configurations based on mathematical concept analysis , 1996, TSEM.

[23]  Nan Niu,et al.  Concept analysis for product line requirements , 2009, AOSD '09.

[24]  Rudolf Wille,et al.  Restructuring Lattice Theory: An Approach Based on Hierarchies of Concepts , 2009, ICFCA.

[25]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.