Presented at 25th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013) - Boston/MA - EUA.
A lot of current research efforts in self-adaptive systems community have been dedicated to the explicit modeling of architectural aspects related to system self-awareness and context-awareness. This paper presents a flexible and extensible representation of architectural design spaces for self-adaptation approaches based on feedback control loops. We have defined a generic representation for design spaces meta-modeling and have instantiated it in order to provide direct support for early reasoning and trade-off analysis of self-adaptation aspects with the aid of a set of feedback control metrics. The proposed approach has been fully implemented in a supporting tool and a case study with a distributed industrial data acquisition service has been undertaken. Whilst preliminary experiences with the proposed approach indicate useful reasoning support when comparing alternative design solutions for self-adaptation, further investigation regarding scalability aspects and automatic handling of conflicting goals has been identified as future work.
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Concerns
1.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Architectural Design Spaces for Feedback
Control Concerns in Self-Adaptive Systems
Sandro S. Andrade and Raimundo J. de A. Macêdo
Distributed Systems Laboratory (LaSiD)
Department of Computer Science (DCC)
Federal University of Bahia (UFBa) - Brazil
{sandros, macedo}@ufba.br
June/2013
Programa Multiinstitucional de Pós-Graduação em Ciência da Computação
2.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Context & Motivation
Self-Adaptive
Systems
More stringent demands
for flexibility, dependability,
energy-efficiency, ...
Applications that
weigh in at tens of
millions of lines of code
Complexity approaching
the limits of human
capability
Highly unpredictable and
changing operating
environments
3.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
State of the Art
MAPE-K Autonomic Manager
(Kephart & Chess; 2003)
3-layer Architecture for Self-Adaptation
(Kephart & Chess; 2003)
Middleware-level self-adaptation
(e.g.: Rainbow – Garlan et al; 2004)
Explicit Modeling of Control Loops
(Hebig, Giese & Becker; 2010)
FORMS Reference Model
(Weyns, Malek & Andersson; 2012)
Megamodels@runtime
(Vogel & Giese; 2012)
Uncertainty in Self-Adaptive Software Systems
(Esfahani & Malek; 2012)
4.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Current Challenges
Highly specialized domain and
large design/solution space
Current effective solutions are
highly tailored to specific problems
Control Theory mechanisms may not
directly apply in computer systems
Architectural Styles/Patterns
Reference Architectures
Architecture Design Handbooks
It's hard to support early
reasoning of properties and
well-informed trade-off analysis
Domain-Specific ADL's
Formal Reference Models/Frameworks
Qualitative Architecture Analysis Methods
Quantitative Architecture Analysis Methods
Model-Based SW Design & Development
Search-Based Software Engineering
Software Architecture Design Knowledge
Systematic Literature Reviews
Model-Predictive Control
Hybrid Systems Control
Current Approaches
5.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Current Challenges
It's hard to support early
reasoning of properties and
well-informed trade-off analysis
Current effective solutions are
highly tailored to specific problems
Control Theory mechanisms may not
directly apply in computer systems
Architectural Styles/Patterns
Reference Architectures
Architecture Design Handbooks
Domain-Specific ADL's
Formal Reference Models/Frameworks
Qualitative Architecture Analysis Methods
Quantitative Architecture Analysis Methods
Model-Based SW Design & Development
Search-Based Software Engineering
Software Architecture Design Knowledge
Systematic Literature Reviews
Model-Predictive Control
Hybrid Systems Control
Our Approach
Highly specialized domain and
large design/solution space
6.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Our Approach
Systematic representation of
domain-specific design spaces
DuSE
=
+
+
Metrics for evaluation of automatically
generated candidate architectures
A multi-objective optimization approach
to explicitly elicit design trade-offs
SA:DuSE is a particular
DuSE instance which
enables automated
architecture design in
the Self-Adaptive
Systems domain
7.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Our Approach
Autonomic Manager
KnowledgeMonitor
Analyse Plan
Execute
Managed Element
SA:DuSE provides an automated
process for off-line design &
analysis of Autonomic Manager
architectures
Usually designed off-line, but
may be re-designed (adapted)
at runtime by the Autonomic Manager
DuSE enables:
● Manual design space exploration
● Automated search for best candidates
(multi-objective optimization)
An initial annotated UML
model is provided to SA:DuSE
A lot of degrees of freedom involved:
control law, tuning approach,
MAPE-K deployment, …
1
2
3
4
5
8.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
DuSE Metamodel
9.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
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
10.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
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. θ}
11.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
The DuSE Optimization Approach
A simple initial model with three loci of decision yields 54,010,152 candidates
With four loci of decision we get a space with 20,415,837,000 candidates
A search-based approach enables effective design space exploration
and helps prevent false intuition and technology bias. The goal is to find
out a set of (locally) Pareto-optimal candidate architectures
12.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Case Study
Cloud-based media
encoding service
Three loci of decision
(controllable components)
Annotations from Qemu +
Hadoop + CloudStack
experiments
Control goal: enforce
encoding throughput
13.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Findings
Major trade-off between
M2
and M3
, but also M2
and M4
M2
/M3
Pareto front:
● PI+CHR-20OS-DR
● PID+CHR-0OS-DR
● P+ZN
14.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Related Work
Automated Architecture Improvement
for Performance and other Attributes
(Koziolek & Reussner; 2011)
Search-Based Software Architecture Design
A Meta-Framework for Design Space
Exploration
(Saxena & Karsai; 2011)
+ Effective representation of
architecture design knowledge
- Limited extension to specific
application domains
Explicit Modeling of Control Loops
(Hebig, Giese & Becker; 2010)
FORMS Reference Model
(Weyns, Malek & Andersson; 2012)
Megamodels@runtime
(Vogel & Giese; 2012)
Actor-Based Adaptable Loops
(Krikava et al; 2012)
Multiple Objective Self-Adaptation
(Cheng, Garlan & Schmerl; 2006)
Software Engineering for Self-Adaptive Systems
+ Expressive constructs to model self-
Adaptive aspects
- No systematic knowledge representation
- Low parsimony / No trade-off elicitation
SA:DuSE
15.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Conclusion and Future Work
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
16.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
DuSE-MT
17.
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
Thank you !
Questions ?
Sandro S. Andrade and Raimundo J. de A. Macêdo
Distributed Systems Laboratory (LaSiD)
Department of Computer Science (DCC)
Federal University of Bahia (UFBa) - Brazil
{sandros, macedo}@ufba.br
June/2013
Programa Multiinstitucional de Pós-Graduação em Ciência da Computação