This document proposes a systematic approach to conveying architecture design knowledge for self-adaptive systems. It presents DuSE, a domain-specific design space that captures control strategies, tuning approaches, and deployment options. DuSE uses a multi-objective optimization approach to automatically generate candidate architectures based on quality metrics like overhead and robustness. A supporting tool called DuSE-MT is also introduced. A case study on a cloud media encoding service demonstrates DuSE's ability to find optimal self-adaptive architectures while preventing bias.
Scaling API-first – The story of a global engineering organization
Conveying Architecture Design Knowledge for Self-Adaptive Systems
1.
Toward Systematic Conveying of
Architecture Design Knowledge for
Self-Adaptive Systems
Sandro S. Andrade
GSORT Distributed Systems Group
Federal Institute of Education, Science
and Technology of Bahia (IFBa)
Salvador - BA - Brazil
sandros@ufba.br
Raimundo José de A. Macêdo
Distributed Systems Laboratory (LaSiD)
Department of Computer Science
Federal University of Bahia
Salvador - BA - Brazil
macedo@ufba.br
The 7th IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO'13) – Philadelpia/PA – USA – September/2013
3.
Root locus ?
Pole
placement ?
Self-Adaptive
Systems
Effective
solutions highly
tailored to specific problems
Large design/solution
space
Lack of support for
well-informed trade-off
analysis
Highly specialized domain
4.
What am I supposed
to do with all these
stuff ?
Designing
Self-Adaptive
Systems
Architecture Design
Handbooks
Reference Architectures
Architectural Styles
Formal Reference
Models / Frameworks
Model-Based Software
Design & Development
5.
Domain-specific design spaces
DuSE
=
+
+
Quality metrics of automatically
generated candidate architectures
A multi-objective optimization approach
6.
Domain-specific design spaces
DuSE
=
+
+
Quality metrics of automatically
generated candidate architectures
A multi-objective optimization approach
SA:DuSE = DuSE instance
(design space) for the
Self-Adaptive Systems
domain
10.
SA:DuSE Design Space
DD1
: Control Law
DD3
: Control Adaptation
DD2
: Tuning Approach
DD4
: MAPE Deployment
11.
SA:DuSE Design Space
VP11: Proportional
VP12: Proportional-Integral
VP13: Proportional-Integral-Derivative
VP14: Static State Feedback
VP15: Precompensated Static State Feedback
VP16: Dynamic State Feedback
DD1
: Control Law
VP31: Fixed Gain (no adaptation)
VP32: Gain Scheduling
VP33: Model Identification Adaptation Control
DD3
: Control Adaptation
VP21: Chien-Hrones-Reswick, 0 OS, Dist. Rejection
VP22: Chien-Hrones-Reswick, 0 OS, Ref. Tracking
VP23: Chien-Hrones-Reswick, 20 OS, Dist. Rejection
VP24: Chien-Hrones-Reswick, 20 OS, Ref. Tracking
VP25: Ziegler-Nichols
VP26: Cohen-Coon
VP27: Linear Quadratic Regulator
DD2
: Tuning Approach
VP41: Global Control
VP42: Local Control + Shared Reference
VP43: Local Control + Shared Error
DD4
: MAPE Deployment
12.
SA:DuSE Quality Metrics
M2
: Average
Settling Time
M1
: Control
Overhead
M4
: Control
Robustness
M3
: Average
Maximum Overshoot
13.
SA:DuSE Quality Metrics
M2
: Average
Settling Time
ME2=
allOwnedElements()→selectAsType(QParametricController)→sum(stime())
allOwnedElements()→selectAsType(QParametricController)→size()
; whereQParametricController:: stime()=
−4
log(maxi∣pi∣)
;and maxi∣pi∣is themagnitude of thelargest closed−loop pole
M1
: Control
Overhead
ME1=
allOwnedElements()→ selectAsType(QController)→ collect(overhead())→sum ()
allOwnedElements()→selectAsType(QController)→size()
;QController :: overhead()increasingly penalizes VP32, VP33, VP41 and VP43
M4
: Control
Robustness
ME4=
allOwnedElements ()→ selectAsType(QController)→collect (robustness())→sum ()
allOwnedElements()→selectAsType(QController)→size()
;QController ::robustness()increasingly penalizesVP31 andVP32
M3
: Average
Maximum Overshoot
ME3=
allOwnedElements()→selectAsType(QParametricController)→sum (maxOS ())
allOwnedElements()→selectAsType(QParametricController)→size()
; whereQParametricController:: maxOS()=
{
0 ;realdominant pole p1
≥0
∣p1∣;real dominant pole p1<0
rπ/∣θ∣
;dominant poles p1, p2=r.e±j. θ}
14.
DuSE Optimization
3 loci of decision -> 54,010,152 candidates
4 loci of decision -> 20,415,837,000 candidates
15.
DuSE Optimization
3 loci of decision -> 54,010,152 candidates
4 loci of decision -> 20,415,837,000 candidates
A search-based approach enables effective design space exploration
and helps preventing false intuition and technology bias
17.
Case Study
Cloud-based media
encoding service
Three loci of decision
(controllable components)
Annotations from Qemu +
Hadoop + CloudStack
experiments
Control goal: enforce
encoding throughput
19.
Conclusion
Contributions Systematic gathering of architecture design
knowledge in the field of Self-Adaptive Systems
A search-based approach for endowing architectures
with self-adaptative behaviour and explicit support
for well-informed design trade-off analysis
A supporting tool (DuSE-MT)
20.
Conclusion
Limitations Requires an initial annotated architectural model
No guaranteed optimality (local-optimal Pareto fronts)
Still requires a posteriori preference articulation
Contributions Systematic gathering of architecture design
knowledge in the field of Self-Adaptive Systems
A search-based approach for endowing architectures
with self-adaptative behaviour and explicit support
for well-informed design trade-off analysis
A supporting tool (DuSE-MT)
Current & Future Work Second case study
Resulting Parent front evaluation (indicators)
From Design Spaces to Design Theories