Professional Documents
Culture Documents
Disney
Shang-Wen Cheng and David Garlan {zensoul,garlan}@cs.cmu.edu CMU Architecture-Based Language & Environment Group
Big Picture
Detecting the existence of a problem Deciding on adaptation actions Carrying out the actions
Smoothing, model distribution, prediction Capture cost and effect, estimate likelihood Explicit settling time
Handling Uncertainty
Reference standard
Monitor
Execute
Knowledge? Architecture!
Global system perspective Important behaviors and properties Explicit system constraints Proven tradeoff, analysis techniques
Managed element
Architecture-based self-adaptation
Handling Uncertainty
Model Manager maintains architectural knowledge of system Architecture Analyzer detects constraint violation in model trigger Adaptation Engine selects a strategy to maximize utility adapt
Architecture Layer Adaptation Executor Adaptation Engine Architecture Analyzer
Analyze
Model Manager
Plan
Gauges
Translation Infrastructure
Effectors
Knowledge Monitor
Probes
Execute
Discovery
System Layer
Managed element
Handling Uncertainty
Analyze
Plan
Monitor
Execute
?
t
Moving-average filter to smooth stochastic Explicit probability distribution as envelop to determine problem Resource prediction to anticipate problem
Handling Uncertainty
Analyze
Plan
Monitor
Execute
ulatency(), uquality(), ucost(), udisruption() (wlatency, wquality, wcost, wdisruption) = (0.5, 0.3, 0.1, 0.1) [= 1]
Given tree X w/ children A, B, & pA, pB EA(X) = Agg_AV(X) = pA Agg_AV(A) + pB Agg_AV(B) +
Score
T1 [375, 1.5, 3.75, .75] 75% = 0.58 P0 [latency: low; quality: textual; cost: 1; disruption: 3] 100% [-125, [-500,1.5, +0, 1, 4.75, 1.25] 2] 25% [-1000, -2, 1, 3] T3 T2 [0.4, 0.6] [900,1, 5,0.2, 4.75, 2] [-1000, +0, [-2000, +2, 4, 3, 5] 2]
Assign cost and effect attributes to action steps Estimate the likelihood of known effects of an action step Compute expected aggregate attribute vector of a strategy and then score with utility function
Shang-Wen Cheng IWLU 2007
6
Handling Uncertainty
Analyze
Plan
Monitor
Execute
Too short: misjudge outcome of strategy Too long: unacceptable latency for adaptation
strategy SimpleReduceResponseTime() { boolean c0 = responseTime() > RespTimeLimit; t0: (c0) -> switchToTextualContent() { t1: (#[prob{t1}] success @[1000/*ms*/]) -> done ; t2: (#[prob{t2}] c0 @[2000/*ms*/]) -> enlistServer(1) { t2a: (success @[1000/*ms*/]) -> done ; }}}
20
y(k)
10
0 0 5 10 15 20 25
ks
Solution technique
Adopt a concept of settling time from control theory wait time Explicit description of time window to wait for action execution
Shang-Wen Cheng IWLU 2007
7
Handling Uncertainty
The End
Summary
Inherent uncertainties in autonomic MAPE loop Architecture-based Rainbow solves 3 uncertainty sources
Stochastic props smoothing, model distribution, prediction Strategy selection capture cost & effect, estimate likelihood Wait time of execution explicit settling time
Questions?
Handling Uncertainty