automated planning for feature model configuration based on functional and non-functional...
TRANSCRIPT
Automated Planning for Feature Model Configuration based on Functional and Non-Functional
Requirements
Samaneh Soltani1, Mohsen Asadi1, Dragan Gašević2, Marek Hatala1, Ebrahim Bagheri2
1Simon Fraser University, 2Athabasca UniversitySPLC’12
2SPLC'12
Research Problem & Goal
Software development issues:Control costAccelerate time-to-marketImprove product quality
Instance1 Instance2 Instance3
Requirements1Requirements2
Requirements3
Core Software assets
Variabilities
Software Product Line Engineering
3SPLC'12
Outline
Introduction of Software Product LineProblem StatementAutomated Feature Model Configuration
Integrating feature model with non-functional properties
Optimizing non-functional propertiesFeature model configuration using HTN planning Tooling support and evaluation
Related WorkFuture Work
4SPLC'12
Introduction to SPLE
Software Product LineA set of similar software systems that share many common features
and satisfy the requirements of a particular domain.
Feature ModelsProvides formal and graphical representations of relations,
constraints, and dependencies of the features
FM ConfigurationSelecting best and allowable combination of features based on
objectives of stakeholder.
5SPLC'12
Manual Feature Model Configuration
Stakeholders
Functional & Non-functionalRequirements
Root
F2F1
F4 F5 F6 F7
F3
Feature Model
Configuration ProcessApplication Engineer
Configuration Decision
Root
F2F1
F4 F5 F6 F7
F3
Final Configuration:
Roles Artifacts
Process
6SPLC'12
Problem Statement
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 propertiesStakeholders’ constraints and preferences
Solution: Using Artificial Intelligence (AI) planning technique to
select suitable features and optimize non-functional propertiesHTN planning (SHOP2)
7
Overview of the Proposed Approach
SPLC'12
Root
F2F1
F4 F5 F6 F7
F3
Extended Feature Model
Generate Plan (using SHOP2 Planner)Application Engineer
Root
F2F1
F4 F5 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
8SPLC'12
Extended Feature Model
NFPFeatures Security Internatio
nal SaleCustomer
Satisfaction Response
Time Cost Availability Reliability
Credit Card LowN HigP MedP 50ms $600 90% 95%
Debit Card LowP MedP MedP 60ms $450 90% 95%
Fraud Detection
HighP LowP HighP 40ms $600 80% 98%
. . .
Payment Gateway
Payment Options
Payment Type
Order Confirmation
Check out
Shipping Options
Multiple Shipments
Gift Option
E-mail PhoneElectronic Page
Fraud Detection
Cost Calculation
QoS Selection
Courier Gateway
Electronic ChecqueParadata DHLCanada
PostCyber Source
Link Point
Authorize. NET
FedexPurchase Order
Credit Card
Debit CardCash
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%]
9SPLC'12
Extended Feature Model
NFP Model:Types of NFP
Quantitative(Numeral): e.g. footprint, cost, accuracy,.. Qualitative(Ordinal): e.g. Security, reliability, integrity,..
Effect of Features Over NFPPositive e.g. securityNegative e.g. cost
Aggregation functionsAdditive,Multiplication,Min/Max, …
10
Overview of the Proposed Approach
SPLC'12
Requirements
Constraints over NFPs
Functional Requirements
Relative importance
Root
F2F1
F4 F5 F6 F7
F3
Extended Feature Model
Generate Plan (using SHOP2 Planner)Application Engineer
Root
F2F1
F4 F5 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.
11SPLC'12
Preferences & Constraints
Constraints over NFPs:Cost: $1000Ease of use: Hard Easy Very easySecurity: Low Medium High …
Preferences over NFPs:Security is slightly more important than performance (Security >3 Performance)….
12
Overview of the Proposed Approach
SPLC'12
Calculate weight of NFPs and Ranks of feature using SAHP algorithm
1.
Requirements Root
F2F1
F4 F5 F6 F7
F3
Extended Feature Model
Generate Plan (using SHOP2 Planner)Application Engineer
Root
F2F1
F4 F5 F6 F7
F3
Final Product
Stakeholders
Transform to HTN formalism
Create Shop2 Domain and Problem
Constraints over NFPs
Functional Requirements
2.
3.
Relative importance
13SPLC'12
Preferences
weight of each NFP calculated by SAHP algorithm
14SPLC'12
Rank of Features
w is the weight of each non-functionalµ is average of the quantitative NFPs is standard deviation of the quantitative NFPs
15
Overview of the Proposed Approach
SPLC'12
Transform to HTN formalism
Create Shop2 Domain and Problem2.
Requirements Root
F2F1
F4 F5 F6 F7
F3
Extended Feature Model
Generate Plan (using SHOP2 Planner)Application Engineer
Root
F2F1
F4 F5 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
16SPLC'12
SHOP2 Domain and Problem
HTN Planning Problem P =(s0 , T0 , D)
Basic Elements of a Domain Descriptiona set of operators o ∈ Oa set of tasks a ∈ Aa set of methods m ∈ Ma set of domain predicates v V∈
17SPLC'12
operator
Transforming Feature Model to HTN
operator
operatoroperator operator
Feature2
Atomic FeatureAtomic FeatureAtomic Feature
Atomic Feature
Feature1
Feature4
Atomic FeatureAtomic FeatureAtomic Feature
Feature3
task & method(s)
operatoroperator operator
Atomic Feature
task & method(s)
task & method(s)
task & method(s)
18SPLC'12
Transforming Feature Model to HTN
Domain predicate transformationOperator transformation Method and task transformation
Preprocessing step
f
f1 fo
f
f1
fo f d
fp
f
f1 f2
(a) (b)
f
f1 f2
19SPLC'12
Generating Domain Predicates:
f
f2f1
f3 f4 f5
NFPQT1
QT2
QT3
Domain Predicates for leave features:vf3, vf4, vf5, vf2
Attainment Formula for intermediate
features:f1 = vf3 vf4 vf5 f = f1 vf2
Domain Predicate for Qualifier Tags:vQT1, vQT2, vQT3
20SPLC'12
Generating Operators Operators for atomic features: of 2, of 3, of 4
pre(of 2 ) = MaxCost - f2Cost>0
eff(of 2) = ,
(MaxCost = MaxCost - f2Cost) value(of 2) =
pre(of 3 )= QT2 vf 4 eff(of 3)=vf 3 value(of 3 )= 1.5
pre(of 4 )= QT3 vf 3
eff(of 4) = vf 4
value(of 4) = 0.75
f
f4f1
f2 f3
Required
Exclude
QT3
Value=0.75
QT1, QT3Value=0.5
f2Cost = $98
QT2
Value=1.5
MaxCost(Requested by stakeholder )= $1000
QT1 QT3 vf 4
vf2
0.5
21SPLC'12
Generating Tasks and Methods (AND)
Task: tf
One method mf for feature f with
Tsk-mf = tf Pre-mf = f6 f7
Dec-mf = {of1, tf2}
f
f1 f2
f6
f7
Required Exclude
......
...
22SPLC'12
Generating Tasks and Methods (XOR)
Task: tf
methods m1f , m2
f for task tf with:Tsk-m1f = tf , Pre-m1f = f 6 f 7 ,
Dec-m1f = {of 1 }
Tsk-m2f = tf , Pre-m2f = f 6 f 7 ,
Dec-m2f = {tf 2 }
f
f1 f2
f6
f7
Required Exclude
......
...
23SPLC'12
Task: tf
One method mf for feature f withTsk-mf = tf
Dec-mf = {tf1_o , tf2_o , of_or}
Tsk-m1f1_o = tf1_o Tsk-m2
f1_o = tf1_o , Dec-m1
f1_o = {of 1 } Dec-m2f1_o = {of d }
Tsk-m1f2_o = tf2_o , Tsk-m2
f2_o = tf2_o Dec-m1
f2_o = {tf 2 } Dec-m2f2_o= {of d }
Pre(of _or )= vf 1 f 2
Generating Tasks and Methods (OR)
f
f1 f2
(c)
... f
f1_o f2_o
...
f1fd f2 fd
for
Pre processing step
24SPLC'12
Generating FM Configuration
Root
F2F1
F4
F5
F6 F7
F3
Final Product
Generate Plan (using SHOP2 Planner)
Create Shop2 Domain and Problem
25SPLC'12
Tooling Support
26SPLC'12
Evaluation
RQ1 (Scalability): Can the approach configure feature models, in a reasonable time?independent variables
number of featuresnumber of constraintsintegrity constraints
dependent variabletime
RQ2 (Effectiveness): How effective is the approach in producing a feature model configuration?
27SPLC'12
Evaluation (1)
28SPLC'12
Evaluation (2)
29SPLC'12
Comparative Analysis of Related Works
30SPLC'12
Conclusion
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
31SPLC'12
Future Work
Using other HTN plannerPDDL and PDDL based plannerEmploying more interaction and visualization
techniques
SPLC'12