SlideShare a Scribd company logo
1 of 17
Download to read offline
   
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

More Related Content

Viewers also liked

Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Ilya Loshchilov
 
PhD Thesis Defense
PhD Thesis DefensePhD Thesis Defense
PhD Thesis Defense
Filip Krikava
 

Viewers also liked (20)

Model Manipulation Using Embedded DSLs in Scala
Model Manipulation Using Embedded DSLs in ScalaModel Manipulation Using Embedded DSLs in Scala
Model Manipulation Using Embedded DSLs in Scala
 
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software ArchitecturesACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
 
Unisys Service Oriented Self Adaptive Systems
Unisys Service Oriented Self Adaptive SystemsUnisys Service Oriented Self Adaptive Systems
Unisys Service Oriented Self Adaptive Systems
 
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
 
PhD Thesis Defense
PhD Thesis DefensePhD Thesis Defense
PhD Thesis Defense
 
Domain specific languages and Scala
Domain specific languages and ScalaDomain specific languages and Scala
Domain specific languages and Scala
 
The Human Person
The Human PersonThe Human Person
The Human Person
 
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
 
Desenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaDesenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE Plasma
 
Minuet - the KDE approach to music education
Minuet - the KDE approach to music educationMinuet - the KDE approach to music education
Minuet - the KDE approach to music education
 
O KDE no mundo
O KDE no mundoO KDE no mundo
O KDE no mundo
 
SASO2013 - PechaKucha version
SASO2013 - PechaKucha versionSASO2013 - PechaKucha version
SASO2013 - PechaKucha version
 
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
 
QtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE worldQtModeling - bringing metamodeling features into the KDE world
QtModeling - bringing metamodeling features into the KDE world
 
Man as a value carrier
Man as a value carrierMan as a value carrier
Man as a value carrier
 
Hausi Müller - Towards Self-Adaptive Software-Intensive Systems
Hausi Müller - Towards Self-Adaptive Software-Intensive SystemsHausi Müller - Towards Self-Adaptive Software-Intensive Systems
Hausi Müller - Towards Self-Adaptive Software-Intensive Systems
 
A Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented SystemsA Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented Systems
 
Práticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDEPráticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDE
 
Self-Adaptive SLA-Driven Capacity Management for Internet Services
Self-Adaptive SLA-Driven Capacity Management for Internet ServicesSelf-Adaptive SLA-Driven Capacity Management for Internet Services
Self-Adaptive SLA-Driven Capacity Management for Internet Services
 
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e SociaisKDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
 

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

Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12
NASAPMC
 
Hardware Design Practices For Modern Hardware
Hardware Design Practices For Modern HardwareHardware Design Practices For Modern Hardware
Hardware Design Practices For Modern Hardware
Winstina Kennedy
 
Lekia Ross Resume_2016
Lekia Ross Resume_2016Lekia Ross Resume_2016
Lekia Ross Resume_2016
Lekia Ross
 

Similar to Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Concerns (20)

Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12
 
Architectural Support for Model-driven Performance Prediction of Distributed ...
Architectural Support for Model-driven Performance Prediction of Distributed ...Architectural Support for Model-driven Performance Prediction of Distributed ...
Architectural Support for Model-driven Performance Prediction of Distributed ...
 
Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...
 
Identifying and Resolving Consistency Issues between Model Representations
Identifying and Resolving Consistency Issues between Model RepresentationsIdentifying and Resolving Consistency Issues between Model Representations
Identifying and Resolving Consistency Issues between Model Representations
 
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Study of vlsi design methodologies and limitations using cad tools for cmos t...
Study of vlsi design methodologies and limitations using cad tools for cmos t...Study of vlsi design methodologies and limitations using cad tools for cmos t...
Study of vlsi design methodologies and limitations using cad tools for cmos t...
 
Hardware Design Practices For Modern Hardware
Hardware Design Practices For Modern HardwareHardware Design Practices For Modern Hardware
Hardware Design Practices For Modern Hardware
 
Architectural design model
Architectural design modelArchitectural design model
Architectural design model
 
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
Needs challenges and_opportunites_in_architectural_languages (bolzano_dec2013)
 
Self-adaptation Driven by goals in SysML Models
Self-adaptation Driven by goals in SysML ModelsSelf-adaptation Driven by goals in SysML Models
Self-adaptation Driven by goals in SysML Models
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Lekia Ross Resume_2016
Lekia Ross Resume_2016Lekia Ross Resume_2016
Lekia Ross Resume_2016
 
Architecture & TYPO3
Architecture & TYPO3Architecture & TYPO3
Architecture & TYPO3
 
Adaptive13 test
Adaptive13 testAdaptive13 test
Adaptive13 test
 
Chapter 1(1) system development life .ppt
Chapter 1(1) system development life .pptChapter 1(1) system development life .ppt
Chapter 1(1) system development life .ppt
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013
 
call for papers - 12th International Conference on Software Engineering and A...
call for papers - 12th International Conference on Software Engineering and A...call for papers - 12th International Conference on Software Engineering and A...
call for papers - 12th International Conference on Software Engineering and A...
 
3 d molding and casting2
3 d molding and casting23 d molding and casting2
3 d molding and casting2
 

More from Sandro Andrade

More from Sandro Andrade (7)

O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
 
Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...
Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...
Painel "Software Livre, Conhecimento Livre e Mídias Digitais" - II Seminário ...
 
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and BeyondArchitecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
 
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
 
Desenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com QtDesenvolvendo Aplicações Android com Qt
Desenvolvendo Aplicações Android com Qt
 
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigData
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
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