The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
 
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June/2...
   
The 25th International Conference on Software Engineering and Knowledge Engineering (SEKE'13) – Boston/MA – USA – June...
Upcoming SlideShare
Loading in …5
×

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

831 views

Published on

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.

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
831
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
16
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

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

×