A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus on Russian Dolls) @ AWASS Summer School 2012
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus on Russian Dolls) @ AWASS Summer School 2012

Uploaded on

The slides of my lecture at the AWASS 2012 Summer School on Self-Awareness in Autonomic Computing.

The slides of my lecture at the AWASS 2012 Summer School on Self-Awareness in Autonomic Computing.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 463

http://www.albertolluch.com 454 6
http://www.linkedin.com 2
http://translate.googleusercontent.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus on Reflective Russian Dolls) Alberto Lluch Lafuente alberto.lluch@imtlucca.it ascens autonomic service component ensembles Roberto Bruni, University of Pisa Andrea Corradini, University of Pisa Fabio Gadducci, University of Pisa Andrea Vandin, IMT Lucca 10th-16th June 2012 Edinburgh
  • 2. whyadaptation?
  • 3. ascensautonomic service component ensembles
  • 4. ensembles“...open-ended, highly parallel, massively distributed systems... ...made of self-aware, self-adaptive,[...], autonomic components.” - ascens-ist.eu
  • 5. Robot Swarms E-vehicles
  • 6. the goal of ascens“...build ensembles in a way that combines software engineering, formal methods and autonomic, adaptive, self-aware systems.” - ascens-ist.eu
  • 7. what isadaptation?
  • 8. - Lotfi A. Zadeh,Proceedings of the IEEE, 1963
  • 9. adaptation“... changing something (itself, others,the environment) so that it would bemore suitable or fit for some purposethan it would have otherwise been” - T. Lints, “The essentials in defining adaptation”, 4th Annual IEEE Systems Conference
  • 10. adaptation in software systems“Self-adaptive software evaluates its own behavior andchanges behavior when the evaluation indicates that[…] better functionality or performance is possible.” - Laddaga, R. “Self-adaptive software”, Technical Repeport 98-12, DARPA BAA, 1997.
  • 11. adaptation in software systems“Self-adaptive software modifies its own behavior in response to changes in its operating environment.” - P. Oreizy, et al, “An architecture-based approach to self- adaptive software”. IEEE Intelligent Sys. 14, 3, 54–62, 1999
  • 12. adaptation in software systems“A software system is self-adaptive if it modifies its behaviour as a reaction to a change in itself or its context to maintain/improve its goal”
  • 13. whats the problem with software?Most programs... ...“change behaviour” (e.g. conditional branching); ...“to react to external perturbations” (e.g. inputs); ...“to reach goals” (e.g. functional requirements).How do we distinguish... ...an adaptive software from a non adaptive one? ...adaptation logic from application logic?
  • 14. is this adaptation? ... if f(x) then do_this; else do_that; endif ...
  • 15. is this adaptation?“if the hill is too steep then assemble with other robots and try again”
  • 16. is this adaptation? ... if (tooSteep || ... ){ setState(Anti_Phototaxis); } ..
  • 17. is obstacle avoidance adaptive? “Obstacle avoidance may count as adaptivebehaviour if […] obstacles appear rarely. [...] If the ‘normal’ environment is […] obstacle-rich, then avoidance becomes [...] “normal”behaviour rather than an adaptation.” - Ezequiel di Paolo, course on “Adaptive Systems”, University of Sussex, Spring 2006.
  • 18. black-box adaptationPopular on some fields (Biology, Control Theory, ...)  systems have a “default” behaviour & goal;  adaptation reacts to “external perturbations”.In software systems:  Useful in the analysis;  Not so useful in the design, reuse, etc.
  • 19. white-boxadaptation
  • 20. 5W1H (six honest men)(1) Why? (e.g. robustness? performance? goals?)(2) When? (e.g. reactively or proactively?)(3) Where? (e.g. which architectural level?)(4) What? (e.g. which artifacts?)(5) Who? (e.g. autonomic managers? humans?)(6) How? (e.g. which actions, in which order?) - M. Salehie et al., “Self-adaptive software: Landscape and research challenges”. ACM Transactions on Autonomous and Adaptive Systems 4(2), 2009 - R. Laddag. “Active software”. Int. Workshop on Self-Adaptive Software. 11–26, 2000
  • 21. this talk......focuses on the “HOW” “A software system is self-adaptive if it modifies its behaviour as a reaction to a change in itself or its context to maintain/improve goal achievement”
  • 22. desiderataConceptual white-box definitions of adaptation... … useful to disambiguate “adaptivity”; … general enough & consistent with the literature; … useful for designing & analysing adaptive systems.
  • 23. what is a program?“program = control + data” - Niklaus Wirth, “Algorithms + Data Structures = Programs”, Prentice-Hall (1976)
  • 24. what is a program? CONTROL DATAData can be used to  store information;  influence the control;  both.
  • 25. what is an adaptable program?“adaptable program = control + data
  • 26. what is an adaptable program?“adaptable program = control + data control data + the rest ”
  • 27. what is an adaptable program? CONTROL DATA CONTROL OTHER DATA“adaptation is the run-time modification of control data”
  • 28. a program is...“...adaptable if it has a distinguished collectionof CD that can be modified at runtime.”“...adaptive if its control data is modified atruntime for some computation.”“...self-adaptive if it modifies its own controldata at runtime.”
  • 29. are these definitions...… useful to disambiguate “adaptivity”?… general enough & consistent with the literature?… useful for designing & analysing adaptive systems?
  • 30. on ambiguityThe choice of CD is (of course) arbitrary: The same system can be adaptive in different ways! but......the responsibility of declaring “what is the adaptive behaviour”is passed from the observer to the designer.
  • 31. is this adaptation?... is the state a control data?if (tooSteep || ... ){ setState(Anti_Phototaxis);}..
  • 32. design & analysis: control data & effectors AUTONOMIC MANAGER Analyze Plan Monitor Knowledge Execute EFFECTOR MANAGED ELEMENT CD CONTROL
  • 33. design & analysis: MAPE-K Control AUTONOMIC MANAGER Data Analyze Plan Control Monitor Knowledge Execute Control Data MANAGED ELEMENT
  • 34. CDdesign & analysis: A Padaptation towers M K E CD CD A P CONTROL M E K CD CD A P M K E CONTROL CD MANAGED ELEMENT
  • 35. design & analysis: patterns/styles CD CD CONTROL CONTROLdo you want this?
  • 36. consistency with literatureIdentify some control data such that its modification coincides with adaptation (as understood by the authors)
  • 37. generality aspects rules contexts modelsconfiguration policiesvariables programs CONTROL DATA
  • 38. some examples Aspect-Oriented Computing [Salvaneschi et al. 2011] Service Component Ensemble Language [De Nicola et al. 2012] Specification-carrying programs [Pavlovic 2000] Context-Oriented Computing [Ghezzi et al. 2011] IBMs MAPE-K [Horn 2001] Run-time architectural models [Oreizy et al. 1999] FORMS [Weyns et al. 2012] THIS TALK Model-based adaptation [Zhang&Cheng 2006] Coordination contexts [Andrade&Fiadeiro 2002] Non-deterministic interactions [Broy et al. 2009] Adaptation patterns [Cabri et al. 2011] ... Reflective Russian Dolls [Meseguer&Talcott 2002]
  • 39. reflectiverussiandolls
  • 40. - J. Meseguer et al., “Semantic models for distributed object reflection”, ECOOP 2002, LNCS 2374. Springer, 1–36.
  • 41. logicalreflection
  • 42. reflection tower
  • 43. reflection tower
  • 44. reflection tower
  • 45. reflection tower
  • 46. adaptation tower
  • 47. adaptation tower
  • 48. adaptation tower
  • 49. logical reflectionin Maude
  • 50. what is Maude?“A high-level, declarative language that supports both equational and rewriting logic computation” – maude.cs.uiuc.edu
  • 51. modular, functional, rule-based, etc. mod m(x) is import m1, m2,... sort s1, s2,... ops f, g,... eq f(...) = ... rl l => r endm
  • 52. Maude is also a semantic frameworkmodels of concurrent computation: equational programming, lambda calculi, Petri nets, process algebras (CCS and pi-calculus), actors, operational semantics of languages (via K, SOS): Java, C, Python, Haskell, agent languages, active networks languages, hardware description languages,logical framework and metatool: linear logic, translations between theorem provers, type systems, open calculus of constructions, tile logic distributedarchitectures and components: UML, OCL, MOF, Service architectures and middlewares, open distributed processing, models, specification and analysis of communication protocols: active networks, wireless sensor networks, firewire leader election protocol, modeling and analysis of security protocols: cryptographic protocol specification language CAPSL, MSR, security specification formalism, Maude-NPA, real-time, biological, probabilistic systems: real-time maude, pathway logic...
  • 53. Maude is tool supported An Interpreter; Debuggers (declarative/interactive); Model checkers (e.g. LTL); Confluence & Termination checkers; A theorem prover; ...
  • 54. maude supports logical reflection META-LEVEL is a module (the universal theory) where – modules, terms, rules, equations, sorts, etc. are data. – matching, rule application, rewriting, etc. are functions. META-LEVEL is a module so... it can be treated as data again, and again... enabling the tower of reflection. Meta-programming applications – transformation of modules; – analysis of modules; – ... – adaptation.
  • 55. nestedconfigurations
  • 56. nested configurations
  • 57. message filtering & replication
  • 58. black-box adaptation
  • 59. white-box adaptation
  • 60. white-box adaptation managerstate rules state rules(black-box component) interpreter (white-box component)
  • 61. self-awareness“Self-Awareness meansthat the system is aware of managerits self statesand behaviors. ” state rules - M.G. Hinchey, et al, “Self-managingsoftware”. IEEE Computer 39(2) 107–109, 2006. interpreter (white-box component)
  • 62. reflective russian dolls
  • 63. reflective russian dolls
  • 64. mobility & adaptation
  • 65. “formal” autonomic managersmodel checking, AUTONOMIC MANAGERlogical inference Analyze Plan Monitor Knowledge Execute EFFECTOR MANAGED ELEMENT CD CONTROL
  • 66. concludingremarks
  • 67. summaryWhite box-adaptation: Focus on internal mechanisms, rather than manifestations; Adaptation logic decided by the designers, rather than observers;“Control Data” white box criteria: “adaptable program = control + {control data + other data}”; Wide spectrum of control data: from “parameters” to “programs”;Reflective Russian Dolls: Support formal techniques for adaptation and awareness; Rely on logical reflection and wrapping techniques;
  • 68. main references M. Salehie, L. Tahvildari, Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems 4 (2), 2009. R. Bruni, A. Corradini, F. Gadducci, A. Lluch Lafuente, A. Vandin, A Conceptual Framework for Adaptation, Proceedings of the 15th International Conference on the Fundamentals of Software Engineering (FASE’12), LNCS, vol. 7212, pp. 240–254, Springer (2012) J. Meseguer, C. Talcott, Semantic models for distributed object reflection. In ECOOP 2002, B. Magnusson, Ed. LNCS Series, vol. 2374. Springer, 1–36, 2002. R. Bruni, A. Corradini, F. Gadducci, A. Lluch Lafuente, A. Vandin, Modelling and analyzing adaptive self-assembling strategies with Maude, Pre-proceedings of the International Workshop on Rewriting Logic and its Applications (WRLA12), 2012
  • 69. Thanks!
  • 70. alberto.lluch@imtlucca.itlinkedin.com/in/albertolluch