Presentation is loading. Please wait.

Presentation is loading. Please wait.

Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević.

Similar presentations


Presentation on theme: "Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević."— Presentation transcript:

1 Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević 2, Marek Hatala 1, Ebrahim Bagheri 2 1 Simon Fraser University, 2 Athabasca University SPLC’12

2 2 Research Problem & Goal SPLC'12 Software development issues: Control cost Accelerate time-to-market Improve product quality Instance1Instance2Instance3 Requirements1 Requirements2 Requirements3 Core Software assets Variabilities Software Product Line Engineering

3 3 Outline SPLC'12 Introduction of Software Product Line Problem Statement Automated Feature Model Configuration Integrating feature model with non-functional properties Optimizing non-functional properties Feature model configuration using HTN planning Tooling support and evaluation Related Work Future Work

4 4 Introduction to SPLE SPLC'12 Software Product Line A set of similar software systems that share many common features and satisfy the requirements of a particular domain. Feature Models Provides formal and graphical representations of relations, constraints, and dependencies of the features FM Configuration Selecting best and allowable combination of features based on objectives of stakeholder.

5 5 Manual Feature Model Configuration SPLC'12 Stakeholders Functional & Non-functional Requirements Root F2 F1 F4F5 F6 F7 F3 Feature Model Configuration Process Application Engineer Configuration Decision Root F2 F1 F4F5 F6 F7 F3 Final Configuration:    Roles Artifacts Process

6 6 Problem Statement SPLC'12 Research Problem: Selecting a correct set of features for one product among all features in feature model is hard. Number of possible configuration Impact of features on non-functional properties Stakeholders’ constraints and preferences Solution: Using Artificial Intelligence (AI) planning technique to select suitable features and optimize non-functional properties HTN planning (SHOP2)

7 7 Overview of the Proposed Approach SPLC'12 Root F2 F1 F4F5 F6 F7 F3 Extended Feature Model Generate Plan (using SHOP2 Planner) Application Engineer Root F2 F1 F4F5 F6 F7 F3 Final Product   Stakeholders Transform to HTN formalism Create Shop2 Domain and Problem Constraints over NFPs Functional Requirements Calculate weight of NFPs and Ranks of feature using SAHP algorithm 2. 3. 1. Requirements Relative importance

8 8 Extended Feature Model SPLC'12 NFP Features Security Internatio nal Sale Customer Satisfaction Response Time CostAvailability Reliabilit y Credit CardLowNHigPMedP50ms$60090%95% Debit CardLowPMedP 60ms$45090%95% Fraud Detection HighPLowPHighP40ms$60080%98%. Payment Gateway Payment Options Payment Type Order Confirmation Check out Mail Shipping Options Multiple Shipments Gift Option E-mail Phone Electroni c Page Fraud Detection Cost Calculation QoS Selection Courier Gateway Electronic Checque Paradata DHL Canada Post Cyber Source Link Point Authorize. NET Fedex Purchas e Order Credit Card Debit Card Cash Security [LowN] International Sale [HighP] Cost [$600] Response Time [50ms] Reliability [95%] Security [HighP] International Sale [LowP] Cost [$600] Response Time [40ms] Reliability [98%] Security [LowP] International Sale [MedP] Cost [$400] Response Time [60ms] Reliability [95%]

9 9 Extended Feature Model SPLC'12 NFP Model: Types of NFP Quantitative(Numeral): e.g. footprint, cost, accuracy,.. Qualitative(Ordinal): e.g. Security, reliability, integrity,.. Effect of Features Over NFP Positive e.g. security Negative e.g. cost Aggregation functions Additive, Multiplication, Min/Max, …

10 10 Overview of the Proposed Approach SPLC'12 Requirements Constraints over NFPs Functional Requirements Relative importance Root F2 F1 F4F5 F6 F7 F3 Extended Feature Model Generate Plan (using SHOP2 Planner) Application Engineer Root F2 F1 F4F5 F6 F7 F3 Final Product   Stakeholders Transform to HTN formalism Create Shop2 Domain and Problem Calculate weight of NFPs and Ranks of feature using SAHP algorithm 2. 3. 1.

11 11 Preferences & Constraints SPLC'12 Constraints over NFPs: Cost: $1000 Ease of use: Hard Easy Very easy Security: Low Medium High … Preferences over NFPs: Security is slightly more important than performance (Security > 3 Performance) ….

12 12 Overview of the Proposed Approach SPLC'12 Calculate weight of NFPs and Ranks of feature using SAHP algorithm 1. Requirements Root F2 F1 F4F5 F6 F7 F3 Extended Feature Model Generate Plan (using SHOP2 Planner) Application Engineer Root F2 F1 F4F5 F6 F7 F3 Final Product   Stakeholders Transform to HTN formalism Create Shop2 Domain and Problem Constraints over NFPs Functional Requirements 2. 3. Relative importance

13 13 Preferences SPLC'12 weight of each NFP calculated by SAHP algorithm

14 14 Rank of Features SPLC'12 w is the weight of each non-functional µ is average of the quantitative NFPs  is standard deviation of the quantitative NFPs

15 15 Overview of the Proposed Approach SPLC'12 Transform to HTN formalism Create Shop2 Domain and Problem 2. Requirements Root F2 F1 F4F5 F6 F7 F3 Extended Feature Model Generate Plan (using SHOP2 Planner) Application Engineer Root F2 F1 F4F5 F6 F7 F3 Final Product   Stakeholders Constraints over NFPs Functional Requirements Calculate weight of NFPs and Ranks of feature using SAHP algorithm 3. 1. Relative importance

16 16 SHOP2 Domain and Problem SPLC'12 HTN Planning Problem P =(s 0, T 0, D) Basic Elements of a Domain Description a set of operators o ∈ O a set of tasks a ∈ A a set of methods m ∈ M a set of domain predicates v ∈ V

17 17 operator Transforming Feature Model to HTN SPLC'12 operator Feature2 Atomic Feature Feature1 Feature4 Atomic Feature Feature3 task & method(s) operator Atomic Feature task & method(s)

18 18 Transforming Feature Model to HTN SPLC'12 Domain predicate transformation Operator transformation Method and task transformation Preprocessing step f f1f1 fofo f f1f1 fofo f d fpfp f f1f1 f2f2 (a) (b) f f1f1 f2f2

19 19 Generating Domain Predicates: SPLC'12 f f2f2 f1f1 f3f3 f4f4 f5f5 NFP QT1 QT2 QT3 Domain Predicates for leave features: v f3, v f4, v f5, v f2 Attainment Formula for intermediate features:  f1 = v f3  v f4  v f5  f =  f1  v f2 Domain Predicate for Qualifier Tags: v QT1, v QT2, v QT3

20 20 Generating Operators SPLC'12 Operators for atomic features: o f 2, o f 3, o f 4 pre(o f 2 ) =    MaxCost - f 2 Cost>0 eff(o f 2 ) =, (MaxCost = MaxCost - f 2 Cost) value(o f 2 ) = pre(o f 3 )= QT 2   v f 4 eff(o f 3 )=v f 3 value(o f 3 )= 1.5 pre(o f 4 )= QT 3   v f 3 eff(o f 4 ) = v f 4 value(o f 4 ) = 0.75 f f4f4 f1f1 f2f2 f3f3 Required Exclude QT 3 Value=0.75 QT 1, QT 3 Value=0.5 f2Cost = $98 QT 2 Value = 1.5 MaxCost(Requested by stakeholder )= $1000 QT 1 QT 3 v f 4 v f2 0.5

21 21 Generating Tasks and Methods (AND) SPLC'12 Task : t f One method m f for feature f with Tsk-m f = t f Pre-m f =  f6   f7 Dec-m f = {o f1, t f2 } f f1f1 f2f2 f6f6 f7f7 Required Exclude.........

22 22 Generating Tasks and Methods (XOR) SPLC'12 Task: t f methods m 1 f, m 2 f for task t f with: Tsk-m 1 f = t f, Pre-m 1 f =  f 6   f 7, Dec-m 1 f = {o f 1 } Tsk-m 2 f = t f, Pre-m 2 f =  f 6   f 7, Dec-m 2 f = {t f 2 } f f1f1 f2f2 f6f6 f7f7 Required Exclude.........

23 23 Task: t f One method m f for feature f with Tsk-m f = t f Dec-m f = {t f1_o, t f2_o, o f_or } Tsk-m 1 f1_o = t f1_o Tsk-m 2 f1_o = t f1_o, Dec-m 1 f1_o = {o f 1 } Dec-m 2 f1_o = {o f d } Tsk-m 1 f2_o = t f2_o, Tsk-m 2 f2_o = t f2_o Dec-m 1 f2_o = {t f 2 } Dec-m 2 f2_o = {o f d } Pre(o f _or )= v f 1   f 2 Generating Tasks and Methods (OR) SPLC'12 f f1f1 f2f2 (c)... f f 1_o f 2_o... f1f1 fdfd f2f2 fdfd f or Pre processing step

24 24 Generating FM Configuration SPLC'12 Root F2 F1 F4F5 F6 F7 F3 Final Product   Generate Plan (using SHOP2 Planner) Create Shop2 Domain and Problem

25 25 Tooling Support SPLC'12

26 26 Evaluation SPLC'12 RQ1 (Scalability): Can the approach configure feature models, in a reasonable time? independent variables number of features number of constraints integrity constraints dependent variable time RQ2 (Effectiveness): How effective is the approach in producing a feature model configuration?

27 27 Evaluation (1) SPLC'12

28 28 Evaluation (2) SPLC'12

29 29 Comparative Analysis of Related Works SPLC'12

30 30 Conclusion SPLC'12 Integrating the feature model and non-functional properties Facilitating the feature model configuration process by automating the feature model configuration process based on non-functional requirements; Employing visualization and interaction techniques

31 31 Future Work SPLC'12 Using other HTN planner PDDL and PDDL based planner Employing more interaction and visualization techniques

32 Thanks! masadi@sfu.ca SPLC'12


Download ppt "Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević."

Similar presentations


Ads by Google