A White-box Perspective on Self-Adaptation and Self-Awareness          (with a focus on Reflective Russian Dolls)         ...
whyadaptation?
ascensautonomic service component ensembles
ensembles“...open-ended, highly parallel, massively distributed systems... ...made of self-aware, self-adaptive,[...], aut...
Robot Swarms  E-vehicles
the goal of ascens“...build ensembles in a way that combines software engineering, formal methods and autonomic, adaptive,...
what isadaptation?
- Lotfi A. Zadeh,Proceedings of the        IEEE, 1963
adaptation“... changing something (itself, others,the environment) so that it would bemore suitable or fit for some purpos...
adaptation in software systems“Self-adaptive software evaluates its own behavior andchanges behavior when the evaluation i...
adaptation in software systems“Self-adaptive software modifies its own behavior in response to changes in its operating en...
adaptation in software systems“A software system is self-adaptive if it modifies its behaviour as a reaction to a change i...
whats the problem with software?Most programs... ...“change behaviour” (e.g. conditional branching); ...“to react to ext...
is this adaptation?  ...  if f(x) then   do_this;  else   do_that;  endif  ...
is this adaptation?“if the hill is too steep then  assemble with other robots and try again”
is this adaptation?    ...    if (tooSteep || ... ){        setState(Anti_Phototaxis);    }    ..
is obstacle avoidance adaptive?  “Obstacle avoidance may count as adaptivebehaviour if […] obstacles appear rarely. [...] ...
black-box adaptationPopular on some fields (Biology, Control Theory, ...)    systems have a “default” behaviour & goal;  ...
white-boxadaptation
5W1H (six honest men)(1)   Why? (e.g. robustness? performance? goals?)(2)   When? (e.g. reactively or proactively?)(3)   W...
this talk......focuses on the “HOW”   “A software system is self-adaptive if it     modifies its behaviour     as a reacti...
desiderataConceptual white-box definitions of adaptation... … useful to disambiguate “adaptivity”; … general enough & co...
what is a program?“program = control + data”   - Niklaus Wirth, “Algorithms + Data Structures = Programs”,                ...
what is a program?           CONTROL           DATAData can be used to   store information;   influence the control;   ...
what is an adaptable program?“adaptable program =              control + data
what is an adaptable program?“adaptable program =              control + data       control data + the rest ”
what is an adaptable program?          CONTROL DATA      CONTROL    OTHER DATA“adaptation is the run-time modification of ...
a program is...“...adaptable if it has a distinguished collectionof CD that can be modified at runtime.”“...adaptive if it...
are these definitions...… useful to disambiguate “adaptivity”?… general enough & consistent with the literature?… useful f...
on ambiguityThe choice of CD is (of course) arbitrary: The same system can be adaptive in different ways!                 ...
is this adaptation?...                          is the state a control data?if (tooSteep || ... ){    setState(Anti_Photot...
design & analysis: control data & effectors                        AUTONOMIC MANAGER                   Analyze            ...
design & analysis: MAPE-K               Control         AUTONOMIC MANAGER                Data              Analyze        ...
CDdesign & analysis:                          A        Padaptation towers                      M       K        E         ...
design & analysis: patterns/styles      CD                CD   CONTROL           CONTROLdo you want this?
consistency with literatureIdentify some control data such that  its modification coincides with  adaptation (as understoo...
generality                aspects                             rules                  contexts                             ...
some examples Aspect-Oriented Computing [Salvaneschi et al. 2011] Service Component Ensemble Language [De Nicola et al. ...
reflectiverussiandolls
- J. Meseguer et al., “Semantic models for distributed object         reflection”, ECOOP 2002, LNCS 2374. Springer, 1–36.
logicalreflection
reflection tower
reflection tower
reflection tower
reflection tower
adaptation tower
adaptation tower
adaptation tower
logical reflectionin Maude
what is Maude?“A high-level, declarative language  that supports both equational  and rewriting logic computation”        ...
modular, functional, rule-based, etc.    mod m(x) is      import m1, m2,...      sort s1, s2,...      ops f, g,...      eq...
Maude is also a semantic frameworkmodels of concurrent computation: equational programming, lambda calculi,   Petri nets, ...
Maude is tool supported An Interpreter; Debuggers (declarative/interactive); Model checkers (e.g. LTL); Confluence & T...
maude supports logical reflection META-LEVEL is a module (the universal theory) where   – modules, terms, rules, equation...
nestedconfigurations
nested configurations
message filtering & replication
black-box adaptation
white-box adaptation
white-box adaptation                           managerstate       rules       state        rules(black-box component)     ...
self-awareness“Self-Awareness meansthat the system is aware of                         managerits self statesand behaviors...
reflective russian dolls
reflective russian dolls
mobility & adaptation
“formal” autonomic managersmodel checking,                                 AUTONOMIC MANAGERlogical inference             ...
concludingremarks
summaryWhite box-adaptation: Focus on internal mechanisms, rather than manifestations; Adaptation logic decided by the d...
main references M. Salehie, L. Tahvildari, Self-adaptive software: Landscape and research  challenges. ACM Transactions o...
Thanks!
alberto.lluch@imtlucca.itlinkedin.com/in/albertolluch
Upcoming SlideShare
Loading in …5
×

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

1,607
-1

Published on

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

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,607
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  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 its goal”
  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 || ... ){ 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 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. 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?... is the state a control data?if (tooSteep || ... ){ 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: patterns/styles CD CD CONTROL CONTROLdo you 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. logical reflectionin Maude
  50. 50. what is Maude?“A high-level, declarative language that supports both equational and rewriting logic computation” – maude.cs.uiuc.edu
  51. 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. 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. 53. Maude is tool supported An Interpreter; Debuggers (declarative/interactive); Model checkers (e.g. LTL); Confluence & Termination checkers; A theorem prover; ...
  54. 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. 55. nestedconfigurations
  56. 56. nested configurations
  57. 57. message filtering & replication
  58. 58. black-box adaptation
  59. 59. white-box adaptation
  60. 60. white-box adaptation managerstate rules state rules(black-box component) interpreter (white-box component)
  61. 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. 62. reflective russian dolls
  63. 63. reflective russian dolls
  64. 64. mobility & adaptation
  65. 65. “formal” autonomic managersmodel checking, AUTONOMIC MANAGERlogical inference Analyze Plan Monitor Knowledge Execute EFFECTOR MANAGED ELEMENT CD CONTROL
  66. 66. concludingremarks
  67. 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. 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. 69. Thanks!
  70. 70. alberto.lluch@imtlucca.itlinkedin.com/in/albertolluch
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×