Filtered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints

Software Product-lines (SPLs) use modular software components that can be reconfigured into different variants for different requirements sets. Feature modeling is a common method for capturing the configuration rules for an SPL architecture. A key challenge for developers is determining how to optimally select a set of features while simultaneously honoring resource constraints. For example, optimally selecting a set of features that fit the development budget is an NP problem. Although resource consumption problems have been extensively studied in the Artificial Intelligence and Distributed Computing communities, the algorithms that these communities have developed, such as Multiple-choice Knapsack Problems (MMKP) approximation algorithms, have not been extensively applied to feature selection subject to resource constraints. The paper provides the following contributions to the study of automated feature selection for SPL variants: (1) we present a polynomial time approximation technique called Filtered Cartesian Flattening (FCF) for deriving approximately optimal solutions to feature selection problems with resource constraints by transforming the problems into equivalent MMKP problems and using MMKP approximation algorithms, (2) we show that FCF can operate on large feature models that would not be possible with existing algorithmic approaches, and (3) we present empirical results from initial experiments performed using FCF. Our results show that FCF is 93%+ optimal on feature models with 5,000 features.

[1]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

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

[3]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[4]  Mohammad Sohel Rahman,et al.  Solving the Multidimensional Multiple-choice Knapsack Problem by constructing convex hulls , 2006, Comput. Oper. Res..

[5]  Eric G. Manning,et al.  Heuristic Solutions for the Multiple-Choice Multi-dimension Knapsack Problem , 2001, International Conference on Computational Science.

[6]  Douglas C. Schmidt,et al.  Automated Model-Based Configuration of Enterprise Java Applications , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

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

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

[9]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[10]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

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