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
 
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
 
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)
 
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
 
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
 
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
 
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
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
DuSE Metamodel
 
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
 
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. θ}
 
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
 
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
 
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
 
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
 
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
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013
DuSE-MT
   
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

Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Concerns

  • 1.
        The 25thInternational 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 InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013 DuSE Metamodel
  • 9.
      The 25th InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference 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 InternationalConference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2013 DuSE-MT
  • 17.
        The 25thInternational 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