Feature Diagrams and Logics: There and Back Again

Feature modeling is a notation and an approach for modeling commonality and variability in product families. In their basic form, feature models contain mandatory/optional features, feature groups, and implies and excludes relationships. It is known that such feature models can be translated into propositional formulas, which enables the analysis and configuration using existing logic- based tools. In this paper, we consider the opposite translation problem, that is, the extraction of feature models from propositional formulas. We give an automatic and efficient procedure for computing a feature model from a formula. As a side effect we characterize a class of logical formulas equivalent to feature models and identify logical structures corresponding to their syntactic elements. While many different feature models can be extracted from a single formula, the computed model strives to expose graphically the maximum of the original logical structure while minimizing redundancies in the representation. The presented work furthers our understanding of the semantics of feature modeling and its relation to logics, opening avenues for new applications in reverse engineering and refactoring of feature models.

[1]  Alfred V. Aho,et al.  The Transitive Reduction of a Directed Graph , 1972, SIAM J. Comput..

[2]  Olivier Coudert,et al.  Verification of Synchronous Sequential Machines Based on Symbolic Execution , 1989, Automatic Verification Methods for Finite State Systems.

[3]  R. M. Jensen,et al.  FAST BACKTRACK-FREE PRODUCT CONFIGURATION USING A PRECOMPILED SOLUTION SPACE REPRESENTATION , 2004 .

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

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

[6]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

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

[8]  Prof. Dr. Christoph Meinel,et al.  Algorithms and Data Structures in VLSI Design , 1998, Springer Berlin Heidelberg.

[9]  Haiyan Zhao,et al.  A Propositional Logic-Based Method for Verification of Feature Models , 2004, ICFEM.

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

[11]  Olivier Coudert,et al.  Implicit and incremental computation of primes and essential primes of Boolean functions , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

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

[13]  Sergio Segura,et al.  A Survey on the Automated Analyses of Feature Models , 2006, JISBD.

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

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

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

[17]  Wolfram Schulte,et al.  Formal Methods and Software Engineering , 2004, Lecture Notes in Computer Science.

[18]  Vasco M. Manquinho,et al.  Prime implicant computation using satisfiability algorithms , 1997, Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence.

[19]  Krzysztof Czarnecki,et al.  Feature models are views on ontologies , 2006 .

[20]  Gabriel Valiente,et al.  Algorithms on Trees and Graphs , 2002, Springer Berlin Heidelberg.