A white-box perspective on self-adaptation and self-awareness


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

A white-box perspective on self-adaptation and self-awareness

  1. 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. 2. whyadaptation?
  3. 3. ascensautonomic service component ensembles
  4. 4. ensembles“...open-ended, highly parallel, massively distributed systems... ...made of self-aware, self-adaptive,[...], autonomic components.” - ascens-ist.eu
  5. 5. Robot Swarms E-vehicles
  6. 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. 7. what isadaptation?
  8. 8. - Lotfi A. Zadeh,Proceedings of the IEEE, 1963
  9. 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. 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. 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. 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 goal achievement”
  13. 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. 14. is this adaptation? ... if f(x) then do_this; else do_that; endif ...
  15. 15. is this adaptation?“if the hill is too steep then assemble with other robots and try again”
  16. 16. is this adaptation? ... if (tooSteep || ... ){ setLight(green); setState(Anti_Phototaxis); } ..
  17. 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. 18. black-box adaptationIn other fields (e.g. Biology, Control Theory)  systems have a “default” behaviour & goal;  adaptation reacts to “external perturbations”.
  19. 19. white-boxadaptation
  20. 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. 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. 22. desiderataConceptual white-box definitions of adaptation... … useful to disambiguate “adaptivity”; … general enough & consistent with the literature; … useful for designing & analysing adaptive systems.
  23. 23. what is a program?“program = control + data” - Niklaus Wirth, “Algorithms + Data Structures = Programs”, Prentice-Hall (1976)
  24. 24. what is a program? CONTROL DATAData can be used to  store information;  influence the control;  both.
  25. 25. what is an adaptable program?“adaptable program = control + data
  26. 26. what is an adaptable program?“adaptable program = control + data control data + the rest ”
  27. 27. what is an adaptable program? CONTROL DATA CONTROL OTHER DATA“adaptation is the run-time modification of control data”
  28. 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. 29. are these definitions...… useful to disambiguate “adaptivity”?… general enough & consistent with the literature?… useful for designing & analysing adaptive systems?
  30. 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. 31. is this adaptation?...if (tooSteep || ... ){ setLight(green); is the state a control data? setState(Anti_Phototaxis);}..
  32. 32. design & analysis: control data & effectors AUTONOMIC MANAGER Analyze Plan Monitor Knowledge Execute EFFECTOR MANAGED ELEMENT CD CONTROL
  33. 33. design & analysis: MAPE-K Control AUTONOMIC MANAGER Data Analyze Plan Control Monitor Knowledge Execute Control Data MANAGED ELEMENT
  34. 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. 35. design & analysis: architectural styles CD CD CONTROL CONTROL do we want this?
  36. 36. consistency with literatureIdentify some control data such that its modification coincides with adaptation (as understood by the authors)
  37. 37. generality aspects rules contexts modelsconfiguration policiesvariables programs CONTROL DATA
  38. 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. 39. reflectiverussiandolls
  40. 40. - J. Meseguer et al., “Semantic models for distributed object reflection”, ECOOP 2002, LNCS 2374. Springer, 1–36.
  41. 41. logicalreflection
  42. 42. reflection tower
  43. 43. reflection tower
  44. 44. reflection tower
  45. 45. reflection tower
  46. 46. adaptation tower
  47. 47. adaptation tower
  48. 48. adaptation tower
  49. 49. what is Maude?“A high-level, declarative language that supports both equational and rewriting logic computation” – maude.cs.uiuc.edu
  50. 50. modular, functional, rule-based, etc. mod m(x) is import m1, m2,... sort s1, s2,... ops f, g,... eq f(...) = ... rl l => r endm
  51. 51. 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...
  52. 52. Maude is tool supported An Interpreter; Debuggers (declarative/interactive); Model checkers (e.g. LTL); Confluence & Termination checkers; A theorem prover; ...
  53. 53. 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.
  54. 54. nested configurations
  55. 55. message filtering & replication
  56. 56. black-box adaptation
  57. 57. white-box adaptation
  58. 58. white-box adaptation managerstate rules state rules(black-box component) interpreter (white-box component)
  59. 59. 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)
  60. 60. reflective russian dolls
  61. 61. reflective russian dolls
  62. 62. mobility
  63. 63. “formal” autonomic managersmodel checking, AUTONOMIC MANAGERlogical inference Analyze Plan Monitor Knowledge Execute EFFECTOR MANAGED ELEMENT CD CONTROL
  64. 64. concludingremarks
  65. 65. summaryWhite box-adaptation: Focus on “how” rather than “why”; 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;
  66. 66. 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), draft available at http://eprints.imtlucca.it/1059 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, draft available at http://eprints.imtlucca.it/1048/
  67. 67. Thanks!
  68. 68. alberto.lluch@imtlucca.itlinkedin.com/in/albertolluch