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 its goal”
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 || ... ){
        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

Popular 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.
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?




...
                          is the state a control data?
if (tooSteep || ... ){
    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: patterns/styles




      CD                CD

   CONTROL           CONTROL


do you 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
logical reflection
in Maude
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
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 & adaptation
“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 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;
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 (WRLA'12),
  2012
Thanks!
alberto.lluch@imtlucca.it
linkedin.com/in/albertolluch

More Related Content

Viewers also liked (6)

PDF
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
CHOOSE
 
PDF
Practical Models in Practice
CHOOSE
 
PPTX
Self awareness
Eric Pazziuagan
 
PPT
Self awareness and Self Management
ellaboi
 
PPTX
Casting and its types
Waqas Ahmed
 
PDF
8 Tips for an Awesome Powerpoint Presentation
Slides | Presentation Design Agency
 
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
CHOOSE
 
Practical Models in Practice
CHOOSE
 
Self awareness
Eric Pazziuagan
 
Self awareness and Self Management
ellaboi
 
Casting and its types
Waqas Ahmed
 
8 Tips for an Awesome Powerpoint Presentation
Slides | Presentation Design Agency
 

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

PDF
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
Alberto Lluch Lafuente
 
PDF
Design patterns for self adaptive systems
ijseajournal
 
ODP
A conceptual framework for behavioural adaptation @ Leicester 2011
Alberto Lluch Lafuente
 
PDF
AN INVESTIGATION OF THE MONITORING ACTIVITY IN SELF ADAPTIVE SYSTEMS
ijseajournal
 
PPTX
Self Adaptive Systems
Adeel Rasheed
 
PDF
Quality aware approach for engineering self-adaptive software systems
csandit
 
PDF
QUALITY-AWARE APPROACH FOR ENGINEERING SELF-ADAPTIVE SOFTWARE SYSTEMS
cscpconf
 
PDF
PhD Thesis Defense
Filip Krikava
 
PDF
RCIM 2008 - - ALaRI
Marco Santambrogio
 
PDF
S-CUBE LP: Techniques for design for adaptation
virtual-campus
 
PDF
Dynamically Adapting Software Components for the Grid
Editor IJCATR
 
PDF
Adapting Software Components Dynamically for the Grid
IOSR Journals
 
PDF
Automatic Adaptation of Component-based Software - Issues and Experiences
Madjid KETFI
 
PDF
Adapting Applications on the Fly
Madjid KETFI
 
DOC
Adaptive Computing Seminar Report - Suyog Potdar
Suyog Potdar
 
KEY
Tapp11 presentation
Paolo Missier
 
PPTX
Turning the Page: Complex Adaptive Systems in Emergency Management
Gregory Vigneaux
 
PDF
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Roberto Casadei
 
PDF
A GUI-driven prototype for synthesizing self-adaptation decision
journalBEEI
 
PDF
Dynamic updating of component-based applications
Madjid KETFI
 
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
Alberto Lluch Lafuente
 
Design patterns for self adaptive systems
ijseajournal
 
A conceptual framework for behavioural adaptation @ Leicester 2011
Alberto Lluch Lafuente
 
AN INVESTIGATION OF THE MONITORING ACTIVITY IN SELF ADAPTIVE SYSTEMS
ijseajournal
 
Self Adaptive Systems
Adeel Rasheed
 
Quality aware approach for engineering self-adaptive software systems
csandit
 
QUALITY-AWARE APPROACH FOR ENGINEERING SELF-ADAPTIVE SOFTWARE SYSTEMS
cscpconf
 
PhD Thesis Defense
Filip Krikava
 
RCIM 2008 - - ALaRI
Marco Santambrogio
 
S-CUBE LP: Techniques for design for adaptation
virtual-campus
 
Dynamically Adapting Software Components for the Grid
Editor IJCATR
 
Adapting Software Components Dynamically for the Grid
IOSR Journals
 
Automatic Adaptation of Component-based Software - Issues and Experiences
Madjid KETFI
 
Adapting Applications on the Fly
Madjid KETFI
 
Adaptive Computing Seminar Report - Suyog Potdar
Suyog Potdar
 
Tapp11 presentation
Paolo Missier
 
Turning the Page: Complex Adaptive Systems in Emergency Management
Gregory Vigneaux
 
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Roberto Casadei
 
A GUI-driven prototype for synthesizing self-adaptation decision
journalBEEI
 
Dynamic updating of component-based applications
Madjid KETFI
 
Ad

More from Alberto Lluch Lafuente (14)

PDF
Many-to-Many Information Flow Policies
Alberto Lluch Lafuente
 
PDF
Aggregate Programming through a Soft Modal Logic
Alberto Lluch Lafuente
 
PDF
A Semiring-valued Temporal Logic
Alberto Lluch Lafuente
 
PDF
Can we efficiently verify concurrent programs under relaxed memory models in ...
Alberto Lluch Lafuente
 
PDF
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Alberto Lluch Lafuente
 
PDF
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
Alberto Lluch Lafuente
 
PDF
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Alberto Lluch Lafuente
 
PDF
White Box Adaptation @ CINA Meeting 2013
Alberto Lluch Lafuente
 
PDF
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
Alberto Lluch Lafuente
 
PDF
Evaluating the performance of model transformation styles with Maude @ Sympos...
Alberto Lluch Lafuente
 
PDF
Maude .:° ASCENS 2011
Alberto Lluch Lafuente
 
PDF
IMT Welcome Day 2011
Alberto Lluch Lafuente
 
PDF
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
Alberto Lluch Lafuente
 
PDF
An Algebra of Hierarchical Graphs
Alberto Lluch Lafuente
 
Many-to-Many Information Flow Policies
Alberto Lluch Lafuente
 
Aggregate Programming through a Soft Modal Logic
Alberto Lluch Lafuente
 
A Semiring-valued Temporal Logic
Alberto Lluch Lafuente
 
Can we efficiently verify concurrent programs under relaxed memory models in ...
Alberto Lluch Lafuente
 
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Alberto Lluch Lafuente
 
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
Alberto Lluch Lafuente
 
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Alberto Lluch Lafuente
 
White Box Adaptation @ CINA Meeting 2013
Alberto Lluch Lafuente
 
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
Alberto Lluch Lafuente
 
Evaluating the performance of model transformation styles with Maude @ Sympos...
Alberto Lluch Lafuente
 
Maude .:° ASCENS 2011
Alberto Lluch Lafuente
 
IMT Welcome Day 2011
Alberto Lluch Lafuente
 
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
Alberto Lluch Lafuente
 
An Algebra of Hierarchical Graphs
Alberto Lluch Lafuente
 
Ad

Recently uploaded (20)

PDF
CHILD RIGHTS AND PROTECTION QUESTION BANK
Dr Raja Mohammed T
 
PPTX
PPT on the Development of Education in the Victorian England
Beena E S
 
PPSX
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
PDF
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
PPTX
How to Set Maximum Difference Odoo 18 POS
Celine George
 
PPTX
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PPTX
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PPTX
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
PPTX
Views on Education of Indian Thinkers Mahatma Gandhi.pptx
ShrutiMahanta1
 
PDF
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PDF
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
PDF
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
PDF
community health nursing question paper 2.pdf
Prince kumar
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PDF
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
CHILD RIGHTS AND PROTECTION QUESTION BANK
Dr Raja Mohammed T
 
PPT on the Development of Education in the Victorian England
Beena E S
 
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
How to Set Maximum Difference Odoo 18 POS
Celine George
 
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
Views on Education of Indian Thinkers Mahatma Gandhi.pptx
ShrutiMahanta1
 
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
Generative AI: it's STILL not a robot (CIJ Summer 2025)
Paul Bradshaw
 
community health nursing question paper 2.pdf
Prince kumar
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 

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

  • 1. A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus on Reflective Russian Dolls) Alberto Lluch Lafuente [email protected] 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 its goal”
  • 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 || ... ){ 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 Popular 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.
  • 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? ... 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. 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: patterns/styles CD CD CONTROL CONTROL do you 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.
  • 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 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...
  • 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.
  • 57. message filtering & replication
  • 60. white-box adaptation manager state rules state rules (black-box component) interpreter (white-box component)
  • 61. 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)
  • 65. “formal” autonomic managers model checking, AUTONOMIC MANAGER logical inference Analyze Plan Monitor Knowledge Execute EFFECTOR MANAGED ELEMENT CD CONTROL
  • 67. summary White 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 (WRLA'12), 2012