Elements of Self-Adaptive
Architectures
      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 Approach

I 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 thresholds


I 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 approach


I 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 taxonomy
I 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 elements

I 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 – architectural




I 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 hypothesis


I 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 PiLar
I Workshop Self-Organizing Architectures (SOAR 2009)               14
Thanks for your attention




I 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. superposition
I Workshop Self-Organizing Architectures (SOAR 2009)                       16

SOAR 2009 (Cuesta)

  • 1.
    Elements of Self-Adaptive Architectures 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 Approach I Workshop Self-Organizing Architectures (SOAR 2009) 2
  • 3.
    Introduction  Growing complexityof 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 thresholds I 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 approach I Workshop Self-Organizing Architectures (SOAR 2009) 6
  • 7.
    Elements of AdaptiveArchitectures (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 AdaptiveArchitectures (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 taxonomy I Workshop Self-Organizing Architectures (SOAR 2009) 8
  • 9.
    On Compositionality  Thearchitectural 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 elements I Workshop Self-Organizing Architectures (SOAR 2009) 9
  • 10.
    An “Algebra” ofAdaptive 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 ofAdaptive 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 ofAdaptive 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 – architectural I Workshop Self-Organizing Architectures (SOAR 2009) 12
  • 13.
    An Algebra ofAdaptive 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 hypothesis I Workshop Self-Organizing Architectures (SOAR 2009) 13
  • 14.
    Conclusions and FutureWork  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 PiLar I Workshop Self-Organizing Architectures (SOAR 2009) 14
  • 15.
    Thanks for yourattention I Workshop Self-Organizing Architectures (SOAR 2009) 15
  • 16.
    On Decentralization  Implicationsof 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. superposition I Workshop Self-Organizing Architectures (SOAR 2009) 16