managing non-functional uncertainty via model-driven...
TRANSCRIPT
Leandro S. PintoPolitecnico di Milano, Italy
Paola SpoletiniUniversità dell’Insubria, [email protected]
Giordano Tamburrelli University of Lugano, Switzerland
Carlo Ghezzi Politecnico di Milano, Italy
Shonan Meeting, September 2013
Managing Non-Functional Uncertainty via Model-Driven Adaptivity
1
Friday, September 20, 13
A caveat
2 Shonan Meeting, September 2013
Friday, September 20, 13
A caveat
Theory
2 Shonan Meeting, September 2013
Friday, September 20, 13
A caveat
Theory Practice
2 Shonan Meeting, September 2013
Friday, September 20, 13
A caveat
Theory Practice
2 Shonan Meeting, September 2013
First steps
Friday, September 20, 13
Feedback
A caveat
Theory Practice
2 Shonan Meeting, September 2013
First steps
Friday, September 20, 13
Motivation
3 Shonan Meeting, September 2013
Friday, September 20, 13
Motivation
Complexity
Size Distribution Ownership
3 Shonan Meeting, September 2013
Friday, September 20, 13
Motivation
Complexity
Size Distribution Ownership
Uncertainty
Execution Time Failure Rate
3 Shonan Meeting, September 2013
Friday, September 20, 13
Adaptive Systems
3 Shonan Meeting, September 2013
Friday, September 20, 13
Adaptive Systems
Adaptive Systems
3 Shonan Meeting, September 2013
Friday, September 20, 13
Alternative Behaviors
Adaptive Systems
Adaptive Systems
3 Shonan Meeting, September 2013
Friday, September 20, 13
Alternative Behaviors Exception Handling
Adaptive Systems
Adaptive Systems
3 Shonan Meeting, September 2013
Friday, September 20, 13
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
6
Our Goal
Shonan Meeting, September 2013
Friday, September 20, 13
6
Our Goal
Formalize
Shonan Meeting, September 2013
Friday, September 20, 13
6
Our Goal
Formalize Automate
Shonan Meeting, September 2013
Friday, September 20, 13
7
ADAMAdaptive Model-driven execution
Shonan Meeting, September 2013
Friday, September 20, 13
Models
7
ADAMAdaptive Model-driven execution
Shonan Meeting, September 2013
Friday, September 20, 13
Models
7
ADAMAdaptive Model-driven execution
Transformation
Shonan Meeting, September 2013
Friday, September 20, 13
Models
7
ADAMAdaptive Model-driven execution
Probability TheoryTransformation
Shonan Meeting, September 2013
Friday, September 20, 13
8
ADAMOverview
Shonan Meeting, September 2013
Friday, September 20, 13
Activity Diagram
8
ADAMOverview
DeveloperUML Activity Diagrams Implementations
---------------------------------annotatesdesigns
System Modeling
Shonan Meeting, September 2013
Friday, September 20, 13
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
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
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
9
ADAMModeling
Shonan Meeting, September 2013
Friday, September 20, 13
9
ADAMModeling
System is modeled as an annotated Activity Diagram:
Shonan Meeting, September 2013
Friday, September 20, 13
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
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
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
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
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
11
ADAMModeling
Shonan Meeting, September 2013
Friday, September 20, 13
11
ADAMModeling
Shonan Meeting, September 2013
Friday, September 20, 13
12
ADAMTransformation
Shonan Meeting, September 2013
Friday, September 20, 13
12
ADAMTransformation
5: ProductLookupActivity
Shonan Meeting, September 2013
Friday, September 20, 13
12
ADAMTransformation
5: ProductLookupActivity 5a
5b
MDP
Shonan Meeting, September 2013
Friday, September 20, 13
12
ADAMTransformation
ActivityMDP
<<Optional>>9: Secondary WebSearch
Shonan Meeting, September 2013
Friday, September 20, 13
12
ADAMTransformation
ActivityMDP
<<Optional>>9: Secondary WebSearch
9a
9b
Shonan Meeting, September 2013
Friday, September 20, 13
12
ADAMTransformation
ActivityMDP
8: WebSearch<<Optional>>9: Secondary Web Search
Shonan Meeting, September 2013
Friday, September 20, 13
12
ADAMTransformation
ActivityMDP
8: WebSearch<<Optional>>9: Secondary Web Search
8 i
9a
9b
Shonan Meeting, September 2013
Friday, September 20, 13
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
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
13
ADAMManipulation
Shonan Meeting, September 2013
Friday, September 20, 13
13
ADAMManipulation
i
9a
9b
j
RT=1.6sE=2U=1
RT=1.5sE=2U=1
Shonan Meeting, September 2013
Friday, September 20, 13
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
14
ADAMExecution
Shonan Meeting, September 2013
Friday, September 20, 13
14
ADAMExecution
Interpreter navigates the model and invokes implementations
Shonan Meeting, September 2013
Friday, September 20, 13
14
ADAMExecution
Choice among alternative paths in the EM
Interpreter navigates the model and invokes implementations
Shonan Meeting, September 2013
Friday, September 20, 13
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
15
ADAMExecution
Shonan Meeting, September 2013
Friday, September 20, 13
15
ADAMExecution
1
2
i
RT=<a; b>
j
RT=<a; b>
RT=<a; b>
Shonan Meeting, September 2013
Friday, September 20, 13
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Overhead
17 Shonan Meeting, September 2013
Friday, September 20, 13
Overhead
17
4%
Shonan Meeting, September 2013
Friday, September 20, 13
Overhead
18 Shonan Meeting, September 2013
Friday, September 20, 13
Overhead
18
9%
Shonan Meeting, September 2013
Friday, September 20, 13
Related Work
19 Shonan Meeting, September 2013
Friday, September 20, 13
Related Work
19
Balz et al. Fleurey et al.Cheng et al.
Shonan Meeting, September 2013
Friday, September 20, 13
20
Conclusions
Shonan Meeting, September 2013
Friday, September 20, 13
20
ConclusionsWe conceived a method for adaptivity w.r.t. non-functional requirements
Shonan Meeting, September 2013
Friday, September 20, 13
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
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
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
Questions
21
Giordano Tamburrelli University of Lugano, Switzerland
Shonan Meeting, September 2013
Friday, September 20, 13