Assisting Configurations-Based Feature Model Composition

Feature Models (FMs) have been introduced in the domain of software product lines to model and represent product variability. They have become a de facto standard, based on a logical tree structure accompanied by textual cross-tree constraints. Other representations are: (product) configuration sets from concrete software product lines, logical representations, constraint programming, or conceptual structures, coming from the Formal Concept Analysis (FCA) framework. Modeling variability through FMs may consist in extracting them from configuration sets (namely, doing FM synthesis), or designing them in several steps potentially involving several teams with different concerns. FM composition is useful in this design activity as it may assist FM iterative building. In this paper, we describe an approach, based on a configuration set and focusing on two main composition semantics (union, intersection), to assist designers in FM composition. We also introduce an approximate intersection notion. FCA is used to represent, for a product family, all the FMs that have the same configuration set through a canonical form. The approach is able to take into account cross-tree constraints and FMs with different feature sets and tree structure, thus it lets the expert free of choosing a different ontological interpretation. We describe the implementation of our approach and we present a set of concrete examples.

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

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

[3]  Olivier Ridoux,et al.  DeLLIS: A Data Mining Process for Fault Localization , 2009, SEKE.

[4]  Houari A. Sahraoui,et al.  Recovering Architectural Variability of a Family of Product Variants , 2015, ICSR.

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

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

[7]  Abdelhak-Djamel Seriai,et al.  Reverse Engineering Feature Models from Software Configurations using Formal Concept Analysis , 2014, CLA.

[8]  Carlos José Pereira de Lucena,et al.  Refactoring product lines , 2006, GPCE '06.

[9]  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).

[10]  Marianne Huchard,et al.  Variability Representation in Product Lines using Concept Lattices: Feasibility Study with Descriptions from Wikipedia's Product Comparison Matrices , 2015, FCA&A@ICFCA.

[11]  Yiming Yang,et al.  Domain Feature Model Recovery from Multiple Applications Using Data Access Semantics and Formal Concept Analysis , 2009, 2009 16th Working Conference on Reverse Engineering.

[12]  Mathieu Acher,et al.  Comparing Approaches to Implement Feature Model Composition , 2010, ECMFA.

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

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

[15]  Oscar Nierstrasz,et al.  Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis , 2010, Inf. Softw. Technol..

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

[17]  Antonio Ruiz Cortés,et al.  Automated Merging of Feature Models Using Graph Transformations , 2007, GTTSE.

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

[19]  Zhenchang Xing,et al.  Feature Location in a Collection of Product Variants , 2012, 2012 19th Working Conference on Reverse Engineering.

[20]  Rainer Koschke,et al.  Locating Features in Source Code , 2003, IEEE Trans. Software Eng..

[21]  Peter Becker,et al.  A Survey of Formal Concept Analysis Support for Software Engineering Activities , 2005, Formal Concept Analysis.

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

[23]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[24]  Olivier Barais,et al.  Composing Your Compositions of Variability Models , 2013, MoDELS.

[25]  Abdelhak-Djamel Seriai,et al.  Feature-to-code traceability in a collection of software variants: Combining formal concept analysis and information retrieval , 2013, 2013 IEEE 14th International Conference on Information Reuse & Integration (IRI).

[26]  Abdelhak-Djamel Seriai,et al.  Mining Features from the Object-Oriented Source Code of a Collection of Software Variants Using Formal Concept Analysis and Latent Semantic Indexing , 2013, SEKE.

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

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

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

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

[31]  Clémentine Nebut,et al.  FCA for Software Product Lines Representation: Mixing Product and Characteristic Relationships in a Unique Canonical Representation , 2016, CLA.

[32]  Achtaich Asmaa,et al.  Selecting SPL modeling languages: A practical guide , 2015, 2015 Third World Conference on Complex Systems (WCCS).

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

[34]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006, 10th International Software Product Line Conference (SPLC'06).

[35]  Bernd Fischer,et al.  Visualizing and exploring software version control repositories using interactive tag clouds over formal concept lattices , 2017, Inf. Softw. Technol..

[36]  Yann-Gaël Guéhéneuc,et al.  Refactorings of Design Defects Using Relational Concept Analysis , 2008, ICFCA.