SlideShare uma empresa Scribd logo
1 de 68
Baixar para ler offline
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

Mais conteúdo relacionado

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

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringPramod Parajuli
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)stanbridge
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software EngineeringNandhini S
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation FundamentalsPramod Parajuli
 
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.pptHelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.ppt19526YuvaKumarIrigi
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedElizabeth Steiner
 
Architecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationArchitecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationERPCell
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Mozaic Works
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020Ralf Laemmel
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modelingMajong DevJfu
 

Semelhante a A white-box perspective on self-adaptation and self-awareness (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.pptHelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
 
lecture7.ppt
lecture7.pptlecture7.ppt
lecture7.ppt
 
lecture7.ppt
lecture7.pptlecture7.ppt
lecture7.ppt
 
Architecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationArchitecture Centric Development PPT Presentation
Architecture Centric Development PPT Presentation
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Dsm presentation (english)
Dsm presentation (english)Dsm presentation (english)
Dsm presentation (english)
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Chapter1
Chapter1Chapter1
Chapter1
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modeling
 

Mais de FET AWARE project - Self Awareness in Autonomic Systems

Mais de FET AWARE project - Self Awareness in Autonomic Systems (20)

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

Último

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

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/