Managing Non-Functional Uncertainty via Model-Driven...

80
Leandro S. Pinto Politecnico di Milano, Italy [email protected] Paola Spoletini Università dell’Insubria, Italy [email protected] Giordano Tamburrelli University of Lugano, Switzerland [email protected] Carlo Ghezzi Politecnico di Milano, Italy [email protected] Shonan Meeting, September 2013 Managing Non-Functional Uncertainty via Model-Driven Adaptivity 1 Friday, September 20, 13

Transcript of Managing Non-Functional Uncertainty via Model-Driven...

Page 1: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Leandro S. PintoPolitecnico di Milano, Italy

[email protected]

Paola SpoletiniUniversità dell’Insubria, [email protected]

Giordano Tamburrelli University of Lugano, Switzerland

[email protected]

Carlo Ghezzi Politecnico di Milano, Italy

[email protected]

Shonan Meeting, September 2013

Managing Non-Functional Uncertainty via Model-Driven Adaptivity

1

Friday, September 20, 13

Page 2: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

A caveat

2 Shonan Meeting, September 2013

Friday, September 20, 13

Page 3: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

A caveat

Theory

2 Shonan Meeting, September 2013

Friday, September 20, 13

Page 4: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

A caveat

Theory Practice

2 Shonan Meeting, September 2013

Friday, September 20, 13

Page 5: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

A caveat

Theory Practice

2 Shonan Meeting, September 2013

First steps

Friday, September 20, 13

Page 6: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Feedback

A caveat

Theory Practice

2 Shonan Meeting, September 2013

First steps

Friday, September 20, 13

Page 7: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Motivation

3 Shonan Meeting, September 2013

Friday, September 20, 13

Page 8: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Motivation

Complexity

Size Distribution Ownership

3 Shonan Meeting, September 2013

Friday, September 20, 13

Page 9: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Motivation

Complexity

Size Distribution Ownership

Uncertainty

Execution Time Failure Rate

3 Shonan Meeting, September 2013

Friday, September 20, 13

Page 10: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Adaptive Systems

3 Shonan Meeting, September 2013

Friday, September 20, 13

Page 11: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Adaptive Systems

Adaptive Systems

3 Shonan Meeting, September 2013

Friday, September 20, 13

Page 12: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Alternative Behaviors

Adaptive Systems

Adaptive Systems

3 Shonan Meeting, September 2013

Friday, September 20, 13

Page 13: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Alternative Behaviors Exception Handling

Adaptive Systems

Adaptive Systems

3 Shonan Meeting, September 2013

Friday, September 20, 13

Page 14: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

An Example

5

The WPM: Apps should be responsive in less than three seconds or must display a visual progress or busy indicator

Shonan Meeting, September 2013

Friday, September 20, 13

Page 15: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

6

Our Goal

Shonan Meeting, September 2013

Friday, September 20, 13

Page 16: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

6

Our Goal

Formalize

Shonan Meeting, September 2013

Friday, September 20, 13

Page 17: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

6

Our Goal

Formalize Automate

Shonan Meeting, September 2013

Friday, September 20, 13

Page 18: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

7

ADAMAdaptive Model-driven execution

Shonan Meeting, September 2013

Friday, September 20, 13

Page 19: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Models

7

ADAMAdaptive Model-driven execution

Shonan Meeting, September 2013

Friday, September 20, 13

Page 20: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Models

7

ADAMAdaptive Model-driven execution

Transformation

Shonan Meeting, September 2013

Friday, September 20, 13

Page 21: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Models

7

ADAMAdaptive Model-driven execution

Probability TheoryTransformation

Shonan Meeting, September 2013

Friday, September 20, 13

Page 22: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

8

ADAMOverview

Shonan Meeting, September 2013

Friday, September 20, 13

Page 23: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Activity Diagram

8

ADAMOverview

DeveloperUML Activity Diagrams Implementations

---------------------------------annotatesdesigns

System Modeling

Shonan Meeting, September 2013

Friday, September 20, 13

Page 24: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

generates

usesuses

Embedded Model

…………… …

Generator

Model Transformation

Activity Diagram

Markov Decision Process

8

ADAMOverview

DeveloperUML Activity Diagrams Implementations

---------------------------------annotatesdesigns

System Modeling

Shonan Meeting, September 2013

Friday, September 20, 13

Page 25: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

generates

usesuses

Embedded Model

…………… …

Generator

Model Transformation

Activity Diagram

Markov Decision Process

Embedded Model

8

ADAMOverview

DeveloperUML Activity Diagrams Implementations

---------------------------------annotatesdesigns

System Modeling

PRISM

usesModel Manipulation

Shonan Meeting, September 2013

Friday, September 20, 13

Page 26: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

generates

usesuses

Embedded Model

…………… …

Generator

Model Transformation

Activity Diagram

Markov Decision Process

Embedded Model

Interpreted Execution

8

ADAMOverview

System Execution

invokes

executes

Interpreter

DeveloperUML Activity Diagrams Implementations

---------------------------------annotatesdesigns

System Modeling

PRISM

usesModel Manipulation

Shonan Meeting, September 2013

Friday, September 20, 13

Page 27: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

9

ADAMModeling

Shonan Meeting, September 2013

Friday, September 20, 13

Page 28: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

9

ADAMModeling

System is modeled as an annotated Activity Diagram:

Shonan Meeting, September 2013

Friday, September 20, 13

Page 29: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

9

ADAMModeling

System is modeled as an annotated Activity Diagram:

0.3

2: Photo Acquisition 1: Input Price

5: Product Lookup

8: Web Search 7: Local Search

11: Publish Price

<<Optional>>10: ResultOrdering

3: Local Recognition

4: Remote Recognition

[hasAutoFocus]

<<Optional>>9: Secondary Web Search

0.6 0.4true false

6: Location

[recognized]

0.7truefalse

Shonan Meeting, September 2013

Friday, September 20, 13

Page 30: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

9

ADAMModeling

System is modeled as an annotated Activity Diagram:

1. Optional Activities

0.3

2: Photo Acquisition 1: Input Price

5: Product Lookup

8: Web Search 7: Local Search

11: Publish Price

<<Optional>>10: ResultOrdering

3: Local Recognition

4: Remote Recognition

[hasAutoFocus]

<<Optional>>9: Secondary Web Search

0.6 0.4true false

6: Location

[recognized]

0.7truefalse

Shonan Meeting, September 2013

Friday, September 20, 13

Page 31: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

9

ADAMModeling

System is modeled as an annotated Activity Diagram:

1. Optional Activities

0.3

2: Photo Acquisition 1: Input Price

5: Product Lookup

8: Web Search 7: Local Search

11: Publish Price

<<Optional>>10: ResultOrdering

3: Local Recognition

4: Remote Recognition

[hasAutoFocus]

<<Optional>>9: Secondary Web Search

0.6 0.4true false

6: Location

[recognized]

0.7truefalse

2. Probabilistic Branches

Shonan Meeting, September 2013

Friday, September 20, 13

Page 32: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

9

ADAMModeling

System is modeled as an annotated Activity Diagram:

1. Optional Activities

0.3

2: Photo Acquisition 1: Input Price

5: Product Lookup

8: Web Search 7: Local Search

11: Publish Price

<<Optional>>10: ResultOrdering

3: Local Recognition

4: Remote Recognition

[hasAutoFocus]

<<Optional>>9: Secondary Web Search

0.6 0.4true false

6: Location

[recognized]

0.7truefalse

13: ShowMap

12: NPS

Location(NPS Alternative)

2. Probabilistic Branches3. Nested Activities

Shonan Meeting, September 2013

Friday, September 20, 13

Page 33: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

10

Description Metric Class

R1After an user input the

application shall respond in at most 3s.

Response Time (RT) Threshold

R2Maximize application

usability Usability (U) Max

R3Minimize battery

consumption Energy Consumption (E) Min

ADAMModeling

Shonan Meeting, September 2013

Friday, September 20, 13

Page 34: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

11

ADAMModeling

Shonan Meeting, September 2013

Friday, September 20, 13

Page 35: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

11

ADAMModeling

Shonan Meeting, September 2013

Friday, September 20, 13

Page 36: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

Shonan Meeting, September 2013

Friday, September 20, 13

Page 37: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

5: ProductLookupActivity

Shonan Meeting, September 2013

Friday, September 20, 13

Page 38: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

5: ProductLookupActivity 5a

5b

MDP

Shonan Meeting, September 2013

Friday, September 20, 13

Page 39: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

ActivityMDP

<<Optional>>9: Secondary WebSearch

Shonan Meeting, September 2013

Friday, September 20, 13

Page 40: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

ActivityMDP

<<Optional>>9: Secondary WebSearch

9a

9b

Shonan Meeting, September 2013

Friday, September 20, 13

Page 41: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

ActivityMDP

8: WebSearch<<Optional>>9: Secondary Web Search

Shonan Meeting, September 2013

Friday, September 20, 13

Page 42: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

ActivityMDP

8: WebSearch<<Optional>>9: Secondary Web Search

8 i

9a

9b

Shonan Meeting, September 2013

Friday, September 20, 13

Page 43: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

ActivityMDP

8: WebSearch<<Optional>>9: Secondary Web Search

8 i

9a

9b4

3

RT= 0.3sE=1U=1

10

7c g h

RT=0.6sE=2U=1

RT=0.5sE=2U=1

RT=0.3sE=1U=1

RT=0.6sE=1U=1

RT=0.8sE=2U=1

RT=2sE=3U=1

8 i

RT=0.6sE=2U=1

9a

9b

j

RT=1.6sE=2U=1

RT=1.5sE=2U=1

0.6

0.4

6a

12

eb

f 13

RT=0sE=1U=0

1 2a0.7

0.3

5a

5b

RT=0sE=1U=0

d

RT=0sE=1U=0

RT=0sE=1U=0

k 11

RT=0sE=2U=1

Shonan Meeting, September 2013

Friday, September 20, 13

Page 44: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

12

ADAMTransformation

ActivityMDP

8: WebSearch<<Optional>>9: Secondary Web Search

8 i

9a

9b4

3

RT= 0.3sE=1U=1

10

7c g h

RT=0.6sE=2U=1

RT=0.5sE=2U=1

RT=0.3sE=1U=1

RT=0.6sE=1U=1

RT=0.8sE=2U=1

RT=2sE=3U=1

8 i

RT=0.6sE=2U=1

9a

9b

j

RT=1.6sE=2U=1

RT=1.5sE=2U=1

0.6

0.4

6a

12

eb

f 13

RT=0sE=1U=0

1 2a0.7

0.3

5a

5b

RT=0sE=1U=0

d

RT=0sE=1U=0

RT=0sE=1U=0

k 11

RT=0sE=2U=1

Shonan Meeting, September 2013

Friday, September 20, 13

Page 45: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

13

ADAMManipulation

Shonan Meeting, September 2013

Friday, September 20, 13

Page 46: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

13

ADAMManipulation

i

9a

9b

j

RT=1.6sE=2U=1

RT=1.5sE=2U=1

Shonan Meeting, September 2013

Friday, September 20, 13

Page 47: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

13

ADAMManipulation

i

9a

9b

j

RT=1.6sE=2U=1

RT=1.5sE=2U=1

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

Shonan Meeting, September 2013

Friday, September 20, 13

Page 48: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

14

ADAMExecution

Shonan Meeting, September 2013

Friday, September 20, 13

Page 49: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

14

ADAMExecution

Interpreter navigates the model and invokes implementations

Shonan Meeting, September 2013

Friday, September 20, 13

Page 50: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

14

ADAMExecution

Choice among alternative paths in the EM

Interpreter navigates the model and invokes implementations

Shonan Meeting, September 2013

Friday, September 20, 13

Page 51: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

14

ADAMExecution

Choice among alternative paths in the EM

Maximize likelihood of meeting system requirements

Interpreter navigates the model and invokes implementations

Shonan Meeting, September 2013

Friday, September 20, 13

Page 52: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

Shonan Meeting, September 2013

Friday, September 20, 13

Page 53: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

1

2

i

RT=<a; b>

j

RT=<a; b>

RT=<a; b>

Shonan Meeting, September 2013

Friday, September 20, 13

Page 54: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

cRT

1

2

i

RT=<a; b>

j

RT=<a; b>

RT=<a; b>

th

Shonan Meeting, September 2013

Friday, September 20, 13

Page 55: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

cRT

1

2

i

RT=<a; b>

j

RT=<a; b>

RT=<a; b>

th

Ps=P(RT<th)=?

Shonan Meeting, September 2013

Friday, September 20, 13

Page 56: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

cRT

1

2

i

RT=<a; b>

j

RT=<a; b>

RT=<a; b>

th

Ps=P(RT<th)=?U~(a,b)

Shonan Meeting, September 2013

Friday, September 20, 13

Page 57: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

0 < P(RT<th) < 1a b

P(RT<th) th-cRT

RT

b-a1

cRT

1

2

i

RT=<a; b>

j

RT=<a; b>

RT=<a; b>

th

Ps=P(RT<th)=?U~(a,b)

Shonan Meeting, September 2013

Friday, September 20, 13

Page 58: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

0 < P(RT<th) < 1a b

P(RT<th) th-cRT

RT

b-a1

a b

th-cRTP(RT<th) = 1

RT

P(RT<th)

b-a1

cRT

1

2

i

RT=<a; b>

j

RT=<a; b>

RT=<a; b>

th

Ps=P(RT<th)=?U~(a,b)

Shonan Meeting, September 2013

Friday, September 20, 13

Page 59: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

0 < P(RT<th) < 1a b

P(RT<th) th-cRT

RT

b-a1

a b

th-cRTP(RT<th) = 1

RT

P(RT<th)

b-a1

th-cRT

a b RTP(RT<th) = 0

P(RT<th)

b-a1

cRT

1

2

i

RT=<a; b>

j

RT=<a; b>

RT=<a; b>

th

Ps=P(RT<th)=?U~(a,b)

Shonan Meeting, September 2013

Friday, September 20, 13

Page 60: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

15

ADAMExecution

0 < P(RT<th) < 1a b

P(RT<th) th-cRT

RT

b-a1

a b

th-cRTP(RT<th) = 1

RT

P(RT<th)

b-a1

th-cRT

a b RTP(RT<th) = 0

P(RT<th)

b-a1

cRT

1

2

i

RT=<a; b>

j

RT=<a; b>

RT=<a; b>

th

Ps=P(RT<th)=?U~(a,b)

Shonan Meeting, September 2013

Friday, September 20, 13

Page 61: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

16

ADAMExecution

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

RT=<0; 0.6>E=<2; 3>U=<1; 2>

Shonan Meeting, September 2013

Friday, September 20, 13

Page 62: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

16

ADAMExecution

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

RT=<0; 0.6>E=<2; 3>U=<1; 2>

cRT=1.95s

Shonan Meeting, September 2013

Friday, September 20, 13

Page 63: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

16

ADAMExecution

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

RT=<0; 0.6>E=<2; 3>U=<1; 2>

Ps

9a 0.67

9b 0.75

opt 0.13

cRT=1.95s

Shonan Meeting, September 2013

Friday, September 20, 13

Page 64: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

16

ADAMExecution

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

RT=<0; 0.6>E=<2; 3>U=<1; 2>

Ps

9a 0.67

9b 0.75

opt 0.13

cRT=1.95s

Shonan Meeting, September 2013

Friday, September 20, 13

Page 65: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

16

ADAMExecution

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

RT=<0; 0.6>E=<2; 3>U=<1; 2>

Ps

9a 0.67

9b 0.75

opt 0.13

cRT=1.95s

cRT=2s

Shonan Meeting, September 2013

Friday, September 20, 13

Page 66: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

16

ADAMExecution

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

RT=<0; 0.6>E=<2; 3>U=<1; 2>

Ps

9a 0.67

9b 0.75

opt 0.13

cRT=1.95s

Ps

9a 0.63

9b 0.57

opt 0.65

cRT=2s

Shonan Meeting, September 2013

Friday, September 20, 13

Page 67: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

16

ADAMExecution

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

RT=<0; 0.6>E=<2; 3>U=<1; 2>

Ps

9a 0.67

9b 0.75

opt 0.13

cRT=1.95s

Ps

9a 0.63

9b 0.57

opt 0.65

cRT=2s

Shonan Meeting, September 2013

Friday, September 20, 13

Page 68: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

16

ADAMExecution

9a

9b

i

RT=<0.5; 1.1>E=<4; 5>U=<1; 2>

RT=<0.6; 1.2>E=<4; 5>U=<1; 2>

j

RT=<0; 0.6>E=<2; 3>U=<1; 2>

Ps

9a 0.67

9b 0.75

opt 0.13

cRT=1.95s

Ps

9a 0.63

9b 0.57

opt 0.65

cRT=2s

Shonan Meeting, September 2013

Friday, September 20, 13

Page 69: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Overhead

17 Shonan Meeting, September 2013

Friday, September 20, 13

Page 70: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Overhead

17

4%

Shonan Meeting, September 2013

Friday, September 20, 13

Page 71: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Overhead

18 Shonan Meeting, September 2013

Friday, September 20, 13

Page 72: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Overhead

18

9%

Shonan Meeting, September 2013

Friday, September 20, 13

Page 73: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Related Work

19 Shonan Meeting, September 2013

Friday, September 20, 13

Page 74: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Related Work

19

Balz et al. Fleurey et al.Cheng et al.

Shonan Meeting, September 2013

Friday, September 20, 13

Page 75: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

20

Conclusions

Shonan Meeting, September 2013

Friday, September 20, 13

Page 76: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

20

ConclusionsWe conceived a method for adaptivity w.r.t. non-functional requirements

Shonan Meeting, September 2013

Friday, September 20, 13

Page 77: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

20

ConclusionsWe conceived a method for adaptivity w.r.t. non-functional requirements

Formally verified and automated approach: based on high level models and implementations

Shonan Meeting, September 2013

Friday, September 20, 13

Page 78: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

20

ConclusionsWe conceived a method for adaptivity w.r.t. non-functional requirements

Formally verified and automated approach: based on high level models and implementationsInterpreter that optimizes the system at run-time w.r.t. non-functional requirements

Shonan Meeting, September 2013

Friday, September 20, 13

Page 79: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

20

ConclusionsWe conceived a method for adaptivity w.r.t. non-functional requirements

Formally verified and automated approach: based on high level models and implementationsInterpreter that optimizes the system at run-time w.r.t. non-functional requirements

Adaptivity obtained dynamically composing the application considering alternative behaviors and optionalities with limited overhead

Shonan Meeting, September 2013

Friday, September 20, 13

Page 80: Managing Non-Functional Uncertainty via Model-Driven ...sead1.open.ac.uk/eassy/tamburrelli13shonan.pdfOverview Developer UML Activity Diagrams Implementations-----designs annotates-----System

Questions

21

Giordano Tamburrelli University of Lugano, Switzerland

[email protected]

Shonan Meeting, September 2013

Friday, September 20, 13