automated planning for feature model configuration based on functional and non-functional...

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

Upload: uriel-percy

Post on 14-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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.

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

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

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

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)

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

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

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

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

Mail

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%]

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

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, …

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

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.

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

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)….

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

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

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

13SPLC'12

Preferences

weight of each NFP calculated by SAHP algorithm

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

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

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

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

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

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∈

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

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)

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

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

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

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

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

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

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

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

......

...

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

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

......

...

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

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

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

24SPLC'12

Generating FM Configuration

Root

F2F1

F4

F5

F6 F7

F3

Final Product

Generate Plan (using SHOP2 Planner)

Create Shop2 Domain and Problem

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

25SPLC'12

Tooling Support

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

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?

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

27SPLC'12

Evaluation (1)

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

28SPLC'12

Evaluation (2)

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

29SPLC'12

Comparative Analysis of Related Works

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

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

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

31SPLC'12

Future Work

Using other HTN plannerPDDL and PDDL based plannerEmploying more interaction and visualization

techniques

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

[email protected]

SPLC'12