Automated Planning for Feature Model Configuration Based on Functional and Non-Functional Requirements
Feature modeling is one of the main techniques used in Software Product Line Engineering to manage the variability within the products of a family. Concrete products of the family can be generated through a configuration process. The configuration process selects and/or removes features from the feature model according to the stakeholders' requirements. Selecting the right set of features for one product from amongst all of the available features in the feature model is a complex task because: the multiplicity of stakeholders' functional requirements; the positive or negative impact of features on non-functional properties; and the stakeholders' preferences w.r.t. the desirable non-functional properties of the final product.