SlideShare une entreprise Scribd logo
1  sur  70
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of TonguesChoose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of TonguesCHOOSE
 
Practical Models in Practice
Practical Models in PracticePractical Models in Practice
Practical Models in PracticeCHOOSE
 
Self awareness and self esteem MBA HR PPT
Self awareness and self esteem MBA HR PPTSelf awareness and self esteem MBA HR PPT
Self awareness and self esteem MBA HR PPTBabasab Patil
 
Self awareness and Self Management
Self awareness and Self ManagementSelf awareness and Self Management
Self awareness and Self Managementellaboi
 
Casting and its types
Casting and its typesCasting and its types
Casting and its typesWaqas Ahmed
 

En vedette (7)

Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of TonguesChoose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
Choose'10: Ralf Laemmel - Dealing Confortably with the Confusion of Tongues
 
Practical Models in Practice
Practical Models in PracticePractical Models in Practice
Practical Models in Practice
 
Self awareness and self esteem MBA HR PPT
Self awareness and self esteem MBA HR PPTSelf awareness and self esteem MBA HR PPT
Self awareness and self esteem MBA HR PPT
 
Self awareness
Self awarenessSelf awareness
Self awareness
 
Self awareness and Self Management
Self awareness and Self ManagementSelf awareness and Self Management
Self awareness and Self Management
 
Casting and its types
Casting and its typesCasting and its types
Casting and its types
 
8 Tips for an Awesome Powerpoint Presentation
8 Tips for an Awesome Powerpoint Presentation8 Tips for an Awesome Powerpoint Presentation
8 Tips for an Awesome Powerpoint Presentation
 

Similaire à White-box Perspective on Self-Adaptation

A conceptual framework for behavioural adaptation @ Leicester 2011
A conceptual framework for behavioural adaptation @ Leicester 2011A conceptual framework for behavioural adaptation @ Leicester 2011
A conceptual framework for behavioural adaptation @ Leicester 2011Alberto Lluch Lafuente
 
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011Alberto Lluch Lafuente
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringPramod Parajuli
 
Architecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationArchitecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationERPCell
 
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.pptHelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.ppt19526YuvaKumarIrigi
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation FundamentalsPramod Parajuli
 
1-PE-I-OOAD.pptx
1-PE-I-OOAD.pptx1-PE-I-OOAD.pptx
1-PE-I-OOAD.pptxKALPANAC20
 
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
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedElizabeth Steiner
 
[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
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: OverviewGeoffrey Fox
 
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
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020Ralf Laemmel
 

Similaire à White-box Perspective on Self-Adaptation (20)

A conceptual framework for behavioural adaptation @ Leicester 2011
A conceptual framework for behavioural adaptation @ Leicester 2011A conceptual framework for behavioural adaptation @ Leicester 2011
A conceptual framework for behavioural adaptation @ Leicester 2011
 
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Architecture Centric Development PPT Presentation
Architecture Centric Development PPT PresentationArchitecture Centric Development PPT Presentation
Architecture Centric Development PPT Presentation
 
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.pptHelloChapter6fgfg-Artifacts__of_theProcess.ppt
HelloChapter6fgfg-Artifacts__of_theProcess.ppt
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
1-PE-I-OOAD.pptx
1-PE-I-OOAD.pptx1-PE-I-OOAD.pptx
1-PE-I-OOAD.pptx
 
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
 
Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
 
lecture7.ppt
lecture7.pptlecture7.ppt
lecture7.ppt
 
lecture7.ppt
lecture7.pptlecture7.ppt
lecture7.ppt
 
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
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Dsm presentation (english)
Dsm presentation (english)Dsm presentation (english)
Dsm presentation (english)
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020
 

Plus de Alberto Lluch Lafuente

Many-to-Many Information Flow Policies
Many-to-Many Information Flow PoliciesMany-to-Many Information Flow Policies
Many-to-Many Information Flow PoliciesAlberto Lluch Lafuente
 
Aggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal LogicAggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal LogicAlberto Lluch Lafuente
 
Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...Can we efficiently verify concurrent programs under relaxed memory models in ...
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...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Alberto Lluch Lafuente
 
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013Alberto Lluch Lafuente
 
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013Alberto Lluch Lafuente
 
White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013Alberto Lluch Lafuente
 
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
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...
Evaluating the performance of model transformation styles with Maude @ Sympos...Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...Alberto Lluch Lafuente
 
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009Alberto Lluch Lafuente
 

Plus de Alberto Lluch Lafuente (14)

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

Dernier

Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 

Dernier (20)

Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 

White-box Perspective on Self-Adaptation

  • 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 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