Toward automated feature model configuration with optimizing non-functional requirements

Mohsen Asadi, Samaneh Soltani, Dragan Gasevic, Marek Hatala, Ebrahim Bagheri
2014 Information and Software Technology  
Context: A Software Product Line is a family of software systems that share some common features but also have significant variabilities. A feature model is a variability modeling artifact, which represents differences among software products with respect to the variability relationships among their features. Having a feature model along with a reference model developed in the domain engineering lifecycle, a concrete product of the family is derived by binding the variation points in the
more » ... model (called configuration process) and by instantiating the reference model. Objective: In this work we address the feature model configuration problem and propose a framework to automatically select suitable features that satisfy both the functional and non-functional preferences and constraints of stakeholders. Additionally, interdependencies between various non-functional properties are taken into account in the framework. Method: The proposed framework combines Analytical Hierarchy Process (AHP) and Fuzzy Cognitive Maps (FCM) to compute the non-functional properties weights based on stakeholders' preferences and interdependencies between non-functional properties. Afterwards, Hierarchical Task Network (HTN) planning is applied to find the optimal feature model configuration. Result: Our approach improves state-of-art of feature model configuration by considering positive or negative impacts of the features on non-functional properties, the stakeholders' preferences, and non-functional interdependencies. The approach presented in this paper extends earlier work presented in [1] from several distinct perspectives including mechanisms handling interdependencies between non-functional properties, proposing a novel tooling architecture, and offering visualization and interaction techniques for representing functional and non-functional aspects of feature models. Conclusion: our experiments show the scalability of our configuration approach when considering both functional and non-functional requirements of stakeholders. Contribution and Approach Overview Existing challenges in the configuration problem faced by application developers motivated us to develop an automated method for selecting a set of features that would fulfill both the stakeholders' functional and non functional requirements and preferences. To this end, we adopted and integrated the Analytical Hierarchy Process (AHP) [17], Fuzzy Cognitive Map (FCM) [18], and Preference-based Planning techniques[19]. AHP is a well-known pairwise comparison method used to calculate the relative ranking of different options based on stakeholders' judgments [17, 20] . FCM [18] is an extension of cognitive maps which incorporates fuzzy causal functions to represent fuzzy relations among objects in a complex system. FCM have been widely used several domains for modeling and decision making [21, 22, 23] . Hierarchical Task Network (HTN) planning is a popular planning technique, which is suited for domains with hierarchical task decomposition [24, 19] . The HTN Planning technique generates plans from a developed hierarchical network of domain tasks and actions [25] . The general overview of the proposed approach is illustrated in Figure 1 . As shown in the figure, our approach captures functional requirements and non-functional requirements of the stakeholders for a final application. Non-functional requirements are captured in
doi:10.1016/j.infsof.2014.03.005 fatcat:tijg7gwu5raqlcpaabajfmvme4