SlideShare a Scribd company logo
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
why
adaptation?
ascens
autonomic service component ensembles
ensembles
“...open-ended, highly parallel,
 massively distributed systems...

 ...made of self-aware, self-adaptive,
[...], autonomic components.”

                         - ascens-ist.eu
Robot Swarms




  E-vehicles
the goal of ascens

“...build ensembles in a way that combines
 software engineering,
 formal methods and
 autonomic, adaptive, self-aware systems.”

                             - ascens-ist.eu
what is
adaptation?
- Lotfi A. Zadeh,
Proceedings of the
        IEEE, 1963
adaptation

“... changing something (itself, others,
the environment) so that it would be
more suitable or fit for some purpose
than it would have otherwise been”

          - T. Lints, “The essentials in defining adaptation”,
                       4th Annual IEEE Systems Conference
adaptation in software systems


“Self-adaptive software evaluates its own behavior and
changes behavior when the evaluation indicates that
[…] better functionality or performance is possible.”

                 - Laddaga, R. “Self-adaptive software”,
             Technical Repeport 98-12, DARPA BAA, 1997.
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
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”
what's 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?
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 || ... ){
        setLight(green);
        setState(Anti_Phototaxis);
    }
    ..
is obstacle avoidance adaptive?

  “Obstacle avoidance may count as adaptive
behaviour 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.
black-box adaptation

In other fields (e.g. Biology, Control Theory)
   systems have a “default” behaviour & goal;
   adaptation reacts to “external perturbations”.
white-box
adaptation
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
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”
desiderata
Conceptual white-box definitions of adaptation...


 … useful to disambiguate “adaptivity”;


 … general enough & consistent with the literature;


 … useful for designing & analysing adaptive systems.
what is a program?


“program = control + data”
   - Niklaus Wirth, “Algorithms + Data Structures = Programs”,
                                          Prentice-Hall (1976)
what is a program?


           CONTROL           DATA


Data can be used to
   store information;
   influence the control;
   both.
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 control data”
a program is...
“...adaptable if it has a distinguished collection
of CD that can be modified at runtime.”

“...adaptive if its control data is modified at
runtime for some computation.”


“...self-adaptive if it modifies its own control
data at runtime.”
are these definitions...
… useful to disambiguate “adaptivity”?


… general enough & consistent with the literature?


… useful for designing & analysing adaptive systems?
on ambiguity
The 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.
is this adaptation?




...
if (tooSteep || ... ){
    setLight(green);
                           is the state a control data?
    setState(Anti_Phototaxis);
}
..
design & analysis: control data & effectors
                        AUTONOMIC MANAGER

                   Analyze               Plan




              Monitor        Knowledge          Execute




                                EFFECTOR
           MANAGED ELEMENT


                               CD


                         CONTROL
design & analysis: MAPE-K
               Control
         AUTONOMIC MANAGER
                Data

              Analyze               Plan




                                                     Control
    Monitor             Knowledge          Execute




                         Control
                          Data

              MANAGED ELEMENT
CD
design & analysis:
                          A        P
adaptation towers
                      M       K        E

          CD                  CD

                          A        P

       CONTROL        M                E
                              K

                              CD

          CD              A        P


                      M       K        E
       CONTROL
                              CD
                     MANAGED ELEMENT
design & analysis: architectural styles




        CD                 CD

     CONTROL            CONTROL


    do we want this?
consistency with literature

Identify some control data such that
  its modification coincides with
  adaptation (as understood by the authors)
generality

                aspects
                             rules
                  contexts
                                       models
configuration     policies
variables                            programs


            CONTROL DATA
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]
 IBM's 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]
reflective
russian
dolls
- J. Meseguer et al., “Semantic models for distributed object
         reflection”, ECOOP 2002, LNCS 2374. Springer, 1–36.
logical
reflection
reflection tower
reflection tower
reflection tower
reflection tower
adaptation tower
adaptation tower
adaptation tower
what is Maude?

“A high-level, declarative language
  that supports both equational
  and rewriting logic computation”

                      – maude.cs.uiuc.edu
modular, functional, rule-based, etc.


    mod m(x) is
      import m1, m2,...
      sort s1, s2,...
      ops f, g,...
      eq f(...) = ...
      rl l => r
    endm
Maude is also a semantic framework

models 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 distributed
architectures 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...
Maude is tool supported


 An Interpreter;
 Debuggers (declarative/interactive);
 Model checkers (e.g. LTL);
 Confluence & Termination checkers;
 A theorem prover;
 ...
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.
nested configurations
message filtering & replication
black-box adaptation
white-box adaptation
white-box adaptation

                           manager

state       rules       state        rules
(black-box component)
                         interpreter
                        (white-box component)
self-awareness
“Self-Awareness means
that the system is aware of                         manager
its self states
and behaviors. ”                                 state        rules

         - M.G. Hinchey, et al, “Self-managing
software”. IEEE Computer 39(2) 107–109, 2006.     interpreter
                                                 (white-box component)
reflective russian dolls
reflective russian dolls
mobility
“formal” autonomic managers
model checking,
                                 AUTONOMIC MANAGER
logical inference
                            Analyze               Plan




                       Monitor        Knowledge          Execute




                                         EFFECTOR
                    MANAGED ELEMENT


                                        CD


                                  CONTROL
concluding
remarks
summary
White 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;
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 (WRLA'12),
  2012, draft available at http://eprints.imtlucca.it/1048/
Thanks!
alberto.lluch@imtlucca.it
linkedin.com/in/albertolluch

More Related Content

PDF
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
PDF
Towards Systematically Engineering Ensembles - Martin Wirsing
PDF
Academic Course: 06 Morphogenetic Engineering
PDF
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
PDF
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
PDF
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
ODP
A conceptual framework for behavioural adaptation @ Leicester 2011
PDF
Design patterns for self adaptive systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Towards Systematically Engineering Ensembles - Martin Wirsing
Academic Course: 06 Morphogenetic Engineering
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Leicester 2011
Design patterns for self adaptive systems

Similar to A white-box perspective on self-adaptation and self-awareness (20)

PPTX
Self Adaptive Systems
PDF
PhD Thesis Defense
PDF
AN INVESTIGATION OF THE MONITORING ACTIVITY IN SELF ADAPTIVE SYSTEMS
PDF
Quality aware approach for engineering self-adaptive software systems
PDF
QUALITY-AWARE APPROACH FOR ENGINEERING SELF-ADAPTIVE SOFTWARE SYSTEMS
PDF
RCIM 2008 - - ALaRI
PDF
Dynamically Adapting Software Components for the Grid
PDF
S-CUBE LP: Techniques for design for adaptation
PDF
Self-adaptive Systems : An Introduction
PDF
Adapting Software Components Dynamically for the Grid
DOC
Adaptive Computing Seminar Report - Suyog Potdar
KEY
Tapp11 presentation
PPT
Autonomics Computing (with some of Adaptive Systems) and Requirements Enginee...
PPTX
Turning the Page: Complex Adaptive Systems in Emergency Management
PDF
Automatic Adaptation of Component-based Software - Issues and Experiences
PDF
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
PDF
Adapting Applications on the Fly
PDF
201209 An Introduction to Building Affective-Driven Self-Adaptive Software
PPTX
Powerful software linkedin
PDF
Self-adaptive Software Modeling Based on Contextual Requirements
Self Adaptive Systems
PhD Thesis Defense
AN INVESTIGATION OF THE MONITORING ACTIVITY IN SELF ADAPTIVE SYSTEMS
Quality aware approach for engineering self-adaptive software systems
QUALITY-AWARE APPROACH FOR ENGINEERING SELF-ADAPTIVE SOFTWARE SYSTEMS
RCIM 2008 - - ALaRI
Dynamically Adapting Software Components for the Grid
S-CUBE LP: Techniques for design for adaptation
Self-adaptive Systems : An Introduction
Adapting Software Components Dynamically for the Grid
Adaptive Computing Seminar Report - Suyog Potdar
Tapp11 presentation
Autonomics Computing (with some of Adaptive Systems) and Requirements Enginee...
Turning the Page: Complex Adaptive Systems in Emergency Management
Automatic Adaptation of Component-based Software - Issues and Experiences
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Adapting Applications on the Fly
201209 An Introduction to Building Affective-Driven Self-Adaptive Software
Powerful software linkedin
Self-adaptive Software Modeling Based on Contextual Requirements
Ad

More from FET AWARE project - Self Awareness in Autonomic Systems (20)

PDF
Academic Course: 13 Applications of and Challenges in Self-Awareness
PDF
Academic Course: 12 Safety and Ethics
PDF
Academic Course: 08 Pattern-based design of autonomic systems
PDF
Academic Course: 04 Introduction to complex systems and agent based modeling
PDF
Academic Course: 03 Autonomic Multi-Agent Systems
PDF
Academic Course: 02 Self-organization and emergence in networked systems
PDF
Academic Course: 01 Self-awarenesss and Computational Self-awareness
PDF
PDF
Industry Training: 04 Awareness Applications
PDF
Industry Training: 03 Awareness Simulation
PDF
Industry Training: 02 Awareness Properties
PDF
Industry Training: 01 Awareness Overview
PDF
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
PDF
Capturing the Immune System: From the wet-­lab to the robot, building better ...
PDF
Underwater search and rescue in swarm robotics - Mark Read
PDF
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
PDF
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
PDF
Ensemble-oriented programming of self-adaptive systems - Michele Loreti
PDF
Self-awareness and Adaptive Technologies: the Future of Operating Systems?
PDF
EnhancingWeb Process Self-Awareness with Context-Aware Service Composition
Academic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 12 Safety and Ethics
Academic Course: 08 Pattern-based design of autonomic systems
Academic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 02 Self-organization and emergence in networked systems
Academic Course: 01 Self-awarenesss and Computational Self-awareness
Industry Training: 04 Awareness Applications
Industry Training: 03 Awareness Simulation
Industry Training: 02 Awareness Properties
Industry Training: 01 Awareness Overview
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Capturing the Immune System: From the wet-­lab to the robot, building better ...
Underwater search and rescue in swarm robotics - Mark Read
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Ensemble-oriented programming of self-adaptive systems - Michele Loreti
Self-awareness and Adaptive Technologies: the Future of Operating Systems?
EnhancingWeb Process Self-Awareness with Context-Aware Service Composition
Ad

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Cloud computing and distributed systems.
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Spectroscopy.pptx food analysis technology
Approach and Philosophy of On baking technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Weekly Chronicles - August'25 Week I
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Understanding_Digital_Forensics_Presentation.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Unlocking AI with Model Context Protocol (MCP)
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
Cloud computing and distributed systems.
Programs and apps: productivity, graphics, security and other tools
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Building Integrated photovoltaic BIPV_UPV.pdf
Spectroscopy.pptx food analysis technology

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

  • 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
  • 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
  • 8. - Lotfi A. Zadeh, Proceedings of the IEEE, 1963
  • 9. adaptation “... changing something (itself, others, the environment) so that it would be more suitable or fit for some purpose than 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 and changes 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 goal achievement”
  • 13. what's 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 || ... ){ setLight(green); setState(Anti_Phototaxis); } ..
  • 17. is obstacle avoidance adaptive? “Obstacle avoidance may count as adaptive behaviour 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 adaptation In other fields (e.g. Biology, Control Theory)  systems have a “default” behaviour & goal;  adaptation reacts to “external perturbations”.
  • 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. desiderata Conceptual 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 DATA Data 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 collection of CD that can be modified at runtime.” “...adaptive if its control data is modified at runtime for some computation.” “...self-adaptive if it modifies its own control data at runtime.”
  • 29. are these definitions... … useful to disambiguate “adaptivity”? … general enough & consistent with the literature? … useful for designing & analysing adaptive systems?
  • 30. on ambiguity The 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? ... if (tooSteep || ... ){ setLight(green); is the state a control data? 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. CD design & analysis: A P adaptation 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: architectural styles CD CD CONTROL CONTROL do we want this?
  • 36. consistency with literature Identify some control data such that its modification coincides with adaptation (as understood by the authors)
  • 37. generality aspects rules contexts models configuration policies variables 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]  IBM's 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]
  • 40. - J. Meseguer et al., “Semantic models for distributed object reflection”, ECOOP 2002, LNCS 2374. Springer, 1–36.
  • 49. what is Maude? “A high-level, declarative language that supports both equational and rewriting logic computation” – maude.cs.uiuc.edu
  • 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. Maude is also a semantic framework models 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 distributed architectures 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. Maude is tool supported  An Interpreter;  Debuggers (declarative/interactive);  Model checkers (e.g. LTL);  Confluence & Termination checkers;  A theorem prover;  ...
  • 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.
  • 55. message filtering & replication
  • 58. white-box adaptation manager state rules state rules (black-box component) interpreter (white-box component)
  • 59. self-awareness “Self-Awareness means that the system is aware of manager its self states and behaviors. ” state rules - M.G. Hinchey, et al, “Self-managing software”. IEEE Computer 39(2) 107–109, 2006. interpreter (white-box component)
  • 63. “formal” autonomic managers model checking, AUTONOMIC MANAGER logical inference Analyze Plan Monitor Knowledge Execute EFFECTOR MANAGED ELEMENT CD CONTROL
  • 65. summary White 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. 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 (WRLA'12), 2012, draft available at http://eprints.imtlucca.it/1048/