SlideShare a Scribd company logo
Do Search-Based Approaches Improve 
the Design of Self-Adaptive Systems ? 
A Controlled Experiment 
Sandro S. Andrade and Raimundo J. de A. Macêdo 
Distributed Systems Laboratory (LaSiD) 
Department of Computer Science 
Federal University of Bahia 
{sandros, macedo}@ufba.br 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Agenda 
● Context & motivation 
● Our search-based architectural design approach 
● The quasi-experiment 
● Contributions of this paper 
● Final remarks 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● The need for self-adaptive systems (SAS): 
– Dynamic and uncertain operating environments 
– Stringent requirements for scalability, dependability, energy-efficiency, 
and performance 
– Incomplete/partial requirements 
– Problem/design space complexity approaching the limits of 
human capability 
– Rapidly varying workloads and data characteristics 
– Some problems are inherently self-adaptive or self-organizing 
(eg.: robots motion coordination, particles/swarm optimization, 
etc) 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● MAPE-K Reference Architecture [1] 
[1] J. O. Kephart and D. M. Chess. Computer, vol. 36, no. 1, pp. 41–50, Jan. 2003. 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● Current challenges: 
– Intricate problem space 
● How to effectively elicit the adaptation requirements ? 
Goals: 
● Type (regulation, tracking, disturbance rejection, optimization) 
● Evolution (static, dynamic) 
● Duration (persistent, temporary) 
● Multiplicity (single, multiple) 
● Dependency (independent, complementary, conflicting) 
● Flexibility (rigid, constrained, unconstrained) 
Change: 
● Source (internal, external) 
● Anticipation (foreseen, foreseeable, unforeseen) 
● Frequency (rare, frequent) 
● Type (functional, non-functional, technological) 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● Current challenges: 
– Intricate problem space 
● How to effectively elicit the adaptation requirements ? 
– Large and complex solution space 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● Current challenges: 
– Intricate problem space 
● How to effectively elicit the adaptation requirements ? 
– Large and complex solution space 
● Type (parametric, structural) 
● Mechanism (signaling, frameworks, profiling, etc) 
● Uncertainty handling (redundancy, filtering, smoothing) 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● Current challenges: 
– Intricate problem space 
● How to effectively elicit the adaptation requirements ? 
– Large and complex solution space 
● Mechanism (symptoms databases, policies, queue 
networks, game theory, etc) 
● System/Environment representation (ad-hoc, models) 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● Current challenges: 
– Intricate problem space 
● How to effectively elicit the adaptation requirements ? 
– Large and complex solution space 
● Actuation law (intelligent agents, control theory, search-based, etc) 
● Cardinality (single, utility functions, parent-front) 
● Type (static, dynamic) 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● Current challenges: 
– Intricate problem space 
● How to effectively elicit the adaptation requirements ? 
– Large and complex solution space 
● Type (parametric, structural) 
● Mechanism (function pointers, aspect weaving, metaobjects, middleware-based) 
● Timeliness (best-effort, guaranteed) 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Context & Motivation 
● Current challenges: 
– Intricate problem space 
● How to effectively elicit the adaptation requirements ? 
– Large and complex solution space 
● How to come up with an effective managing system architecture 
for the adaptation requirements at hand ? 
● How to judiciously evaluate all available design alternatives ? 
● How to make well-informed decisions about quality attributes 
trade-offs ? 
– Consequences: 
● Lack of organized design knowledge for routine use 
● False intuition, design bias, and sub-optimal architectures 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Our Search-Based Design 
Approach – DuSE 
● Research questions 
To which extent may SAS design knowledge be systematically 
represented for routine use ? 
How to support well-informed decision making regarding 
quality attribute trade-offs between alternative architectures for 
SAS ? 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Our Search-Based Design 
Approach – DuSE 
● We combine the use of ... 
– Metamodeling and Domain-Specific Languages (DSL) 
– Structured Architecture Design Spaces 
– Multi-Objective Optimization 
● … in order to … 
– Enable a more disciplined and automated “handbook” of SAS 
design 
– Provide a solid basis for choosing between architectures which 
exhibit different quality attributes 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Our Search-Based Design 
Approach – DuSE 
Domain-Specific Supporting 
Domain-Specific Design 
Dimensions + Quality Metrics 
Specified using the 
DuSE language 
Domain-Specific 
Design space 
UML Profile 
Generic 
Architecture 
Optimization 
Engine 
Initial System Model 
Annotated with 
corresponding 
UML Profile 
Pareto-front of Candidate Architectures [2] Andrade and Macêdo. SEKE. 
Boston, MA, USA: ACM, 2013. 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Our Search-Based Design 
Approach – DuSE 
` 
● Domain independent 
● Metamodel dependent 
● Design space navigation engine 
● Optimization [3] Andrade and Macêdo. SASO. Philadelphia, PA, engine (NSGA-II) 
USA: IEEE, 2013. 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Our Search-Based Design 
Approach – DuSE 
[4] Andrade and Macêdo. SASO Demo Session. Philadelphia, PA, USA: IEEE, 2013. 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Our Search-Based Design 
Approach – SA:DuSE 
● SA:DuSE 
– A particular DuSE instance which captures the most prominent 
design dimensions of SASs 
● Evaluation dimensions: 
– Is SAS design indeed a multi-objective problem ? 
– To which extent the quality of Pareto-optimal architectures are 
indeed observed in real prototypes ? 
– Do search-based approaches improve the design of SAS ? 
[5] Andrade and Macêdo. WoSiDA 2014. Florianópolis, SC, Brasil. 2014. 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Analyze the design of SAS 
● For the purpose of evaluating the search-based 
design approach we propose and a design process 
based on architecture styles catalogs 
● With respect to the effectiveness and complexity of 
resulting architectures, as well as the method's 
potential for leveraging the acquisition of distilled 
design knowledge by novice architects 
● From the point of view of researchers 
● In the context of graduate students endowing 
systems with self-adaptation capabilities 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Quasi-experiment: 
– Blocked subject-object study with a paired comparison design 
● Subjects: 
– 24 students of a graduate program in Distributed and 
Ubiquitous Computing 
● Experiment objects: 
– Two UML models representing the managed system (web 
server and MapReduce distributed architecture) 
● Experiment tests: 
– Design a managing system architecture for both objects 
– Answer a questionnaire on quality attribute trade-offs in SAS 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Independent variable: 
– Design method 
● Search-based approach 
● Style-based approach 
● Dependent variables: 
– Effectiveness of resulting SAS architectures 
– Complexity of resulting SAS architectures 
– The method's potential for leveraging the acquisition of distilled 
SAS design knowledge by novice architects 
● Experiment website: 
– http://wiki.ifba.edu.br/tr-ce012014 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Experiment timetable 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Experiment tests 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Experiment 
objects 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Measuring effectiveness 
(Generational Distance) 
[6] Deb and Kalyanmoy. John Wiley & Sons, Inc. NY, USA: 2001. 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Measuring complexity 
(Component Point) 
[7] Wijayasiriwardhane and Lai. Journal of Systems and Software. 2010. 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Measuring the acquisition of distilled design 
knowledge: 
– Questionnaire with 10 multiple choice questions 
– Questions related to quality attributes trade-offs in the SAS 
domain 
– Questionnaire answered at the end of each experimentation day 
– Normalized grades assigned to each student/day 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Hypotheses formulation 
H0 - there is no difference in design effectiveness between 
a feedback control loop design created using the style-based 
approach (RA) and a feedback control loop design 
created using the search-based approach (IA) 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro 
1 
H0 - there is no difference in design complexity between a 
feedback control loop design created using the RA and a 
feedback control loop design created using the IA 
2 
H0 - there is no difference in the acquisition of distilled 
design knowledge between a feedback control loop 
design created using the RA and a feedback control loop 
design created using the IA 
3
The Quasi-Experiment 
● Descriptive statistics 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Assumptions of parametric tests: 
– Data is taken from an interval or ratio scale 
– Observations are independent 
– Population variances are equal between groups 
(homoscedasticity) 
– Measured values are normally distributed 
α=0.05 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Assumptions of parametric tests: 
– Data is taken from an interval or ratio scale 
– Observations are independent 
– Population variances are equal between groups 
(homoscedasticity) 
– Measured values are normally distributed Cannot reject 
homoscedasticity 
α=0.05 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Assumptions of parametric tests: 
– Data is taken from an interval or ratio scale 
– Observations are independent 
– Population variances are equal between groups 
(homoscedasticity) 
– Measured values are normally distributed Can reject normal 
distribution 
α=0.05 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Assumptions of parametric tests: 
– Data is taken from an interval or ratio scale 
– Observations are independent 
– Population variances are equal between groups 
(homoscedasticity) 
– Measured values are normally distributed 
Wilcoxon Signed-Rank Test 
α=0.05 Paired t-test 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Results of the statistical tests 
α=0.05 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
The Quasi-Experiment 
● Threats to validity 
– Construct: 
● Inadequate preoperational explication of constructs 
● Hypothesis guessing 
● Objects representativeness 
– Internal: 
● Maturation 
● Instrumentation 
– External: 
● Students acting as subjects 
– Conclusion: 
● Experiment holders creating the experiment objects 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Contributions of this paper 
● To the best of our knowledge, SA:DuSE is the first 
effort in applying search-based approaches in the 
SAS domain 
● To the best of our knowledge, this is the second 
controlled experiment in the SAS domain 
(the first one is [8]) 
● We got some empirical evidence about the benefit 
of search-based approaches when designing SASs 
● The potential for leveraging knowledge acquisition 
still deserves further investigation 
[8] Weyns, Iftikhar, and Soderlund. SEAMS. 2013. 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Final Remarks 
● A lot of research towards principled and systematic 
design of self-adaptive systems 
● Effectiveness of systematic design spaces in 
capturing intricate solution spaces 
– However, qualitative approaches may be used to address 
another facets of architectural design 
● Future work: 
– SA:DuSE expansion (NSGA-III) 
– More investigation on real prototypes 
– From design spaces to design theories 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
Thanks ! Questions ? 
Sandro S. Andrade and Raimundo J. de A. Macêdo 
{sandros, macedo}@ufba.br 
CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro

More Related Content

PDF
Práticas de Agilidade e QA na Comunidade KDE
PDF
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
PDF
Arquiteturas, Tecnologias e Desafios para Análise de BigData
PDF
Laser 2-change
PDF
Model Manipulation Using Embedded DSLs in Scala
PDF
Self-Adaptive Federated Authorisation Infrastructures
PDF
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
PDF
A Self-Adaptive Evolutionary Negative Selection Approach for Anom
Práticas de Agilidade e QA na Comunidade KDE
Architectural Design Spaces for Feedback Control in Self-Adaptive Systems Con...
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Laser 2-change
Model Manipulation Using Embedded DSLs in Scala
Self-Adaptive Federated Authorisation Infrastructures
ACTRESS: Domain-Specific Modeling of Self-Adaptive Software Architectures
A Self-Adaptive Evolutionary Negative Selection Approach for Anom

Viewers also liked (20)

PDF
Unisys Service Oriented Self Adaptive Systems
PDF
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
PDF
PhD Thesis Defense
PDF
Domain specific languages and Scala
PDF
O KDE no mundo
PDF
QtModeling - bringing metamodeling features into the KDE world
PDF
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
PDF
Minuet - the KDE approach to music education
PDF
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
PDF
Desenvolvendo Widgets QML para o KDE Plasma
PDF
SASO2013 - PechaKucha version
PPT
Hausi Müller - Towards Self-Adaptive Software-Intensive Systems
PDF
A Self-Adaptive Deployment Framework for Service-Oriented Systems
PPTX
Self-Adaptive SLA-Driven Capacity Management for Internet Services
PDF
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
PDF
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
PDF
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
PDF
Desenvolvendo Aplicações Android com Qt
PDF
201209 An Introduction to Building Affective-Driven Self-Adaptive Software
PDF
Self-adaptive Systems : An Introduction
Unisys Service Oriented Self Adaptive Systems
Intensive Surrogate Model Exploitation in Self-adaptive Surrogate-assisted CM...
PhD Thesis Defense
Domain specific languages and Scala
O KDE no mundo
QtModeling - bringing metamodeling features into the KDE world
Apresentação no 4o Workshop de Sistemas Distribuídos Autonômicos - WoSiDA 201...
Minuet - the KDE approach to music education
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Desenvolvendo Widgets QML para o KDE Plasma
SASO2013 - PechaKucha version
Hausi Müller - Towards Self-Adaptive Software-Intensive Systems
A Self-Adaptive Deployment Framework for Service-Oriented Systems
Self-Adaptive SLA-Driven Capacity Management for Internet Services
KDE de 2008 a 2018: Retrospectivas e Perspectivas Técnicas e Sociais
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e...
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016
Desenvolvendo Aplicações Android com Qt
201209 An Introduction to Building Affective-Driven Self-Adaptive Software
Self-adaptive Systems : An Introduction
Ad

Similar to Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Controlled Experiment (20)

PDF
Software systems engineering PRINCIPLES
PPTX
System Architect and Rhapsody
PDF
[2015/2016] Software systems engineering PRINCIPLES
PPT
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
PDF
10 Things You Should Know About MDD
DOC
Neha sas ba
PPTX
Software engineering Computer science and engineering unit 1 remaining part ...
PPTX
Design engineering
DOC
Sridhar Resume
PPT
OOSE Unit 4 PPT.ppt
PDF
Sap abap course
PPTX
Tales from the trenches creating complex distributed systems
PPT
Oose unit 4 ppt
PDF
Design Systems Operations
PPTX
Sap abap course content
PPTX
Sap abap course
PDF
Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...
DOC
Pardha Srinivas-13+yrs_Technical Architech (1)
PDF
Developing and deploying AI solutions on the cloud using Team Data Science Pr...
PPTX
intro.pptx
Software systems engineering PRINCIPLES
System Architect and Rhapsody
[2015/2016] Software systems engineering PRINCIPLES
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
10 Things You Should Know About MDD
Neha sas ba
Software engineering Computer science and engineering unit 1 remaining part ...
Design engineering
Sridhar Resume
OOSE Unit 4 PPT.ppt
Sap abap course
Tales from the trenches creating complex distributed systems
Oose unit 4 ppt
Design Systems Operations
Sap abap course content
Sap abap course
Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...
Pardha Srinivas-13+yrs_Technical Architech (1)
Developing and deploying AI solutions on the cloud using Team Data Science Pr...
intro.pptx
Ad

Recently uploaded (20)

PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
L1 - Introduction to python Backend.pptx
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Digital Strategies for Manufacturing Companies
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administraation Chapter 3
PDF
Nekopoi APK 2025 free lastest update
PPTX
Introduction to Artificial Intelligence
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
Odoo POS Development Services by CandidRoot Solutions
Internet Downloader Manager (IDM) Crack 6.42 Build 41
L1 - Introduction to python Backend.pptx
Odoo Companies in India – Driving Business Transformation.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Wondershare Filmora 15 Crack With Activation Key [2025
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Navsoft: AI-Powered Business Solutions & Custom Software Development
Digital Strategies for Manufacturing Companies
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
ai tools demonstartion for schools and inter college
System and Network Administraation Chapter 3
Nekopoi APK 2025 free lastest update
Introduction to Artificial Intelligence
How Creative Agencies Leverage Project Management Software.pdf
CHAPTER 2 - PM Management and IT Context

Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Controlled Experiment

  • 1. Do Search-Based Approaches Improve the Design of Self-Adaptive Systems ? A Controlled Experiment Sandro S. Andrade and Raimundo J. de A. Macêdo Distributed Systems Laboratory (LaSiD) Department of Computer Science Federal University of Bahia {sandros, macedo}@ufba.br CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 2. Agenda ● Context & motivation ● Our search-based architectural design approach ● The quasi-experiment ● Contributions of this paper ● Final remarks CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 3. Context & Motivation ● The need for self-adaptive systems (SAS): – Dynamic and uncertain operating environments – Stringent requirements for scalability, dependability, energy-efficiency, and performance – Incomplete/partial requirements – Problem/design space complexity approaching the limits of human capability – Rapidly varying workloads and data characteristics – Some problems are inherently self-adaptive or self-organizing (eg.: robots motion coordination, particles/swarm optimization, etc) CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 4. Context & Motivation ● MAPE-K Reference Architecture [1] [1] J. O. Kephart and D. M. Chess. Computer, vol. 36, no. 1, pp. 41–50, Jan. 2003. CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 5. Context & Motivation ● Current challenges: – Intricate problem space ● How to effectively elicit the adaptation requirements ? Goals: ● Type (regulation, tracking, disturbance rejection, optimization) ● Evolution (static, dynamic) ● Duration (persistent, temporary) ● Multiplicity (single, multiple) ● Dependency (independent, complementary, conflicting) ● Flexibility (rigid, constrained, unconstrained) Change: ● Source (internal, external) ● Anticipation (foreseen, foreseeable, unforeseen) ● Frequency (rare, frequent) ● Type (functional, non-functional, technological) CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 6. Context & Motivation ● Current challenges: – Intricate problem space ● How to effectively elicit the adaptation requirements ? – Large and complex solution space CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 7. Context & Motivation ● Current challenges: – Intricate problem space ● How to effectively elicit the adaptation requirements ? – Large and complex solution space ● Type (parametric, structural) ● Mechanism (signaling, frameworks, profiling, etc) ● Uncertainty handling (redundancy, filtering, smoothing) CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 8. Context & Motivation ● Current challenges: – Intricate problem space ● How to effectively elicit the adaptation requirements ? – Large and complex solution space ● Mechanism (symptoms databases, policies, queue networks, game theory, etc) ● System/Environment representation (ad-hoc, models) CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 9. Context & Motivation ● Current challenges: – Intricate problem space ● How to effectively elicit the adaptation requirements ? – Large and complex solution space ● Actuation law (intelligent agents, control theory, search-based, etc) ● Cardinality (single, utility functions, parent-front) ● Type (static, dynamic) CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 10. Context & Motivation ● Current challenges: – Intricate problem space ● How to effectively elicit the adaptation requirements ? – Large and complex solution space ● Type (parametric, structural) ● Mechanism (function pointers, aspect weaving, metaobjects, middleware-based) ● Timeliness (best-effort, guaranteed) CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 11. Context & Motivation ● Current challenges: – Intricate problem space ● How to effectively elicit the adaptation requirements ? – Large and complex solution space ● How to come up with an effective managing system architecture for the adaptation requirements at hand ? ● How to judiciously evaluate all available design alternatives ? ● How to make well-informed decisions about quality attributes trade-offs ? – Consequences: ● Lack of organized design knowledge for routine use ● False intuition, design bias, and sub-optimal architectures CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 12. Our Search-Based Design Approach – DuSE ● Research questions To which extent may SAS design knowledge be systematically represented for routine use ? How to support well-informed decision making regarding quality attribute trade-offs between alternative architectures for SAS ? CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 13. Our Search-Based Design Approach – DuSE ● We combine the use of ... – Metamodeling and Domain-Specific Languages (DSL) – Structured Architecture Design Spaces – Multi-Objective Optimization ● … in order to … – Enable a more disciplined and automated “handbook” of SAS design – Provide a solid basis for choosing between architectures which exhibit different quality attributes CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 14. Our Search-Based Design Approach – DuSE Domain-Specific Supporting Domain-Specific Design Dimensions + Quality Metrics Specified using the DuSE language Domain-Specific Design space UML Profile Generic Architecture Optimization Engine Initial System Model Annotated with corresponding UML Profile Pareto-front of Candidate Architectures [2] Andrade and Macêdo. SEKE. Boston, MA, USA: ACM, 2013. CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 15. Our Search-Based Design Approach – DuSE ` ● Domain independent ● Metamodel dependent ● Design space navigation engine ● Optimization [3] Andrade and Macêdo. SASO. Philadelphia, PA, engine (NSGA-II) USA: IEEE, 2013. CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 16. Our Search-Based Design Approach – DuSE [4] Andrade and Macêdo. SASO Demo Session. Philadelphia, PA, USA: IEEE, 2013. CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 17. Our Search-Based Design Approach – SA:DuSE ● SA:DuSE – A particular DuSE instance which captures the most prominent design dimensions of SASs ● Evaluation dimensions: – Is SAS design indeed a multi-objective problem ? – To which extent the quality of Pareto-optimal architectures are indeed observed in real prototypes ? – Do search-based approaches improve the design of SAS ? [5] Andrade and Macêdo. WoSiDA 2014. Florianópolis, SC, Brasil. 2014. CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 18. The Quasi-Experiment ● Analyze the design of SAS ● For the purpose of evaluating the search-based design approach we propose and a design process based on architecture styles catalogs ● With respect to the effectiveness and complexity of resulting architectures, as well as the method's potential for leveraging the acquisition of distilled design knowledge by novice architects ● From the point of view of researchers ● In the context of graduate students endowing systems with self-adaptation capabilities CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 19. The Quasi-Experiment ● Quasi-experiment: – Blocked subject-object study with a paired comparison design ● Subjects: – 24 students of a graduate program in Distributed and Ubiquitous Computing ● Experiment objects: – Two UML models representing the managed system (web server and MapReduce distributed architecture) ● Experiment tests: – Design a managing system architecture for both objects – Answer a questionnaire on quality attribute trade-offs in SAS CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 20. The Quasi-Experiment ● Independent variable: – Design method ● Search-based approach ● Style-based approach ● Dependent variables: – Effectiveness of resulting SAS architectures – Complexity of resulting SAS architectures – The method's potential for leveraging the acquisition of distilled SAS design knowledge by novice architects ● Experiment website: – http://wiki.ifba.edu.br/tr-ce012014 CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 21. The Quasi-Experiment ● Experiment timetable CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 22. The Quasi-Experiment ● Experiment tests CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 23. The Quasi-Experiment ● Experiment objects CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 24. The Quasi-Experiment ● Measuring effectiveness (Generational Distance) [6] Deb and Kalyanmoy. John Wiley & Sons, Inc. NY, USA: 2001. CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 25. The Quasi-Experiment ● Measuring complexity (Component Point) [7] Wijayasiriwardhane and Lai. Journal of Systems and Software. 2010. CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 26. The Quasi-Experiment ● Measuring the acquisition of distilled design knowledge: – Questionnaire with 10 multiple choice questions – Questions related to quality attributes trade-offs in the SAS domain – Questionnaire answered at the end of each experimentation day – Normalized grades assigned to each student/day CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 27. The Quasi-Experiment ● Hypotheses formulation H0 - there is no difference in design effectiveness between a feedback control loop design created using the style-based approach (RA) and a feedback control loop design created using the search-based approach (IA) CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro 1 H0 - there is no difference in design complexity between a feedback control loop design created using the RA and a feedback control loop design created using the IA 2 H0 - there is no difference in the acquisition of distilled design knowledge between a feedback control loop design created using the RA and a feedback control loop design created using the IA 3
  • 28. The Quasi-Experiment ● Descriptive statistics CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 29. The Quasi-Experiment ● Assumptions of parametric tests: – Data is taken from an interval or ratio scale – Observations are independent – Population variances are equal between groups (homoscedasticity) – Measured values are normally distributed α=0.05 CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 30. The Quasi-Experiment ● Assumptions of parametric tests: – Data is taken from an interval or ratio scale – Observations are independent – Population variances are equal between groups (homoscedasticity) – Measured values are normally distributed Cannot reject homoscedasticity α=0.05 CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 31. The Quasi-Experiment ● Assumptions of parametric tests: – Data is taken from an interval or ratio scale – Observations are independent – Population variances are equal between groups (homoscedasticity) – Measured values are normally distributed Can reject normal distribution α=0.05 CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 32. The Quasi-Experiment ● Assumptions of parametric tests: – Data is taken from an interval or ratio scale – Observations are independent – Population variances are equal between groups (homoscedasticity) – Measured values are normally distributed Wilcoxon Signed-Rank Test α=0.05 Paired t-test CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 33. The Quasi-Experiment ● Results of the statistical tests α=0.05 CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 34. The Quasi-Experiment ● Threats to validity – Construct: ● Inadequate preoperational explication of constructs ● Hypothesis guessing ● Objects representativeness – Internal: ● Maturation ● Instrumentation – External: ● Students acting as subjects – Conclusion: ● Experiment holders creating the experiment objects CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 35. Contributions of this paper ● To the best of our knowledge, SA:DuSE is the first effort in applying search-based approaches in the SAS domain ● To the best of our knowledge, this is the second controlled experiment in the SAS domain (the first one is [8]) ● We got some empirical evidence about the benefit of search-based approaches when designing SASs ● The potential for leveraging knowledge acquisition still deserves further investigation [8] Weyns, Iftikhar, and Soderlund. SEAMS. 2013. CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 36. Final Remarks ● A lot of research towards principled and systematic design of self-adaptive systems ● Effectiveness of systematic design spaces in capturing intricate solution spaces – However, qualitative approaches may be used to address another facets of architectural design ● Future work: – SA:DuSE expansion (NSGA-III) – More investigation on real prototypes – From design spaces to design theories CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro
  • 37. Thanks ! Questions ? Sandro S. Andrade and Raimundo J. de A. Macêdo {sandros, macedo}@ufba.br CBSoft2014 – Congresso Brasileiro de Software: Teoria e Prática – Sandro S. Andrade – sandros@ufba.br - @andradesandro