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