SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
Adaptable T    ´´
           ransition Systems
           -- Roberto Bruni, UNIPI
           -- Andrea Corradini, UNIPI
           -- Fabio Gadducci, UNIPI
           -- Alberto Lluch Lafuente, IMT
           -- Andrea Vandin, IMT




  ASCENS General and Working Meeting, Prague, February 11-14   2013
adap  tation
 is a game
OUTLINE

1 White box adaptation
  “A Conceptual Framework for Adaptation” [FASE 2012]


2 Adaptable Transition Systems
          “Adaptable Transition Systems” [WADT 2012]
OUTLINE

1 White box adaptation
  “A Conceptual Framework for Adaptation” [FASE 2012]


2 Adaptable Transition Systems
          “Adaptable Transition Systems” [WADT 2012]
What is
adaptation?
“... a software system self-adaptive if
    changes behavior in response to ...”
   [*] Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N.,
      Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self-
      adaptive software. Intelligent Systems and their Applications 14(3), 54–62 (1999)
   [*] Robertson, P., Shrobe, H.E., Laddaga, R.: Introduction to self-adaptive software:
      Applications. In: Robertson, P., Shrobe, H.E., Laddaga, R. (eds.) IWSAS. LNCS, vol.
      1936, pp. 1–5. Springer (2001)
   [*] Self-Adaptive Software: Landscape and Research Challenges, Mazeiar Salehie,
      Ladan Tahvildari, ACM Transactions on Autonomous and Adaptive Systems 4, 2.
Lotfi A. Zadeh,
Proc. IEEE, 1963
BLACK-BOX ADAPTATION
White box
adaptation
ADAPTATION MECHANISMS

                constraints
                         contracts            plans
                 aspects          architectures
    messages
                    contexts          rules
configuration
variables                  policies             programs


           CONTROL DATA
WHAT IS AN ADAPTABLE SYSTEM?


   CONTROL DATA OTHER DATA


       ADAPTABLE SYSTEM


“adaptation is the run-time
 modification of control data”
A SYSTEM IS...
“...adaptable if it has a distinguished control data
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.”
“an excellent discussion of
 the precise meaning of the
 term adaptive software.”

    - Carlo Ghezzi, Evolution, Adaptation, and the
     Quest for Incrementality, LNCS 7539/2012,
OUTLINE

1 White box adaptation
  “A Conceptual Framework for Adaptation” [FASE 2012]


2 Adaptable Transition Systems
           “Adaptable Transition Systems” [WADT 2012]
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down!                   up!                 up!


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule!               schedule!


 finish!                 finish!
        U{t}[]                   U{t}[t]
                       task?
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down!                   up!                 up!


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule!               schedule!


 finish!
                         Is it s
                         finish!elf
        U{t}[]

                           da
                       task?
                              pti v e?
                                 U{t}[t]

                         a
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down!                   up!                 up!


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule!               schedule!


 finish!                 finish!
        U{t}[]                   U{t}[t]
                       task?
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down!                   up!                 up!


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule!               schedule!


 finish!                 finish!
        U{t}[]                   U{t}[t]
                       task?
task?               task?
D{}[]              D{}[t]              D{}[tt]


                     ffer     ent
                   di
   down!               up!      up!

             ,140
       = 4 U{}[t] task?ions!
   B 8 task?
U{}[]                 at U{}[tt]
                  ret schedule!
      int   erp
        schedule!


 finish!             finish!
        U{t}[]               U{t}[t]
                   task?
Interface Automata
in a nutshell
IA = Automata + Interface (i/o distinction)
          task?                    task?


  down!                      up!               up!


          task?                    task?


          schedule!                schedule!


finish!                finish!

                      task
IA = Automata + Interface (i/o distinction)
          task?                   task?


  down!                   up!                 up!


          task?                   task?


          schedule!               schedule!


finish!                 finish!

                      task?
task?         task?
      D                  {}        []           [t]       [tt]
             schedule?
up!                                 schedule!     schedule!
          down!
                         finish!
      U           {t}
task?         task?
      D                   {}        []           [t]       [tt]
             schedule?
up!                                  schedule!       schedule!
          down!
                         finish!
      U           {t}


              task?                 task?
      {}[]              {}[t]                {}[tt]


                                                         finish!
                          finish!
      finish!
                         task?               task?
             {t}[]              {t}[t]                  {t}[tt]
task?         task?
      D                   {}        []           [t]       [tt]
             schedule?
up!                                  schedule!       schedule!
          down!
                          finish!
      U           {t}


              task?                 task?
      {}[]              {}[t]                {}[tt]
              schedule!             schedule!

schedule?
                                                         finish!
                          finish!
      finish!
                         task?               task?
             {t}[]              {t}[t]                  {t}[tt]
                        schedule!            schedule!
Adaptable
Interface
Automata
task?                   task?


  down!                   up!                 up!


          task?                   task?


          schedule!               schedule!


finish!                 finish!

                      task?
 AIA = IA + control propositions (colors)
task?                   task?


  down!                   up!                 up!


          task?                   task?


          schedule!               schedule!


finish!                 finish!

                      task?
 AIA = IA + control propositions (colors)
Exploiting
Control Data
AUTONOMIC MANAGER
    Analyze        Plan                 task?                  task?
                               D{}[]                D{}[t]             D{}[tt]


          Knowledge Execute         down!                up!               up!
Monitor

                                        task?                  task?
                               U{}[]                U{}[t]             U{}[tt]

  MANAGED COMPONENT                     schedule!              schedule!


                              finish!                  finish!
                                        U{t}[]               U{t}[t]
                                                    task?
AUTONOMIC MANAGER
    Analyze        Plan                 task?                  task?
                               D{}[]                D{}[t]             D{}[tt]


          Knowledge Execute         down!                up!               up!
Monitor

                                        task?                  task?
                               U{}[]                U{}[t]             U{}[tt]

  MANAGED COMPONENT                     schedule!              schedule!


                              finish!                  finish!
                                        U{t}[]               U{t}[t]
                                                    task?
some behavioural relation
normal output actions become inputs
     (M “listens” outputs of B)
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down!                   up!                 up!


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule!               schedule!


 finish?                 finish!
        U{t}[]                   U{t}[t]
                       task?
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down!                   up!                 up!


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule?               schedule?


 finish?                 finish?
        U{t}[]                   U{t}[t]
                       task?
control output actions become inputs
      (B “obeys” outputs of M)
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down!                   up!                 up!


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule!               schedule!


 finish!                 finish!
        U{t}[]                   U{t}[t]
                       task?
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down?                   up?                 up?


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule!               schedule!


 finish!                 finish!
        U{t}[]                   U{t}[t]
                       task?
ISO
  (for deterministic AIA)
Beyond
Isomorphism
control output actions become inputs
(B “obeys” outputs of M)




collapse transitions labelled with B
(M “ignores” B-moves)
task?                   task?
D{}[]                  D{}[t]              D{}[tt]

   down!                   up!                 up!


           task?                   task?
U{}[]                  U{}[t]              U{}[tt]
           schedule?               schedule?


 finish?                 finish?
        U{t}[]                   U{t}[t]
                       task?
task?              task?
D{}[]              D{}[t]             D{}[tt]

   down!              up!                 up!


           task?              task?
U{}[]              U{}[t]             U{}[tt]




 finish?            finish?
alternating simulation
(for deterministic IA)
Conclusion
OUTLINE

1 White box adaptation
  “A Conceptual Framework for Adaptation” [FASE 2012]


2 Adaptable Transition Systems
           “Adaptable Transition Systems” [WADT 2012]
adap  tation
 is a game
RECONCILING BLACK- AND WHITE-BOX ADAPTATION?




“in the game between the system and the environment,
 the manager has a strategy to ensure the satisfaction of ψ.”

“receptiveness, realizability, and controllability
 can be formulated as model-checking problems
 for alternating-time formulas.”
THANKS!

Más contenido relacionado

Más de 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
 
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...Alberto 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
 
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
 
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 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
 
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
 

Más de Alberto Lluch Lafuente (10)

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
 
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
 
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...
 
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
 
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...
 
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
 
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
 

Adaptable Transition Systems @ ASCENS Meeting Prague 2013

  • 1. Adaptable T ´´ ransition Systems -- Roberto Bruni, UNIPI -- Andrea Corradini, UNIPI -- Fabio Gadducci, UNIPI -- Alberto Lluch Lafuente, IMT -- Andrea Vandin, IMT ASCENS General and Working Meeting, Prague, February 11-14 2013
  • 2. adap tation is a game
  • 3. OUTLINE 1 White box adaptation “A Conceptual Framework for Adaptation” [FASE 2012] 2 Adaptable Transition Systems “Adaptable Transition Systems” [WADT 2012]
  • 4. OUTLINE 1 White box adaptation “A Conceptual Framework for Adaptation” [FASE 2012] 2 Adaptable Transition Systems “Adaptable Transition Systems” [WADT 2012]
  • 6. “... a software system self-adaptive if changes behavior in response to ...” [*] Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self- adaptive software. Intelligent Systems and their Applications 14(3), 54–62 (1999) [*] Robertson, P., Shrobe, H.E., Laddaga, R.: Introduction to self-adaptive software: Applications. In: Robertson, P., Shrobe, H.E., Laddaga, R. (eds.) IWSAS. LNCS, vol. 1936, pp. 1–5. Springer (2001) [*] Self-Adaptive Software: Landscape and Research Challenges, Mazeiar Salehie, Ladan Tahvildari, ACM Transactions on Autonomous and Adaptive Systems 4, 2.
  • 10. ADAPTATION MECHANISMS constraints contracts plans aspects architectures messages contexts rules configuration variables policies programs CONTROL DATA
  • 11. WHAT IS AN ADAPTABLE SYSTEM? CONTROL DATA OTHER DATA ADAPTABLE SYSTEM “adaptation is the run-time modification of control data”
  • 12. A SYSTEM IS... “...adaptable if it has a distinguished control data 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.”
  • 13. “an excellent discussion of the precise meaning of the term adaptive software.” - Carlo Ghezzi, Evolution, Adaptation, and the Quest for Incrementality, LNCS 7539/2012,
  • 14. OUTLINE 1 White box adaptation “A Conceptual Framework for Adaptation” [FASE 2012] 2 Adaptable Transition Systems “Adaptable Transition Systems” [WADT 2012]
  • 15. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] schedule! schedule! finish! finish! U{t}[] U{t}[t] task?
  • 16. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] schedule! schedule! finish! Is it s finish!elf U{t}[] da task? pti v e? U{t}[t] a
  • 17. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] schedule! schedule! finish! finish! U{t}[] U{t}[t] task?
  • 18. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] schedule! schedule! finish! finish! U{t}[] U{t}[t] task?
  • 19. task? task? D{}[] D{}[t] D{}[tt] ffer ent di down! up! up! ,140 = 4 U{}[t] task?ions! B 8 task? U{}[] at U{}[tt] ret schedule! int erp schedule! finish! finish! U{t}[] U{t}[t] task?
  • 21.
  • 22. IA = Automata + Interface (i/o distinction) task? task? down! up! up! task? task? schedule! schedule! finish! finish! task
  • 23. IA = Automata + Interface (i/o distinction) task? task? down! up! up! task? task? schedule! schedule! finish! finish! task?
  • 24.
  • 25. task? task? D {} [] [t] [tt] schedule? up! schedule! schedule! down! finish! U {t}
  • 26. task? task? D {} [] [t] [tt] schedule? up! schedule! schedule! down! finish! U {t} task? task? {}[] {}[t] {}[tt] finish! finish! finish! task? task? {t}[] {t}[t] {t}[tt]
  • 27. task? task? D {} [] [t] [tt] schedule? up! schedule! schedule! down! finish! U {t} task? task? {}[] {}[t] {}[tt] schedule! schedule! schedule? finish! finish! finish! task? task? {t}[] {t}[t] {t}[tt] schedule! schedule!
  • 29. task? task? down! up! up! task? task? schedule! schedule! finish! finish! task? AIA = IA + control propositions (colors)
  • 30. task? task? down! up! up! task? task? schedule! schedule! finish! finish! task? AIA = IA + control propositions (colors)
  • 32. AUTONOMIC MANAGER Analyze Plan task? task? D{}[] D{}[t] D{}[tt] Knowledge Execute down! up! up! Monitor task? task? U{}[] U{}[t] U{}[tt] MANAGED COMPONENT schedule! schedule! finish! finish! U{t}[] U{t}[t] task?
  • 33. AUTONOMIC MANAGER Analyze Plan task? task? D{}[] D{}[t] D{}[tt] Knowledge Execute down! up! up! Monitor task? task? U{}[] U{}[t] U{}[tt] MANAGED COMPONENT schedule! schedule! finish! finish! U{t}[] U{t}[t] task?
  • 35. normal output actions become inputs (M “listens” outputs of B)
  • 36. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] schedule! schedule! finish? finish! U{t}[] U{t}[t] task?
  • 37. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] schedule? schedule? finish? finish? U{t}[] U{t}[t] task?
  • 38. control output actions become inputs (B “obeys” outputs of M)
  • 39. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] schedule! schedule! finish! finish! U{t}[] U{t}[t] task?
  • 40. task? task? D{}[] D{}[t] D{}[tt] down? up? up? task? task? U{}[] U{}[t] U{}[tt] schedule! schedule! finish! finish! U{t}[] U{t}[t] task?
  • 41. ISO (for deterministic AIA)
  • 43. control output actions become inputs (B “obeys” outputs of M) collapse transitions labelled with B (M “ignores” B-moves)
  • 44. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] schedule? schedule? finish? finish? U{t}[] U{t}[t] task?
  • 45. task? task? D{}[] D{}[t] D{}[tt] down! up! up! task? task? U{}[] U{}[t] U{}[tt] finish? finish?
  • 46.
  • 50. OUTLINE 1 White box adaptation “A Conceptual Framework for Adaptation” [FASE 2012] 2 Adaptable Transition Systems “Adaptable Transition Systems” [WADT 2012]
  • 51. adap tation is a game
  • 52.
  • 53. RECONCILING BLACK- AND WHITE-BOX ADAPTATION? “in the game between the system and the environment, the manager has a strategy to ensure the satisfaction of ψ.” “receptiveness, realizability, and controllability can be formulated as model-checking problems for alternating-time formulas.”