SlideShare a Scribd company logo
1 of 16
Elements of Self-AdaptiveArchitectures      Carlos E. Cuesta   Rey Juan Carlos University (Spain)         M. Pilar Romay    St. Paul CEU University (Spain)                                   SOAR 2009              1                            Cambridge, Sept. 14th, 2009
Contents Introduction Self-* Systems     Basic Definitions     Boundary Condition: Modularity Elements of Adaptive Architectures     A Taxonomy of Adaptive Elements Compositionality of Adaptive Architectures     A (sort of) “Algebra” of these Elements Conclusion     The potential of a Reflective Architectural Approach On the Decentralized ApproachI Workshop Self-Organizing Architectures (SOAR 2009)         2
Introduction Growing complexity of software     An effort to automate some of its “internal” functions        • In principle, with no “human in the control loop”     Giving rise to autonomic, self-managed and self-adaptive systems        • Generically, define a spectrum of self- * systems A great general impact on software engineering     Many common issues with software architecture        • An architectural approach seems promising        • Self-* architecture: is it indeed feasible? Self-* Systems are obviously self-referential     Implying (perhaps) a reflective approach        • Or even a reflective architectural approach?I Workshop Self-Organizing Architectures (SOAR 2009)                     3
Self-* Systems (I): Attributes Those which manifest full (or partial) automatic control over  one (or several) special attributes     Let them be named self-attributes (or ς-attributes)        • High-level and system-wide (but, considering subsystems too)     A non-exhaustive (and somehow progressive) list:        •   Self-monitoring (ςm)        •   Self-tuning (ςt) and self-configuration (ςC)        •   Self-optimization (ςO)        •   Self-protection (ςp) and self-healing (ςH)     But including also layouts and combinations        • Self-organization (ςo)        • Autonomy (ςa) and self-management (ςM)        • Self-adaptation (ςA)I Workshop Self-Organizing Architectures (SOAR 2009)                     4
Self-* Systems (II): Basic Definitions Let’s define an (heuristic) measure function φ for the degree of control of some ς-attribute     Mainly theoretical, to unify the reasoning – though it could turn     practical when associated to some measurement method     Additional definitions: thresholds        • Lower threshold (η) – the observed system has the ς-attribute           – I.e. φ [s, ςχ] ≥ η (for system s)        • Upper threshold (Ω) – the system has full control             – In the worst case, Ω = 1 at the very least Related definition: width (ω)     The area where our self-control is observable        • Where it is between these two thresholdsI Workshop Self-Organizing Architectures (SOAR 2009)                      5
Self-* Systems (III): Modularity It can be stated that dynamism implies modularity     Stable parts are “separated” from the rest by change itself        • Continuous evolution implies eventual (if partial) stability        • Two consequences of the Principle of Recursive System’s Construction, as          formulated by Heylighen (1992)        • Also similar to Morrison’s loci (2007)     Change normally happens where interaction takes place Boundary Condition     The evolutionary boundaries in a system tend to      converge with existing interfaces of components     Then, the width ω of a ς-attribute defines      bounded subsystems        • This supports the architectural approachI Workshop Self-Organizing Architectures (SOAR 2009)                                 6
Elements of Adaptive Architectures (I) Five main roles identified     Improved from a previous taxonomy for dynamic architectures     Dummy names chosen to avoid referring to specific self-properties Alpha (α)     Element in charge of itself: an autonomous element                                                                α     Most alphas would be composite – therefore autonomic systems     Goal: the whole system as an alpha Beta (β)                                                      β     Element partially in charge of itself: partial autonomic system     Either partial scope (β|S) or partial behavior (βB|) of both     Every alpha is also a beta (the limit is the upper threshold)I Workshop Self-Organizing Architectures (SOAR 2009)                      7
Elements of Adaptive Architectures (II) Gamma (γ)     An element in charge of another one: a controller            γ        • Depending on the self-property: a monitor, manager, configuror…     An external, now-internal control device        • An special, now-specific case of interaction Delta (δ)                                                  δ     An element doing some self-activity, not controlling another     An auxiliary element for autonomic subsystems     Providing indirect control by interaction        • Needs not to know the role it plays Epsilon (ε)                                            ε     An element without self-management     The topical “base” component in this taxonomyI Workshop Self-Organizing Architectures (SOAR 2009)                        8
On Compositionality The architectural approach assumes a compositional nature     This is, composition must provide several features        • Composite elements are managed just like atomic components        • That is the basis of the separation of concerns principle Algebraic vs. Predicative structure     Compositional systems are algebraic (constructive)     When internal structure must be considered: predicative     Self-properties define a “loop” which seems to imply a predicative       structure, therefore compositionality could be lost        • Reflection does not always compromise compositionality        • Is then reasonable to use an architectural approach?     To study this, we define an algebra with the five elementsI Workshop Self-Organizing Architectures (SOAR 2009)                       9
An “Algebra” of Adaptive Elements (I) Composition: identifying some common rules     Basic compositional rule translates just to non-(self)-managed              ε    ε    ε  Similar, but mostly irrelevant, for gammas and deltas  Slightly different for betas              β    α                   β    βI Workshop Self-Organizing Architectures (SOAR 2009)                   10
An Algebra of Adaptive Elements (II) Principle of Autonomic Composition     The union of autonomous elements (alphas) does not necessarily       provide an autonomic system (alpha)            α    β                 α                 ε     α An additional operator required (product) Autonomic Composition: Weak Rule            γ    β    εI Workshop Self-Organizing Architectures (SOAR 2009)                   11
An Algebra of Adaptive Elements (III) Autonomic Composition: Strong Rule      Just when the gamma is specifically tailored for an epsilon                γ      α       ε Other compositional features are similarly considered    Commutativity, associativity, etc.       • Though non-deterministic, it still seems to be an algebra       • Every condition seems to be algebraically expressible    Some consequences can be explored using this basis    If every property is algebraic, then the approach itself is compositional – architecturalI Workshop Self-Organizing Architectures (SOAR 2009)                                             12
An Algebra of Adaptive Elements (IV) Case study: an insertion within an autonomic sub-system     In principle results in a beta, but it might be an alpha         • How to explain that – without breaking boundaries?         • Scope extrusion effect (inspired by the pi-calculus)     Also, must consider the threshold effect (the extent of control)           γ    α γ ε            ε                                 α    β     ε Conclusion: every useful abstraction seems to be  algebraically expressible     Not proven, just a reasonable hypothesisI Workshop Self-Organizing Architectures (SOAR 2009)                     13
Conclusions and Future Work The architectural approach for self-management is feasible     Directly related to existing work on dynamic architectures     A more challenging and perhaps practical approach A (generic) reflective approach is also logical     Still a strongly self-referential nature, by definition It can be combined with the architectural approach     The (existing) reflective ADL PiLar is able to       describe necessary abstractions        • Created for dynamic architectures, already used for          several other purposes (e.g. aspect-orientation)     Future work: distilling of a specific self-*       architectural language, based on PiLarI Workshop Self-Organizing Architectures (SOAR 2009)               14
Thanks for your attentionI Workshop Self-Organizing Architectures (SOAR 2009)   15
On Decentralization Implications of considering this in the context of a  decentralized setting     I.e. there is no single point for managing the adaptations Our classification implies a decentralized setting     Every gamma is an independent adaptation centre        • But, being architectural, it is quite “agnostic” in this sense        • Gammas (and deltas) can (and does) interact to each other     The architectural approach provides a hierarchy        • A hierarchy of gammas can be described        • A hierarchy of controlled elements can be used        • But also possible to define a global gamma to act          over the entire architecture     Also, depend on the kind of interaction        • E.g. interaction vs. reflection vs. superpositionI Workshop Self-Organizing Architectures (SOAR 2009)                       16

More Related Content

Similar to Elements of Self-Adaptive Architectures Algebraic Approach</h1

Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureNicholas Zakas
 
Oracle Crystal Ball Screens
Oracle Crystal Ball ScreensOracle Crystal Ball Screens
Oracle Crystal Ball ScreensDave Maskell
 
[EN] Club Automation presentation "Quality Model for Industrial Automation", ...
[EN] Club Automation presentation "Quality Model for Industrial Automation", ...[EN] Club Automation presentation "Quality Model for Industrial Automation", ...
[EN] Club Automation presentation "Quality Model for Industrial Automation", ...Itris Automation Square
 
Decentralized Workflow Execution using a Chemical Metaphor
Decentralized Workflow Execution using a Chemical MetaphorDecentralized Workflow Execution using a Chemical Metaphor
Decentralized Workflow Execution using a Chemical MetaphorHéctor Fernández
 
Using Database Constraints Wisely
Using Database Constraints WiselyUsing Database Constraints Wisely
Using Database Constraints Wiselybarunio
 
OSC11 - The future is now for all your Business Processes
OSC11 - The future is now for all your Business ProcessesOSC11 - The future is now for all your Business Processes
OSC11 - The future is now for all your Business ProcessesEric D. Schabell
 
The Application Development Landscape - 2011
The Application Development Landscape -  2011The Application Development Landscape -  2011
The Application Development Landscape - 2011David Skok
 
Ashish pandey huawei osi_days2011_cgroups_understanding_better
Ashish pandey huawei osi_days2011_cgroups_understanding_betterAshish pandey huawei osi_days2011_cgroups_understanding_better
Ashish pandey huawei osi_days2011_cgroups_understanding_betterOpenSourceIndia
 
Ashish pandey huawei osi_days2011_cgroups_understanding_better
Ashish pandey huawei osi_days2011_cgroups_understanding_betterAshish pandey huawei osi_days2011_cgroups_understanding_better
Ashish pandey huawei osi_days2011_cgroups_understanding_bettersuniltomar04
 
Intro to Table-Grouping™ technology
Intro to Table-Grouping™ technologyIntro to Table-Grouping™ technology
Intro to Table-Grouping™ technologyDavid McFarlane
 

Similar to Elements of Self-Adaptive Architectures Algebraic Approach</h1 (15)

Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application Architecture
 
Oracle Crystal Ball Screens
Oracle Crystal Ball ScreensOracle Crystal Ball Screens
Oracle Crystal Ball Screens
 
[EN] Club Automation presentation "Quality Model for Industrial Automation", ...
[EN] Club Automation presentation "Quality Model for Industrial Automation", ...[EN] Club Automation presentation "Quality Model for Industrial Automation", ...
[EN] Club Automation presentation "Quality Model for Industrial Automation", ...
 
Struds overview
Struds overviewStruds overview
Struds overview
 
Decentralized Workflow Execution using a Chemical Metaphor
Decentralized Workflow Execution using a Chemical MetaphorDecentralized Workflow Execution using a Chemical Metaphor
Decentralized Workflow Execution using a Chemical Metaphor
 
Machine Purpose
Machine PurposeMachine Purpose
Machine Purpose
 
Using Database Constraints Wisely
Using Database Constraints WiselyUsing Database Constraints Wisely
Using Database Constraints Wisely
 
Use case+2-0
Use case+2-0Use case+2-0
Use case+2-0
 
OSC11 - The future is now for all your Business Processes
OSC11 - The future is now for all your Business ProcessesOSC11 - The future is now for all your Business Processes
OSC11 - The future is now for all your Business Processes
 
The Application Development Landscape - 2011
The Application Development Landscape -  2011The Application Development Landscape -  2011
The Application Development Landscape - 2011
 
Ashish pandey huawei osi_days2011_cgroups_understanding_better
Ashish pandey huawei osi_days2011_cgroups_understanding_betterAshish pandey huawei osi_days2011_cgroups_understanding_better
Ashish pandey huawei osi_days2011_cgroups_understanding_better
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOps
 
Ashish pandey huawei osi_days2011_cgroups_understanding_better
Ashish pandey huawei osi_days2011_cgroups_understanding_betterAshish pandey huawei osi_days2011_cgroups_understanding_better
Ashish pandey huawei osi_days2011_cgroups_understanding_better
 
Intro to Table-Grouping™ technology
Intro to Table-Grouping™ technologyIntro to Table-Grouping™ technology
Intro to Table-Grouping™ technology
 
SOA OSB BPEL BPM Presentation
SOA OSB BPEL BPM PresentationSOA OSB BPEL BPM Presentation
SOA OSB BPEL BPM Presentation
 

More from Carlos Cuesta

JITICE 2015 (Cuesta)
JITICE 2015 (Cuesta)JITICE 2015 (Cuesta)
JITICE 2015 (Cuesta)Carlos Cuesta
 
JITICE 2014 (Cuesta)
JITICE 2014 (Cuesta)JITICE 2014 (Cuesta)
JITICE 2014 (Cuesta)Carlos Cuesta
 
Redes Sociales 2014 (Cuesta)
Redes Sociales 2014 (Cuesta)Redes Sociales 2014 (Cuesta)
Redes Sociales 2014 (Cuesta)Carlos Cuesta
 
Semana de la Ciencia 2014 (Martínez-Prieto)
Semana de la Ciencia 2014 (Martínez-Prieto)Semana de la Ciencia 2014 (Martínez-Prieto)
Semana de la Ciencia 2014 (Martínez-Prieto)Carlos Cuesta
 
VADER 2011 (Pérez-Sotelo)
VADER 2011 (Pérez-Sotelo)VADER 2011 (Pérez-Sotelo)
VADER 2011 (Pérez-Sotelo)Carlos Cuesta
 
VADER 2011 (Moreno-Rivera)
VADER 2011 (Moreno-Rivera)VADER 2011 (Moreno-Rivera)
VADER 2011 (Moreno-Rivera)Carlos Cuesta
 

More from Carlos Cuesta (7)

JITICE 2015 (Cuesta)
JITICE 2015 (Cuesta)JITICE 2015 (Cuesta)
JITICE 2015 (Cuesta)
 
JITICE 2014 (Cuesta)
JITICE 2014 (Cuesta)JITICE 2014 (Cuesta)
JITICE 2014 (Cuesta)
 
Redes Sociales 2014 (Cuesta)
Redes Sociales 2014 (Cuesta)Redes Sociales 2014 (Cuesta)
Redes Sociales 2014 (Cuesta)
 
Semana de la Ciencia 2014 (Martínez-Prieto)
Semana de la Ciencia 2014 (Martínez-Prieto)Semana de la Ciencia 2014 (Martínez-Prieto)
Semana de la Ciencia 2014 (Martínez-Prieto)
 
SESoS 2013 (Romay)
SESoS 2013 (Romay)SESoS 2013 (Romay)
SESoS 2013 (Romay)
 
VADER 2011 (Pérez-Sotelo)
VADER 2011 (Pérez-Sotelo)VADER 2011 (Pérez-Sotelo)
VADER 2011 (Pérez-Sotelo)
 
VADER 2011 (Moreno-Rivera)
VADER 2011 (Moreno-Rivera)VADER 2011 (Moreno-Rivera)
VADER 2011 (Moreno-Rivera)
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

Elements of Self-Adaptive Architectures Algebraic Approach</h1

  • 1. Elements of Self-AdaptiveArchitectures Carlos E. Cuesta Rey Juan Carlos University (Spain) M. Pilar Romay St. Paul CEU University (Spain) SOAR 2009 1 Cambridge, Sept. 14th, 2009
  • 2. Contents Introduction Self-* Systems  Basic Definitions  Boundary Condition: Modularity Elements of Adaptive Architectures  A Taxonomy of Adaptive Elements Compositionality of Adaptive Architectures  A (sort of) “Algebra” of these Elements Conclusion  The potential of a Reflective Architectural Approach On the Decentralized ApproachI Workshop Self-Organizing Architectures (SOAR 2009) 2
  • 3. Introduction Growing complexity of software  An effort to automate some of its “internal” functions • In principle, with no “human in the control loop”  Giving rise to autonomic, self-managed and self-adaptive systems • Generically, define a spectrum of self- * systems A great general impact on software engineering  Many common issues with software architecture • An architectural approach seems promising • Self-* architecture: is it indeed feasible? Self-* Systems are obviously self-referential  Implying (perhaps) a reflective approach • Or even a reflective architectural approach?I Workshop Self-Organizing Architectures (SOAR 2009) 3
  • 4. Self-* Systems (I): Attributes Those which manifest full (or partial) automatic control over one (or several) special attributes  Let them be named self-attributes (or ς-attributes) • High-level and system-wide (but, considering subsystems too)  A non-exhaustive (and somehow progressive) list: • Self-monitoring (ςm) • Self-tuning (ςt) and self-configuration (ςC) • Self-optimization (ςO) • Self-protection (ςp) and self-healing (ςH)  But including also layouts and combinations • Self-organization (ςo) • Autonomy (ςa) and self-management (ςM) • Self-adaptation (ςA)I Workshop Self-Organizing Architectures (SOAR 2009) 4
  • 5. Self-* Systems (II): Basic Definitions Let’s define an (heuristic) measure function φ for the degree of control of some ς-attribute  Mainly theoretical, to unify the reasoning – though it could turn practical when associated to some measurement method  Additional definitions: thresholds • Lower threshold (η) – the observed system has the ς-attribute – I.e. φ [s, ςχ] ≥ η (for system s) • Upper threshold (Ω) – the system has full control – In the worst case, Ω = 1 at the very least Related definition: width (ω)  The area where our self-control is observable • Where it is between these two thresholdsI Workshop Self-Organizing Architectures (SOAR 2009) 5
  • 6. Self-* Systems (III): Modularity It can be stated that dynamism implies modularity  Stable parts are “separated” from the rest by change itself • Continuous evolution implies eventual (if partial) stability • Two consequences of the Principle of Recursive System’s Construction, as formulated by Heylighen (1992) • Also similar to Morrison’s loci (2007)  Change normally happens where interaction takes place Boundary Condition  The evolutionary boundaries in a system tend to converge with existing interfaces of components  Then, the width ω of a ς-attribute defines bounded subsystems • This supports the architectural approachI Workshop Self-Organizing Architectures (SOAR 2009) 6
  • 7. Elements of Adaptive Architectures (I) Five main roles identified  Improved from a previous taxonomy for dynamic architectures  Dummy names chosen to avoid referring to specific self-properties Alpha (α)  Element in charge of itself: an autonomous element α  Most alphas would be composite – therefore autonomic systems  Goal: the whole system as an alpha Beta (β) β  Element partially in charge of itself: partial autonomic system  Either partial scope (β|S) or partial behavior (βB|) of both  Every alpha is also a beta (the limit is the upper threshold)I Workshop Self-Organizing Architectures (SOAR 2009) 7
  • 8. Elements of Adaptive Architectures (II) Gamma (γ)  An element in charge of another one: a controller γ • Depending on the self-property: a monitor, manager, configuror…  An external, now-internal control device • An special, now-specific case of interaction Delta (δ) δ  An element doing some self-activity, not controlling another  An auxiliary element for autonomic subsystems  Providing indirect control by interaction • Needs not to know the role it plays Epsilon (ε) ε  An element without self-management  The topical “base” component in this taxonomyI Workshop Self-Organizing Architectures (SOAR 2009) 8
  • 9. On Compositionality The architectural approach assumes a compositional nature  This is, composition must provide several features • Composite elements are managed just like atomic components • That is the basis of the separation of concerns principle Algebraic vs. Predicative structure  Compositional systems are algebraic (constructive)  When internal structure must be considered: predicative  Self-properties define a “loop” which seems to imply a predicative structure, therefore compositionality could be lost • Reflection does not always compromise compositionality • Is then reasonable to use an architectural approach?  To study this, we define an algebra with the five elementsI Workshop Self-Organizing Architectures (SOAR 2009) 9
  • 10. An “Algebra” of Adaptive Elements (I) Composition: identifying some common rules  Basic compositional rule translates just to non-(self)-managed ε ε ε  Similar, but mostly irrelevant, for gammas and deltas  Slightly different for betas β α β βI Workshop Self-Organizing Architectures (SOAR 2009) 10
  • 11. An Algebra of Adaptive Elements (II) Principle of Autonomic Composition  The union of autonomous elements (alphas) does not necessarily provide an autonomic system (alpha) α β α ε α An additional operator required (product) Autonomic Composition: Weak Rule γ β εI Workshop Self-Organizing Architectures (SOAR 2009) 11
  • 12. An Algebra of Adaptive Elements (III) Autonomic Composition: Strong Rule  Just when the gamma is specifically tailored for an epsilon γ α ε Other compositional features are similarly considered  Commutativity, associativity, etc. • Though non-deterministic, it still seems to be an algebra • Every condition seems to be algebraically expressible  Some consequences can be explored using this basis  If every property is algebraic, then the approach itself is compositional – architecturalI Workshop Self-Organizing Architectures (SOAR 2009) 12
  • 13. An Algebra of Adaptive Elements (IV) Case study: an insertion within an autonomic sub-system  In principle results in a beta, but it might be an alpha • How to explain that – without breaking boundaries? • Scope extrusion effect (inspired by the pi-calculus)  Also, must consider the threshold effect (the extent of control) γ α γ ε ε α β ε Conclusion: every useful abstraction seems to be algebraically expressible  Not proven, just a reasonable hypothesisI Workshop Self-Organizing Architectures (SOAR 2009) 13
  • 14. Conclusions and Future Work The architectural approach for self-management is feasible  Directly related to existing work on dynamic architectures  A more challenging and perhaps practical approach A (generic) reflective approach is also logical  Still a strongly self-referential nature, by definition It can be combined with the architectural approach  The (existing) reflective ADL PiLar is able to describe necessary abstractions • Created for dynamic architectures, already used for several other purposes (e.g. aspect-orientation)  Future work: distilling of a specific self-* architectural language, based on PiLarI Workshop Self-Organizing Architectures (SOAR 2009) 14
  • 15. Thanks for your attentionI Workshop Self-Organizing Architectures (SOAR 2009) 15
  • 16. On Decentralization Implications of considering this in the context of a decentralized setting  I.e. there is no single point for managing the adaptations Our classification implies a decentralized setting  Every gamma is an independent adaptation centre • But, being architectural, it is quite “agnostic” in this sense • Gammas (and deltas) can (and does) interact to each other  The architectural approach provides a hierarchy • A hierarchy of gammas can be described • A hierarchy of controlled elements can be used • But also possible to define a global gamma to act over the entire architecture  Also, depend on the kind of interaction • E.g. interaction vs. reflection vs. superpositionI Workshop Self-Organizing Architectures (SOAR 2009) 16