SlideShare une entreprise Scribd logo
1  sur  85
Télécharger pour lire hors ligne
Computing Students Talks
                            26th January 2011




 The Good, the Bad and the Unknown
Synthesis of Timing Parameters in Concurrent Systems




                         ´           ´
                         Etienne ANDRE
                              PAT Team
         School of Computing, National University of Singapore


´           ´
Etienne ANDRE (NUS)     The Good, the Bad and the Unknown   26th January 2011   1 / 27
Introduction


Verification of Real Time Systems

    Motivation




   ´           ´
   Etienne ANDRE (NUS)   The Good, the Bad and the Unknown   26th January 2011   2 / 27
Introduction


Context: Model Checking Timed Systems (1/2)


   Input




   A timed concurrent system




  ´           ´
  Etienne ANDRE (NUS)   The Good, the Bad and the Unknown   26th January 2011   3 / 27
Introduction


Context: Model Checking Timed Systems (1/2)


   Input




   A timed concurrent system                 A good behavior expected for
                                                     the system




  ´           ´
  Etienne ANDRE (NUS)   The Good, the Bad and the Unknown     26th January 2011   3 / 27
Introduction


Context: Model Checking Timed Systems (1/2)


   Input




   A timed concurrent system                 A good behavior expected for
                                                     the system

   Question: does the system always behave well?




  ´           ´
  Etienne ANDRE (NUS)   The Good, the Bad and the Unknown     26th January 2011   3 / 27
Introduction


Context: Model Checking Timed Systems (2/2)
    Use of formal methods



                                                                AG¬bad


A finite model of the system                             A formula to be satisfied




   ´           ´
   Etienne ANDRE (NUS)   The Good, the Bad and the Unknown         26th January 2011   4 / 27
Introduction


Context: Model Checking Timed Systems (2/2)
    Use of formal methods

                                           ?

                                      |=                        AG¬bad


A finite model of the system                             A formula to be satisfied

    Question: does the model of the system satisfy the formula?




   ´           ´
   Etienne ANDRE (NUS)   The Good, the Bad and the Unknown         26th January 2011   4 / 27
Introduction


Context: Model Checking Timed Systems (2/2)
    Use of formal methods

                                            ?

                                       |=                        AG¬bad


A finite model of the system                              A formula to be satisfied

    Question: does the model of the system satisfy the formula?

                    Yes                                        No



                                                         Counterexample

   ´           ´
   Etienne ANDRE (NUS)    The Good, the Bad and the Unknown         26th January 2011   4 / 27
Outline


Outline



1   A Coffee Vending Machine

2   A Parametric Coffee Vending Machine

3   Synthesis of Parameters

4   Conclusion




    ´           ´
    Etienne ANDRE (NUS)   The Good, the Bad and the Unknown   26th January 2011   5 / 27
A Coffee Vending Machine


Outline



1   A Coffee Vending Machine

2   A Parametric Coffee Vending Machine

3   Synthesis of Parameters

4   Conclusion




    ´           ´
    Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   6 / 27
A Coffee Vending Machine


Model
                        coffee!
                                                                     Waiting
                                                                     Adding sugar
               press?            cup!                                Delivering coffee
                        press?




  ´           ´
  Etienne ANDRE (NUS)            The Good, the Bad and the Unknown         26th January 2011   7 / 27
A Coffee Vending Machine


Model
                        coffee!
                                                                     Waiting
                                                                     Adding sugar
               press?             cup!                               Delivering coffee
                        press?


   Example of runs
         Coffee with no sugar
              press?       cup!          coffee!




  ´           ´
  Etienne ANDRE (NUS)            The Good, the Bad and the Unknown         26th January 2011   7 / 27
A Coffee Vending Machine


Model
                        coffee!
                                                                       Waiting
                                                                       Adding sugar
               press?             cup!                                 Delivering coffee
                        press?


   Example of runs
         Coffee with no sugar
              press?       cup!          coffee!


         Coffee with 2 doses of sugar
              press?      press?         press?        cup!          coffee!




  ´           ´
  Etienne ANDRE (NUS)            The Good, the Bad and the Unknown            26th January 2011   7 / 27
A Coffee Vending Machine


Model
                        coffee!
                                                                       Waiting
                                                                       Adding sugar
               press?             cup!                                 Delivering coffee
                        press?


   Example of runs
         Coffee with no sugar
              press?       cup!          coffee!


         Coffee with 2 doses of sugar
              press?      press?         press?        cup!          coffee!


         And so on

  ´           ´
  Etienne ANDRE (NUS)            The Good, the Bad and the Unknown            26th January 2011   7 / 27
A Coffee Vending Machine


Temporal Logics



   Specify properties on the order between events

   Example: CTL (Computation Tree Logic)
   [Clarke and Emerson, 1982]
         “After the button is pressed, a coffee is always eventually
         delivered.”




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   8 / 27
A Coffee Vending Machine


Temporal Logics



   Specify properties on the order between events

   Example: CTL (Computation Tree Logic)
   [Clarke and Emerson, 1982]
         “After the button is pressed, a coffee is always eventually
         delivered.” (×)




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   8 / 27
A Coffee Vending Machine


Temporal Logics



   Specify properties on the order between events

   Example: CTL (Computation Tree Logic)
   [Clarke and Emerson, 1982]
         “After the button is pressed, a coffee is always eventually
         delivered.” (×)
         “After the button is pressed, there exists an execution such that a
         coffee is eventually delivered.”




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   8 / 27
A Coffee Vending Machine


Temporal Logics



   Specify properties on the order between events

   Example: CTL (Computation Tree Logic)
   [Clarke and Emerson, 1982]
         “After the button is pressed, a coffee is always eventually
         delivered.” (×)
         “After the button is pressed, there exists an execution such that a
                                           √
         coffee is eventually delivered.” ( )




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   8 / 27
A Coffee Vending Machine


Temporal Logics



   Specify properties on the order between events

   Example: CTL (Computation Tree Logic)
   [Clarke and Emerson, 1982]
         “After the button is pressed, a coffee is always eventually
         delivered.” (×)
         “After the button is pressed, there exists an execution such that a
                                            √
         coffee is eventually delivered.” ( )
         “It is possible to get a coffee with 2 doses of sugar.”




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   8 / 27
A Coffee Vending Machine


Temporal Logics



   Specify properties on the order between events

   Example: CTL (Computation Tree Logic)
   [Clarke and Emerson, 1982]
         “After the button is pressed, a coffee is always eventually
         delivered.” (×)
         “After the button is pressed, there exists an execution such that a
                                            √
         coffee is eventually delivered.” ( )                     √
         “It is possible to get a coffee with 2 doses of sugar.” ( )




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   8 / 27
A Coffee Vending Machine


Timed Automaton
   Finite state automaton (sets of locations)




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   9 / 27
A Coffee Vending Machine


Timed Automaton
   Finite state automaton (sets of locations and actions)




                                              coffee!




                                 press?
                                                              cup!
                                                  press?

  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown    26th January 2011   9 / 27
A Coffee Vending Machine


Timed Automaton
   Finite state automaton (sets of locations and actions) augmented
   with a set X of clocks [Alur and Dill, 1994]
         Real-valued variables evolving linearly at the same rate




                                              coffee!




                                 press?
                                                              cup!
                                                  press?

  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown    26th January 2011   9 / 27
A Coffee Vending Machine


Timed Automaton
   Finite state automaton (sets of locations and actions) augmented
   with a set X of clocks [Alur and Dill, 1994]
         Real-valued variables evolving linearly at the same rate

   Features
         Location invariant: property to be verified to stay at a location



                                              coffee!

                                                  y   5

                                 press?
                                                              cup!
                                                  press?

  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown    26th January 2011   9 / 27
A Coffee Vending Machine


Timed Automaton
   Finite state automaton (sets of locations and actions) augmented
   with a set X of clocks [Alur and Dill, 1994]
         Real-valued variables evolving linearly at the same rate

   Features
         Location invariant: property to be verified to stay at a location
         Transition guard: property to be verified to enable a transition

                                              y=8
                                              coffee!

                                                  y   5

                                 press?                      y=5
                                                             cup!
                                                  x 1
                                                  press?

  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   9 / 27
A Coffee Vending Machine


Timed Automaton
   Finite state automaton (sets of locations and actions) augmented
   with a set X of clocks [Alur and Dill, 1994]
         Real-valued variables evolving linearly at the same rate

   Features
         Location invariant: property to be verified to stay at a location
         Transition guard: property to be verified to enable a transition
         Clock reset: some of the clocks can be set to 0 at each transition
                                              y=8
                                              coffee!

                                                  y   5

                                 press?                      y=5
                                 x := 0                      cup!
                                                  x 1
                                 y := 0
                                                  press?
                                                  x := 0
  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   9 / 27
A Coffee Vending Machine


Timed Runs              y=8
                        coffee!

                        y   5

         press?                      y=5
         x := 0                      cup!
                        x 1
         y := 0
                        press?
                        x := 0

   Examples of timed runs




  ´           ´
  Etienne ANDRE (NUS)            The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs              y=8
                        coffee!

                        y   5

         press?                      y=5
         x := 0                      cup!
                        x 1
         y := 0
                        press?
                        x := 0

   Examples of timed runs
         Coffee with no sugar

   x     0
   y     0




  ´           ´
  Etienne ANDRE (NUS)            The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y   5

         press?                        y=5
         x := 0                        cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?

   x     0            0
   y     0            0




  ´           ´
  Etienne ANDRE (NUS)              The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y    5

         press?                        y=5
         x := 0                        cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5

   x     0            0        5
   y     0            0        5




  ´           ´
  Etienne ANDRE (NUS)              The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y    5

         press?                        y=5
         x := 0                        cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5       cup!

   x     0            0        5          5
   y     0            0        5          5




  ´           ´
  Etienne ANDRE (NUS)               The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y    5

         press?                        y=5
         x := 0                        cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5       cup!       3

   x     0            0        5          5          8
   y     0            0        5          5          8




  ´           ´
  Etienne ANDRE (NUS)               The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y    5

         press?                        y=5
         x := 0                        cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5       cup!       3          coffee!

   x     0            0        5          5          8            8
   y     0            0        5          5          8            8




  ´           ´
  Etienne ANDRE (NUS)               The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y    5

         press?                        y=5
         x := 0                        cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5       cup!       3          coffee!

   x     0            0        5          5          8            8
   y     0            0        5          5          8            8
         Coffee with 2 doses of sugar

   x     0
   y     0
  ´           ´
  Etienne ANDRE (NUS)               The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y    5

         press?                        y=5
         x := 0                        cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5       cup!       3          coffee!

   x     0            0        5          5          8            8
   y     0            0        5          5          8            8
         Coffee with 2 doses of sugar
             press?

   x     0            0
   y     0            0
  ´           ´
  Etienne ANDRE (NUS)               The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y     5

         press?                           y=5
         x := 0                           cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5          cup!       3         coffee!

   x     0            0         5            5         8            8
   y     0            0         5            5         8            8
         Coffee with 2 doses of sugar
             press?       1.5

   x     0            0         1.5
   y     0            0         1.5
  ´           ´
  Etienne ANDRE (NUS)                  The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y     5

         press?                           y=5
         x := 0                           cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5          cup!         3       coffee!

   x     0            0         5            5         8            8
   y     0            0         5            5         8            8
         Coffee with 2 doses of sugar
             press?       1.5       press?

   x     0            0         1.5           0
   y     0            0         1.5          1.5
  ´           ´
  Etienne ANDRE (NUS)                  The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y     5

         press?                           y=5
         x := 0                           cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5          cup!         3         coffee!

   x     0            0         5            5           8            8
   y     0            0         5            5           8            8
         Coffee with 2 doses of sugar
             press?       1.5       press?         2.7

   x     0            0         1.5           0          2.7
   y     0            0         1.5          1.5         4.2
  ´           ´
  Etienne ANDRE (NUS)                  The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y     5

         press?                           y=5
         x := 0                           cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5          cup!         3         coffee!

   x     0            0         5            5           8            8
   y     0            0         5            5           8            8
         Coffee with 2 doses of sugar
             press?       1.5       press?         2.7       press?

   x     0            0         1.5           0          2.7       0
   y     0            0         1.5          1.5         4.2      4.2
  ´           ´
  Etienne ANDRE (NUS)                  The Good, the Bad and the Unknown   26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y     5

         press?                           y=5
         x := 0                           cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5          cup!         3         coffee!

   x     0            0         5            5           8            8
   y     0            0         5            5           8            8
         Coffee with 2 doses of sugar
             press?       1.5       press?         2.7       press?       0.8

   x     0            0         1.5           0          2.7       0            0.8
   y     0            0         1.5          1.5         4.2      4.2            5
  ´           ´
  Etienne ANDRE (NUS)                  The Good, the Bad and the Unknown              26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y     5

         press?                           y=5
         x := 0                           cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5          cup!         3         coffee!

   x     0            0         5            5           8            8
   y     0            0         5            5           8            8
         Coffee with 2 doses of sugar
             press?       1.5       press?         2.7       press?       0.8         cup!

   x     0            0         1.5           0          2.7       0            0.8          0.8
   y     0            0         1.5          1.5         4.2      4.2            5            5
  ´           ´
  Etienne ANDRE (NUS)                  The Good, the Bad and the Unknown                       26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y     5

         press?                           y=5
         x := 0                           cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5          cup!         3         coffee!

   x     0            0         5            5           8            8
   y     0            0         5            5           8            8
         Coffee with 2 doses of sugar
             press?       1.5       press?         2.7       press?       0.8         cup!         3

   x     0            0         1.5           0          2.7       0            0.8          0.8       3.8
   y     0            0         1.5          1.5         4.2      4.2            5            5         8
  ´           ´
  Etienne ANDRE (NUS)                  The Good, the Bad and the Unknown                       26th January 2011   10 / 27
A Coffee Vending Machine


Timed Runs                y=8
                          coffee!

                          y     5

         press?                           y=5
         x := 0                           cup!
                          x 1
         y := 0
                          press?
                          x := 0

   Examples of timed runs
         Coffee with no sugar
             press?        5          cup!         3         coffee!

   x     0            0         5            5           8            8
   y     0            0         5            5           8            8
         Coffee with 2 doses of sugar
             press?       1.5       press?         2.7       press?       0.8         cup!         3      coffee!

   x     0            0         1.5           0          2.7       0            0.8          0.8       3.8         3.8
   y     0            0         1.5          1.5         4.2      4.2            5            5         8           8
  ´           ´
  Etienne ANDRE (NUS)                  The Good, the Bad and the Unknown                       26th January 2011     10 / 27
A Coffee Vending Machine


Dense Time

   Time is dense: transitions can be taken anytime
         Infinite number of timed runs
         Model checking needs a finite structure!

   Some runs are equivalent
         Taking the press? action at t = 1.5 or t = 1.57 is equivalent w.r.t. the
         possible actions

   Idea: reason with abstractions
         Region automaton [Alur and Dill, 1994]
         Example: in location      , all clock values in the following region
         are equivalent
                                 x 1∧y 5∧x=y
         This abstraction is finite


  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   11 / 27
A Coffee Vending Machine


Timed Temporal Logics



   Specify properties on the order and the delay between events

   Example: TCTL (Timed CTL) [Alur et al., 1993a]
         “After the first time the button is pressed, a coffee is always
         eventually delivered within 10 units of time.”




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   12 / 27
A Coffee Vending Machine


Timed Temporal Logics



   Specify properties on the order and the delay between events

   Example: TCTL (Timed CTL) [Alur et al., 1993a]
         “After the first time the button is pressed, a coffee is always
                                                          √
         eventually delivered within 10 units of time.” ( )




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   12 / 27
A Coffee Vending Machine


Timed Temporal Logics



   Specify properties on the order and the delay between events

   Example: TCTL (Timed CTL) [Alur et al., 1993a]
         “After the first time the button is pressed, a coffee is always
                                                          √
         eventually delivered within 10 units of time.” ( )
         “It must never happen that the button can be pressed twice within
         1 unit of time.”




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   12 / 27
A Coffee Vending Machine


Timed Temporal Logics



   Specify properties on the order and the delay between events

   Example: TCTL (Timed CTL) [Alur et al., 1993a]
         “After the first time the button is pressed, a coffee is always
                                                          √
         eventually delivered within 10 units of time.” ( )
         “It must never happen that the button can be pressed twice within
         1 unit of time.” (×)




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   12 / 27
A Coffee Vending Machine


Timed Temporal Logics



   Specify properties on the order and the delay between events

   Example: TCTL (Timed CTL) [Alur et al., 1993a]
         “After the first time the button is pressed, a coffee is always
                                                          √
         eventually delivered within 10 units of time.” ( )
         “It must never happen that the button can be pressed twice within
         1 unit of time.” (×)
         “It must never happen that the button can be pressed twice within a
         time strictly less than 1 unit of time.”




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   12 / 27
A Coffee Vending Machine


Timed Temporal Logics



   Specify properties on the order and the delay between events

   Example: TCTL (Timed CTL) [Alur et al., 1993a]
         “After the first time the button is pressed, a coffee is always
                                                          √
         eventually delivered within 10 units of time.” ( )
         “It must never happen that the button can be pressed twice within
         1 unit of time.” (×)
         “It must never happen that the button can be pressed twice within a
                                                   √
         time strictly less than 1 unit of time.” ( )




  ´           ´
  Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   12 / 27
A Coffee Vending Machine


Towards a Parametrization. . .

    Interesting problems
          Robustness
                 Does the system still behave the same if one of the delays (slightly)
                 changes?

          Optimization of timing constants
                 Up to which value of the delay between two actions press? can I still
                 order a coffee with 3 doses of sugar?

          Avoidance of numerous verifications
                 If one of the timing delays of the model changes, should I model
                 check again the whole system?




   ´           ´
   Etienne ANDRE (NUS)           The Good, the Bad and the Unknown    26th January 2011   13 / 27
A Coffee Vending Machine


Towards a Parametrization. . .

    Interesting problems
          Robustness
                 Does the system still behave the same if one of the delays (slightly)
                 changes?

          Optimization of timing constants
                 Up to which value of the delay between two actions press? can I still
                 order a coffee with 3 doses of sugar?

          Avoidance of numerous verifications
                 If one of the timing delays of the model changes, should I model
                 check again the whole system?


    Idea: reason with parameters (unknown constants)


   ´           ´
   Etienne ANDRE (NUS)           The Good, the Bad and the Unknown    26th January 2011   13 / 27
A Parametric Coffee Vending Machine


Outline



1   A Coffee Vending Machine

2   A Parametric Coffee Vending Machine

3   Synthesis of Parameters

4   Conclusion




    ´           ´
    Etienne ANDRE (NUS)             The Good, the Bad and the Unknown   26th January 2011   14 / 27
A Parametric Coffee Vending Machine


Parametric Timed Automaton


   Timed automaton (sets of locations, actions and clocks)



                                                y=8
                                                coffee!

                                                    y   5

                                  press?                       y=5
                                  x := 0                       cup!
                                                x 1
                                  y := 0
                                                press?
                                                x := 0




  ´           ´
  Etienne ANDRE (NUS)             The Good, the Bad and the Unknown   26th January 2011   15 / 27
A Parametric Coffee Vending Machine


Parametric Timed Automaton


   Timed automaton (sets of locations, actions and clocks)
   augmented with a set P of parameters [Alur et al., 1993b]
         Unknown constants used in guards and invariants
                                                y = p3
                                                coffee!

                                                    y   p2

                                  press?                       y = p2
                                  x := 0                       cup!
                                                x p1
                                  y := 0
                                                press?
                                                x := 0




  ´           ´
  Etienne ANDRE (NUS)             The Good, the Bad and the Unknown     26th January 2011   15 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration




   Iterative exploration of symbolic states
         Symbolic state: location and constraint on the clocks and
         parameters




  ´           ´
  Etienne ANDRE (NUS)             The Good, the Bad and the Unknown   26th January 2011   16 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration: Coffee Machine
                                                y = p3
                                                 coffee!


                                                    y   p2

                                   press?                      y = p2
                                   x := 0                       cup!
                                   y := 0       x    p1
                                                 press?
                                                x := 0

  x=y




  ´           ´
  Etienne ANDRE (NUS)             The Good, the Bad and the Unknown     26th January 2011   17 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration: Coffee Machine
                                                y = p3
                                                 coffee!


                                                    y   p2

                                   press?                      y = p2
                                   x := 0                       cup!
                                   y := 0       x    p1
                                                 press?
                                                x := 0

  x=y                    x=y
                     0    y p2

            press?




  ´           ´
  Etienne ANDRE (NUS)             The Good, the Bad and the Unknown     26th January 2011   17 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration: Coffee Machine
                                                y = p3
                                                 coffee!


                                                    y   p2

                                   press?                      y = p2
                                   x := 0                       cup!
                                   y := 0       x    p1
                                                 press?
                                                x := 0

  x=y                    x=y                  x=y
                     0    y p2                y p2

            press?                  cup!




  ´           ´
  Etienne ANDRE (NUS)             The Good, the Bad and the Unknown     26th January 2011   17 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration: Coffee Machine
                                                y = p3
                                                 coffee!


                                                    y   p2

                                   press?                       y = p2
                                   x := 0                        cup!
                                   y := 0       x    p1
                                                 press?
                                                x := 0

  x=y                    x=y                  x=y                     x=y
                     0    y p2                y p2                    y p3

            press?                  cup!                     coffee!




  ´           ´
  Etienne ANDRE (NUS)             The Good, the Bad and the Unknown          26th January 2011   17 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration: Coffee Machine
                                                y = p3
                                                 coffee!


                                                    y   p2

                                   press?                       y = p2
                                   x := 0                        cup!
                                   y := 0       x    p1
                                                 press?
                                                x := 0

  x=y                    x=y                  x=y                     x=y
                                                                                   press?
                     0    y p2                y p2                    y p3

            press?                  cup!                     coffee!




  ´           ´
  Etienne ANDRE (NUS)             The Good, the Bad and the Unknown          26th January 2011   17 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration: Coffee Machine
                                                 y = p3
                                                  coffee!


                                                    y   p2

                                   press?                       y = p2
                                   x := 0                        cup!
                                   y := 0        x    p1
                                                  press?
                                                 x := 0

  x=y                    x=y                   x=y                     x=y
                                                                                    press?
                     0    y p2                 y p2                    y p3

            press?                  cup!                     coffee!
                                        press?

                     y−x      p1                        cup!
                                                                ···
                     0 y      p2




  ´           ´
  Etienne ANDRE (NUS)              The Good, the Bad and the Unknown          26th January 2011   17 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration: Coffee Machine
                                                 y = p3
                                                  coffee!


                                                    y   p2

                                   press?                        y = p2
                                   x := 0                         cup!
                                   y := 0        x    p1
                                                  press?
                                                 x := 0

  x=y                    x=y                   x=y                     x=y
                                                                                           press?
                     0    y p2                 y p2                    y p3

            press?                  cup!                      coffee!
                                        press?

                     y−x      p1                        cup!
                                                                 ···
                     0 y      p2                                 press?

                                            y−x         2p1                   cup!
                                                                                        ···
                                            0 y         p2


  ´           ´
  Etienne ANDRE (NUS)              The Good, the Bad and the Unknown                 26th January 2011   17 / 27
A Parametric Coffee Vending Machine


Symbolic Exploration: Coffee Machine
                                                 y = p3
                                                  coffee!


                                                    y   p2

                                   press?                        y = p2
                                   x := 0                         cup!
                                   y := 0        x    p1
                                                  press?
                                                 x := 0

  x=y                    x=y                   x=y                     x=y
                                                                                           press?
                     0    y p2                 y p2                    y p3

            press?                  cup!                      coffee!
                                        press?

                     y−x      p1                        cup!
                                                                 ···
                     0 y      p2                                 press?

                                            y−x         2p1                   cup!
                                                                                        ···
                                            0 y         p2
                                                                                        ···
  ´           ´
  Etienne ANDRE (NUS)              The Good, the Bad and the Unknown                 26th January 2011   17 / 27
A Parametric Coffee Vending Machine


Undecidability



    The symbolic exploration is infinite in general

    No possible abstraction like for Timed Automata




   ´           ´
   Etienne ANDRE (NUS)             The Good, the Bad and the Unknown   26th January 2011   18 / 27
A Parametric Coffee Vending Machine


Undecidability



     The symbolic exploration is infinite in general

     No possible abstraction like for Timed Automata


Bad News
(Almost) all interesting problems are undecidable for Parametric Timed
Automata.




    ´           ´
    Etienne ANDRE (NUS)             The Good, the Bad and the Unknown   26th January 2011   18 / 27
Synthesis of Parameters


Outline



1   A Coffee Vending Machine

2   A Parametric Coffee Vending Machine

3   Synthesis of Parameters

4   Conclusion




    ´           ´
    Etienne ANDRE (NUS)          The Good, the Bad and the Unknown   26th January 2011   19 / 27
Synthesis of Parameters


Synthesis of Parameters (1/2)


    The good parameters problem
          “Given a bounded parameter domain, find a set of parameter
          valuations of good behavior”




   ´           ´
   Etienne ANDRE (NUS)          The Good, the Bad and the Unknown   26th January 2011   20 / 27
Synthesis of Parameters


Synthesis of Parameters (1/2)


    The good parameters problem
          “Given a bounded parameter domain, find a set of parameter
          valuations of good behavior”




   ´           ´
   Etienne ANDRE (NUS)          The Good, the Bad and the Unknown   26th January 2011   20 / 27
Synthesis of Parameters


Synthesis of Parameters (1/2)


    The good parameters problem
          “Given a bounded parameter domain, find a set of parameter
          valuations of good behavior”




    Interesting problem




   ´           ´
   Etienne ANDRE (NUS)          The Good, the Bad and the Unknown   26th January 2011   20 / 27
Synthesis of Parameters


Synthesis of Parameters (1/2)


    The good parameters problem
          “Given a bounded parameter domain, find a set of parameter
          valuations of good behavior”




    Interesting problem
          But undecidable!




   ´           ´
   Etienne ANDRE (NUS)          The Good, the Bad and the Unknown   26th January 2011   20 / 27
Synthesis of Parameters


Synthesis of Parameters (2/2)


    Possible options to deal with undecidability

          Semi algorithms
                 Example: Computation of all the reachable states, and intersection
                 with the bad states [Henzinger and Wong-Toi, 1996]

          Approximations
                 Example: Use of octahedra [Clariso and Cortadella, 2007]
                                                  ´

          Restrictions to decidable subclasses
                 Example: L/U automata [Hune et al., 2002]




   ´           ´
   Etienne ANDRE (NUS)           The Good, the Bad and the Unknown   26th January 2011   21 / 27
Synthesis of Parameters


An Inverse Method for PTAs
   Original method for synthesis of parameters [Andr´ et al., 2009]
                                                    e
         “Given a reference parameter valuation π0 , find other valuations
         around π0 of same (linear-time) behavior”

                                 Input

                ·
               π0                p1 = 1
                                 p2 = 5
                                 p3 = 8




  ´           ´
  Etienne ANDRE (NUS)          The Good, the Bad and the Unknown   26th January 2011   22 / 27
Synthesis of Parameters


An Inverse Method for PTAs
   Original method for synthesis of parameters [Andr´ et al., 2009]
                                                    e
         “Given a reference parameter valuation π0 , find other valuations
         around π0 of same (linear-time) behavior”

                                 Input                             Output

                ·
               π0                p1 = 1
                                 p2 = 5
                                                                      p3 p2
                                                                   ∧ 6p1 > p2
                                 p3 = 8                            ∧ p2 5p1




  ´           ´
  Etienne ANDRE (NUS)          The Good, the Bad and the Unknown         26th January 2011   22 / 27
Synthesis of Parameters


An Inverse Method for PTAs
   Original method for synthesis of parameters [Andr´ et al., 2009]
                                                    e
         “Given a reference parameter valuation π0 , find other valuations
         around π0 of same (linear-time) behavior”

                                 Input                             Output

                ·
               π0                p1 = 1
                                 p2 = 5
                                                                      p3 p2
                                                                   ∧ 6p1 > p2
                                 p3 = 8                            ∧ p2 5p1


   Properties
         Semi-algorithm
         Not complete
   Advantages
         Exact method
         Behaves well in practice!

  ´           ´
  Etienne ANDRE (NUS)          The Good, the Bad and the Unknown         26th January 2011   22 / 27
Synthesis of Parameters


Behavioral Cartography of Timed Automata (1/2)
s min
    2200

   2100
                                                                   Idea: repeatedly call the inverse
   2000                                                            method
   1900                                                            [Andr´ and Fribourg, 2010]
                                                                         e
   1800
                                                                      Cover the parametric space
                                                                   with tiles
   1700

   1600
                                                                           Parametric zones with uniform
                                                                           behavior
   1500

   1400

   1300

   1200

   1100

   1000

    900
                                                                               Example: Root Contention Protocol
    800
           0   100 200 300 400 500 600 700 800 900         delay

    ´           ´
    Etienne ANDRE (NUS)                The Good, the Bad and the Unknown               26th January 2011    23 / 27
Synthesis of Parameters


Behavioral Cartography of Timed Automata (1/2)
s min
    2200

   2100
                                                                        Idea: repeatedly call the inverse
   2000                                                                 method
   1900                         6                                       [Andr´ and Fribourg, 2010]
                                                                              e
   1800            1
                                                                           Cover the parametric space
                                                                        with tiles
   1700

   1600                         5
                                                                                Parametric zones with uniform
                                      11
                                              14                                behavior
   1500                                           19
                         2      4 9         12 18
   1400                                    16 17 8
                          3 7
   1300
                               13
                             10
   1200                         15
   1100

   1000

    900
                                                                                    Example: Root Contention Protocol
    800
           0   100 200 300 400 500 600 700 800 900              delay

    ´           ´
    Etienne ANDRE (NUS)                     The Good, the Bad and the Unknown               26th January 2011    23 / 27
Synthesis of Parameters


Behavioral Cartography of Timed Automata (1/2)
s min
    2200

   2100
                                                                        Idea: repeatedly call the inverse
   2000                                                                 method
   1900                         6                                       [Andr´ and Fribourg, 2010]
                                                                              e
   1800            1
                                                                           Cover the parametric space
                                                                        with tiles
   1700

   1600                         5
                                                                                Parametric zones with uniform
                                      11
                                              14                                behavior
   1500                                           19
                         2      4 9         12 18
   1400                                    16 17 8
                          3 7
                                                                        Remarks
   1300
                               13
   1200
                             10                                                 Tiles may be infinite
                                15
                                                                                The cartography may not cover
   1100
                                                                                the whole real-valued space
   1000

    900
                                                                                    Example: Root Contention Protocol
    800
           0   100 200 300 400 500 600 700 800 900              delay

    ´           ´
    Etienne ANDRE (NUS)                     The Good, the Bad and the Unknown               26th January 2011    23 / 27
Synthesis of Parameters


Behavioral Cartography of Timed Automata (2/2)
s min
    2200

   2100

   2000
                                                                        Partition into good and bad
   1900                         6                                       subspaces
   1800            1                                                            Good if the property is true
   1700                                                                         Bad if the property is false
                                                                                Unknown if not covered by
   1600                         5     11
                                              14
                                                                                any tile
   1500                                           19
                         2      4 9         12 18
   1400                                    16 17 8
                          3 7
   1300
                               13
                             10
   1200                         15
   1100

   1000

    900

    800
           0   100 200 300 400 500 600 700 800 900              delay

    ´           ´
    Etienne ANDRE (NUS)                     The Good, the Bad and the Unknown              26th January 2011   24 / 27
Synthesis of Parameters


Behavioral Cartography of Timed Automata (2/2)
s min
    2200

   2100

   2000
                                                                        Partition into good and bad
   1900                         6                                       subspaces
   1800            1                                                            Good if the property is true
   1700                                                                         Bad if the property is false
                                                                                Unknown if not covered by
   1600                         5     11
                                              14
                                                                                any tile
   1500                                           19
                         2      4 9         12 18
   1400                                    16 17 8
                          3 7
                                                                        Advantages
   1300
                               13                                               Independent of the property
                             10
   1200                         15                                              (Only the partition depends on
   1100                                                                         the property)
                                                                                Covers much of the parametric
   1000
                                                                                space in practice
    900

    800
           0   100 200 300 400 500 600 700 800 900              delay

    ´           ´
    Etienne ANDRE (NUS)                     The Good, the Bad and the Unknown              26th January 2011   24 / 27
Conclusion


Summary

   Synthesis of parameters for real-time concurrent systems
   important
         Robustness
         Optimization of timing constants
         Avoidance of numerous verifications

   Undecidable in the general case
         Possible solutions
                Semi algorithms
                Approximations
                Restrictions to decidable subclasses


   Still ongoing work!



  ´           ´
  Etienne ANDRE (NUS)         The Good, the Bad and the Unknown   26th January 2011   25 / 27
Bibliography


References I
   Alur, R., Courcoubetis, C., and Dill, D. L. (1993a).
   Model-checking in dense real-time.
   Information and Computation, 104(1):2–34.
   Alur, R. and Dill, D. L. (1994).
   A theory of timed automata.
   TCS, 126(2):183–235.
   Alur, R., Henzinger, T. A., and Vardi, M. Y. (1993b).
   Parametric real-time reasoning.
   In STOC ’93, pages 592–601. ACM.
         e ´
   Andr´ , E., Chatain, T., Encrenaz, E., and Fribourg, L. (2009).
   An inverse method for parametric timed automata.
   International Journal of Foundations of Computer Science, 20(5):819–836.
        e ´
   Andr´ , E. and Fribourg, L. (2010).
   Behavioral cartography of timed automata.
   In RP’10, volume 6227 of LNCS, pages 76–90. Springer.
   Clariso, R. and Cortadella, J. (2007).
          ´
   The octahedron abstract domain.
   Sci. Comput. Program., 64(1):115–139.


   ´           ´
   Etienne ANDRE (NUS)            The Good, the Bad and the Unknown           26th January 2011   26 / 27
Bibliography


References II



   Clarke, E. M. and Emerson, E. A. (1982).
   Design and synthesis of synchronization skeletons using branching-time temporal logic.
   In Logic of Programs, Workshop, pages 52–71, London, UK. Springer-Verlag.
   Henzinger, T. A. and Wong-Toi, H. (1996).
   Using HyTech to synthesize control parameters for a steam boiler.
   In Formal Methods for Industrial Applications: Specifying and Programming the Steam Boiler
   Control, LNCS 1165. Springer-Verlag.
   Hune, T., Romijn, J., Stoelinga, M., and Vaandrager, F. (2002).
   Linear parametric model checking of timed automata.
   Journal of Logic and Algebraic Programming.




   ´           ´
   Etienne ANDRE (NUS)           The Good, the Bad and the Unknown          26th January 2011   27 / 27
Extra Slides


Summary of Experiments: IM


   Computation times of various case studies
         Experiments conducted on an Intel Core2 Duo 2.4 GHz with 2 Gb
               Example PTAs loc./PTA     |X|   |P|   iter. |K0 |   states   trans.   Time
               SR-latch    3   [3, 8]      3     3     5    2         4        3     0.007
               Flip-flop    5  [4, 16]      5    12     9    6         11      10     0.122
               And–Or      3   [4, 8]      4    12    14 4            13      13     0.15
             Latch circuit 7   [2, 5]      8    13    12 6            18      17     0.345
              CSMA/CD      3   [3, 8]      3     3    19 2           219     342     1.01
                 RCP       5  [6, 11]      6     5    20 2           327     518      2.3
                 BRP       6   [2, 6]      7     6    30 7           429     474      34
                SIMOP      5  [5, 16]      8     7    53 9          1108     1404     67
              SPSMALL      28 [2, 11]     28    62    94 45          129     173      461




  ´           ´
  Etienne ANDRE (NUS)       The Good, the Bad and the Unknown                        26th January 2011   28 / 27
Extra Slides


Summary of Experiments: BC



   Computation time for the cartography algorithm
         Experiments conducted on an Intel Core2 Duo 2.4 GHz with 2 Gb
           Example PTAs loc./PTA    |X|   |P|    |V0 | tiles states   trans. Time (s)
           SR-latch     3  [3, 8]     3    3     1331    6     5         4      0.3
           Flip-flop     5 [4, 16]     5    2      644    8     15       14       3
         Latch circuit  7  [2, 5]     8    4    73062    5     21       20     96.3
           And–Or       3  [4, 8]     4    6    75600    4     64       72     118
          CSMA/CD       3  [3, 8]     3    3     2000 140 349           545    269
             RCP        5 [6, 11]     6    3    186050 19 5688         9312    7018
          SPSMALL      28 [2, 11]    28    3      784  213 145          196   31641




  ´           ´
  Etienne ANDRE (NUS)      The Good, the Bad and the Unknown                 26th January 2011   29 / 27

Contenu connexe

Plus de cstalks

CSTalks-Visualizing Software Behavior-14Sep
CSTalks-Visualizing Software Behavior-14SepCSTalks-Visualizing Software Behavior-14Sep
CSTalks-Visualizing Software Behavior-14Sepcstalks
 
CSTalks-Polymorphic heterogeneous multicore systems-17Aug
CSTalks-Polymorphic heterogeneous multicore systems-17AugCSTalks-Polymorphic heterogeneous multicore systems-17Aug
CSTalks-Polymorphic heterogeneous multicore systems-17Augcstalks
 
CSTalks-Quaternary Semantics Recomandation System-24 Aug
CSTalks-Quaternary Semantics Recomandation System-24 AugCSTalks-Quaternary Semantics Recomandation System-24 Aug
CSTalks-Quaternary Semantics Recomandation System-24 Augcstalks
 
CSTalks - Object detection and tracking - 25th May
CSTalks - Object detection and tracking - 25th MayCSTalks - Object detection and tracking - 25th May
CSTalks - Object detection and tracking - 25th Maycstalks
 
CSTalks - The Multicore Midlife Crisis - 30 Mar
CSTalks - The Multicore Midlife Crisis - 30 MarCSTalks - The Multicore Midlife Crisis - 30 Mar
CSTalks - The Multicore Midlife Crisis - 30 Marcstalks
 
CSTalks - On machine learning - 2 Mar
CSTalks - On machine learning - 2 MarCSTalks - On machine learning - 2 Mar
CSTalks - On machine learning - 2 Marcstalks
 
CSTalks - Real movie recommendation - 9 Mar
CSTalks - Real movie recommendation - 9 MarCSTalks - Real movie recommendation - 9 Mar
CSTalks - Real movie recommendation - 9 Marcstalks
 
CSTalks-LifeBeyondPhD-16Mar
CSTalks-LifeBeyondPhD-16MarCSTalks-LifeBeyondPhD-16Mar
CSTalks-LifeBeyondPhD-16Marcstalks
 
CSTalks - Music Information Retrieval - 23 Feb
CSTalks - Music Information Retrieval - 23 FebCSTalks - Music Information Retrieval - 23 Feb
CSTalks - Music Information Retrieval - 23 Febcstalks
 

Plus de cstalks (9)

CSTalks-Visualizing Software Behavior-14Sep
CSTalks-Visualizing Software Behavior-14SepCSTalks-Visualizing Software Behavior-14Sep
CSTalks-Visualizing Software Behavior-14Sep
 
CSTalks-Polymorphic heterogeneous multicore systems-17Aug
CSTalks-Polymorphic heterogeneous multicore systems-17AugCSTalks-Polymorphic heterogeneous multicore systems-17Aug
CSTalks-Polymorphic heterogeneous multicore systems-17Aug
 
CSTalks-Quaternary Semantics Recomandation System-24 Aug
CSTalks-Quaternary Semantics Recomandation System-24 AugCSTalks-Quaternary Semantics Recomandation System-24 Aug
CSTalks-Quaternary Semantics Recomandation System-24 Aug
 
CSTalks - Object detection and tracking - 25th May
CSTalks - Object detection and tracking - 25th MayCSTalks - Object detection and tracking - 25th May
CSTalks - Object detection and tracking - 25th May
 
CSTalks - The Multicore Midlife Crisis - 30 Mar
CSTalks - The Multicore Midlife Crisis - 30 MarCSTalks - The Multicore Midlife Crisis - 30 Mar
CSTalks - The Multicore Midlife Crisis - 30 Mar
 
CSTalks - On machine learning - 2 Mar
CSTalks - On machine learning - 2 MarCSTalks - On machine learning - 2 Mar
CSTalks - On machine learning - 2 Mar
 
CSTalks - Real movie recommendation - 9 Mar
CSTalks - Real movie recommendation - 9 MarCSTalks - Real movie recommendation - 9 Mar
CSTalks - Real movie recommendation - 9 Mar
 
CSTalks-LifeBeyondPhD-16Mar
CSTalks-LifeBeyondPhD-16MarCSTalks-LifeBeyondPhD-16Mar
CSTalks-LifeBeyondPhD-16Mar
 
CSTalks - Music Information Retrieval - 23 Feb
CSTalks - Music Information Retrieval - 23 FebCSTalks - Music Information Retrieval - 23 Feb
CSTalks - Music Information Retrieval - 23 Feb
 

CSTalks - Model Checking - 26 Jan

  • 1. Computing Students Talks 26th January 2011 The Good, the Bad and the Unknown Synthesis of Timing Parameters in Concurrent Systems ´ ´ Etienne ANDRE PAT Team School of Computing, National University of Singapore ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 1 / 27
  • 2. Introduction Verification of Real Time Systems Motivation ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 2 / 27
  • 3. Introduction Context: Model Checking Timed Systems (1/2) Input A timed concurrent system ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 3 / 27
  • 4. Introduction Context: Model Checking Timed Systems (1/2) Input A timed concurrent system A good behavior expected for the system ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 3 / 27
  • 5. Introduction Context: Model Checking Timed Systems (1/2) Input A timed concurrent system A good behavior expected for the system Question: does the system always behave well? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 3 / 27
  • 6. Introduction Context: Model Checking Timed Systems (2/2) Use of formal methods AG¬bad A finite model of the system A formula to be satisfied ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 4 / 27
  • 7. Introduction Context: Model Checking Timed Systems (2/2) Use of formal methods ? |= AG¬bad A finite model of the system A formula to be satisfied Question: does the model of the system satisfy the formula? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 4 / 27
  • 8. Introduction Context: Model Checking Timed Systems (2/2) Use of formal methods ? |= AG¬bad A finite model of the system A formula to be satisfied Question: does the model of the system satisfy the formula? Yes No Counterexample ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 4 / 27
  • 9. Outline Outline 1 A Coffee Vending Machine 2 A Parametric Coffee Vending Machine 3 Synthesis of Parameters 4 Conclusion ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 5 / 27
  • 10. A Coffee Vending Machine Outline 1 A Coffee Vending Machine 2 A Parametric Coffee Vending Machine 3 Synthesis of Parameters 4 Conclusion ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 6 / 27
  • 11. A Coffee Vending Machine Model coffee! Waiting Adding sugar press? cup! Delivering coffee press? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 7 / 27
  • 12. A Coffee Vending Machine Model coffee! Waiting Adding sugar press? cup! Delivering coffee press? Example of runs Coffee with no sugar press? cup! coffee! ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 7 / 27
  • 13. A Coffee Vending Machine Model coffee! Waiting Adding sugar press? cup! Delivering coffee press? Example of runs Coffee with no sugar press? cup! coffee! Coffee with 2 doses of sugar press? press? press? cup! coffee! ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 7 / 27
  • 14. A Coffee Vending Machine Model coffee! Waiting Adding sugar press? cup! Delivering coffee press? Example of runs Coffee with no sugar press? cup! coffee! Coffee with 2 doses of sugar press? press? press? cup! coffee! And so on ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 7 / 27
  • 15. A Coffee Vending Machine Temporal Logics Specify properties on the order between events Example: CTL (Computation Tree Logic) [Clarke and Emerson, 1982] “After the button is pressed, a coffee is always eventually delivered.” ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 8 / 27
  • 16. A Coffee Vending Machine Temporal Logics Specify properties on the order between events Example: CTL (Computation Tree Logic) [Clarke and Emerson, 1982] “After the button is pressed, a coffee is always eventually delivered.” (×) ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 8 / 27
  • 17. A Coffee Vending Machine Temporal Logics Specify properties on the order between events Example: CTL (Computation Tree Logic) [Clarke and Emerson, 1982] “After the button is pressed, a coffee is always eventually delivered.” (×) “After the button is pressed, there exists an execution such that a coffee is eventually delivered.” ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 8 / 27
  • 18. A Coffee Vending Machine Temporal Logics Specify properties on the order between events Example: CTL (Computation Tree Logic) [Clarke and Emerson, 1982] “After the button is pressed, a coffee is always eventually delivered.” (×) “After the button is pressed, there exists an execution such that a √ coffee is eventually delivered.” ( ) ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 8 / 27
  • 19. A Coffee Vending Machine Temporal Logics Specify properties on the order between events Example: CTL (Computation Tree Logic) [Clarke and Emerson, 1982] “After the button is pressed, a coffee is always eventually delivered.” (×) “After the button is pressed, there exists an execution such that a √ coffee is eventually delivered.” ( ) “It is possible to get a coffee with 2 doses of sugar.” ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 8 / 27
  • 20. A Coffee Vending Machine Temporal Logics Specify properties on the order between events Example: CTL (Computation Tree Logic) [Clarke and Emerson, 1982] “After the button is pressed, a coffee is always eventually delivered.” (×) “After the button is pressed, there exists an execution such that a √ coffee is eventually delivered.” ( ) √ “It is possible to get a coffee with 2 doses of sugar.” ( ) ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 8 / 27
  • 21. A Coffee Vending Machine Timed Automaton Finite state automaton (sets of locations) ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 9 / 27
  • 22. A Coffee Vending Machine Timed Automaton Finite state automaton (sets of locations and actions) coffee! press? cup! press? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 9 / 27
  • 23. A Coffee Vending Machine Timed Automaton Finite state automaton (sets of locations and actions) augmented with a set X of clocks [Alur and Dill, 1994] Real-valued variables evolving linearly at the same rate coffee! press? cup! press? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 9 / 27
  • 24. A Coffee Vending Machine Timed Automaton Finite state automaton (sets of locations and actions) augmented with a set X of clocks [Alur and Dill, 1994] Real-valued variables evolving linearly at the same rate Features Location invariant: property to be verified to stay at a location coffee! y 5 press? cup! press? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 9 / 27
  • 25. A Coffee Vending Machine Timed Automaton Finite state automaton (sets of locations and actions) augmented with a set X of clocks [Alur and Dill, 1994] Real-valued variables evolving linearly at the same rate Features Location invariant: property to be verified to stay at a location Transition guard: property to be verified to enable a transition y=8 coffee! y 5 press? y=5 cup! x 1 press? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 9 / 27
  • 26. A Coffee Vending Machine Timed Automaton Finite state automaton (sets of locations and actions) augmented with a set X of clocks [Alur and Dill, 1994] Real-valued variables evolving linearly at the same rate Features Location invariant: property to be verified to stay at a location Transition guard: property to be verified to enable a transition Clock reset: some of the clocks can be set to 0 at each transition y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 9 / 27
  • 27. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 28. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar x 0 y 0 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 29. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? x 0 0 y 0 0 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 30. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 x 0 0 5 y 0 0 5 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 31. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! x 0 0 5 5 y 0 0 5 5 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 32. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 x 0 0 5 5 8 y 0 0 5 5 8 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 33. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 34. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar x 0 y 0 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 35. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? x 0 0 y 0 0 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 36. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? 1.5 x 0 0 1.5 y 0 0 1.5 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 37. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? 1.5 press? x 0 0 1.5 0 y 0 0 1.5 1.5 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 38. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? 1.5 press? 2.7 x 0 0 1.5 0 2.7 y 0 0 1.5 1.5 4.2 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 39. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? 1.5 press? 2.7 press? x 0 0 1.5 0 2.7 0 y 0 0 1.5 1.5 4.2 4.2 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 40. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? 1.5 press? 2.7 press? 0.8 x 0 0 1.5 0 2.7 0 0.8 y 0 0 1.5 1.5 4.2 4.2 5 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 41. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? 1.5 press? 2.7 press? 0.8 cup! x 0 0 1.5 0 2.7 0 0.8 0.8 y 0 0 1.5 1.5 4.2 4.2 5 5 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 42. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? 1.5 press? 2.7 press? 0.8 cup! 3 x 0 0 1.5 0 2.7 0 0.8 0.8 3.8 y 0 0 1.5 1.5 4.2 4.2 5 5 8 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 43. A Coffee Vending Machine Timed Runs y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 Examples of timed runs Coffee with no sugar press? 5 cup! 3 coffee! x 0 0 5 5 8 8 y 0 0 5 5 8 8 Coffee with 2 doses of sugar press? 1.5 press? 2.7 press? 0.8 cup! 3 coffee! x 0 0 1.5 0 2.7 0 0.8 0.8 3.8 3.8 y 0 0 1.5 1.5 4.2 4.2 5 5 8 8 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 10 / 27
  • 44. A Coffee Vending Machine Dense Time Time is dense: transitions can be taken anytime Infinite number of timed runs Model checking needs a finite structure! Some runs are equivalent Taking the press? action at t = 1.5 or t = 1.57 is equivalent w.r.t. the possible actions Idea: reason with abstractions Region automaton [Alur and Dill, 1994] Example: in location , all clock values in the following region are equivalent x 1∧y 5∧x=y This abstraction is finite ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 11 / 27
  • 45. A Coffee Vending Machine Timed Temporal Logics Specify properties on the order and the delay between events Example: TCTL (Timed CTL) [Alur et al., 1993a] “After the first time the button is pressed, a coffee is always eventually delivered within 10 units of time.” ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 12 / 27
  • 46. A Coffee Vending Machine Timed Temporal Logics Specify properties on the order and the delay between events Example: TCTL (Timed CTL) [Alur et al., 1993a] “After the first time the button is pressed, a coffee is always √ eventually delivered within 10 units of time.” ( ) ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 12 / 27
  • 47. A Coffee Vending Machine Timed Temporal Logics Specify properties on the order and the delay between events Example: TCTL (Timed CTL) [Alur et al., 1993a] “After the first time the button is pressed, a coffee is always √ eventually delivered within 10 units of time.” ( ) “It must never happen that the button can be pressed twice within 1 unit of time.” ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 12 / 27
  • 48. A Coffee Vending Machine Timed Temporal Logics Specify properties on the order and the delay between events Example: TCTL (Timed CTL) [Alur et al., 1993a] “After the first time the button is pressed, a coffee is always √ eventually delivered within 10 units of time.” ( ) “It must never happen that the button can be pressed twice within 1 unit of time.” (×) ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 12 / 27
  • 49. A Coffee Vending Machine Timed Temporal Logics Specify properties on the order and the delay between events Example: TCTL (Timed CTL) [Alur et al., 1993a] “After the first time the button is pressed, a coffee is always √ eventually delivered within 10 units of time.” ( ) “It must never happen that the button can be pressed twice within 1 unit of time.” (×) “It must never happen that the button can be pressed twice within a time strictly less than 1 unit of time.” ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 12 / 27
  • 50. A Coffee Vending Machine Timed Temporal Logics Specify properties on the order and the delay between events Example: TCTL (Timed CTL) [Alur et al., 1993a] “After the first time the button is pressed, a coffee is always √ eventually delivered within 10 units of time.” ( ) “It must never happen that the button can be pressed twice within 1 unit of time.” (×) “It must never happen that the button can be pressed twice within a √ time strictly less than 1 unit of time.” ( ) ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 12 / 27
  • 51. A Coffee Vending Machine Towards a Parametrization. . . Interesting problems Robustness Does the system still behave the same if one of the delays (slightly) changes? Optimization of timing constants Up to which value of the delay between two actions press? can I still order a coffee with 3 doses of sugar? Avoidance of numerous verifications If one of the timing delays of the model changes, should I model check again the whole system? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 13 / 27
  • 52. A Coffee Vending Machine Towards a Parametrization. . . Interesting problems Robustness Does the system still behave the same if one of the delays (slightly) changes? Optimization of timing constants Up to which value of the delay between two actions press? can I still order a coffee with 3 doses of sugar? Avoidance of numerous verifications If one of the timing delays of the model changes, should I model check again the whole system? Idea: reason with parameters (unknown constants) ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 13 / 27
  • 53. A Parametric Coffee Vending Machine Outline 1 A Coffee Vending Machine 2 A Parametric Coffee Vending Machine 3 Synthesis of Parameters 4 Conclusion ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 14 / 27
  • 54. A Parametric Coffee Vending Machine Parametric Timed Automaton Timed automaton (sets of locations, actions and clocks) y=8 coffee! y 5 press? y=5 x := 0 cup! x 1 y := 0 press? x := 0 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 15 / 27
  • 55. A Parametric Coffee Vending Machine Parametric Timed Automaton Timed automaton (sets of locations, actions and clocks) augmented with a set P of parameters [Alur et al., 1993b] Unknown constants used in guards and invariants y = p3 coffee! y p2 press? y = p2 x := 0 cup! x p1 y := 0 press? x := 0 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 15 / 27
  • 56. A Parametric Coffee Vending Machine Symbolic Exploration Iterative exploration of symbolic states Symbolic state: location and constraint on the clocks and parameters ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 16 / 27
  • 57. A Parametric Coffee Vending Machine Symbolic Exploration: Coffee Machine y = p3 coffee! y p2 press? y = p2 x := 0 cup! y := 0 x p1 press? x := 0 x=y ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 17 / 27
  • 58. A Parametric Coffee Vending Machine Symbolic Exploration: Coffee Machine y = p3 coffee! y p2 press? y = p2 x := 0 cup! y := 0 x p1 press? x := 0 x=y x=y 0 y p2 press? ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 17 / 27
  • 59. A Parametric Coffee Vending Machine Symbolic Exploration: Coffee Machine y = p3 coffee! y p2 press? y = p2 x := 0 cup! y := 0 x p1 press? x := 0 x=y x=y x=y 0 y p2 y p2 press? cup! ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 17 / 27
  • 60. A Parametric Coffee Vending Machine Symbolic Exploration: Coffee Machine y = p3 coffee! y p2 press? y = p2 x := 0 cup! y := 0 x p1 press? x := 0 x=y x=y x=y x=y 0 y p2 y p2 y p3 press? cup! coffee! ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 17 / 27
  • 61. A Parametric Coffee Vending Machine Symbolic Exploration: Coffee Machine y = p3 coffee! y p2 press? y = p2 x := 0 cup! y := 0 x p1 press? x := 0 x=y x=y x=y x=y press? 0 y p2 y p2 y p3 press? cup! coffee! ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 17 / 27
  • 62. A Parametric Coffee Vending Machine Symbolic Exploration: Coffee Machine y = p3 coffee! y p2 press? y = p2 x := 0 cup! y := 0 x p1 press? x := 0 x=y x=y x=y x=y press? 0 y p2 y p2 y p3 press? cup! coffee! press? y−x p1 cup! ··· 0 y p2 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 17 / 27
  • 63. A Parametric Coffee Vending Machine Symbolic Exploration: Coffee Machine y = p3 coffee! y p2 press? y = p2 x := 0 cup! y := 0 x p1 press? x := 0 x=y x=y x=y x=y press? 0 y p2 y p2 y p3 press? cup! coffee! press? y−x p1 cup! ··· 0 y p2 press? y−x 2p1 cup! ··· 0 y p2 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 17 / 27
  • 64. A Parametric Coffee Vending Machine Symbolic Exploration: Coffee Machine y = p3 coffee! y p2 press? y = p2 x := 0 cup! y := 0 x p1 press? x := 0 x=y x=y x=y x=y press? 0 y p2 y p2 y p3 press? cup! coffee! press? y−x p1 cup! ··· 0 y p2 press? y−x 2p1 cup! ··· 0 y p2 ··· ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 17 / 27
  • 65. A Parametric Coffee Vending Machine Undecidability The symbolic exploration is infinite in general No possible abstraction like for Timed Automata ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 18 / 27
  • 66. A Parametric Coffee Vending Machine Undecidability The symbolic exploration is infinite in general No possible abstraction like for Timed Automata Bad News (Almost) all interesting problems are undecidable for Parametric Timed Automata. ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 18 / 27
  • 67. Synthesis of Parameters Outline 1 A Coffee Vending Machine 2 A Parametric Coffee Vending Machine 3 Synthesis of Parameters 4 Conclusion ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 19 / 27
  • 68. Synthesis of Parameters Synthesis of Parameters (1/2) The good parameters problem “Given a bounded parameter domain, find a set of parameter valuations of good behavior” ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 20 / 27
  • 69. Synthesis of Parameters Synthesis of Parameters (1/2) The good parameters problem “Given a bounded parameter domain, find a set of parameter valuations of good behavior” ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 20 / 27
  • 70. Synthesis of Parameters Synthesis of Parameters (1/2) The good parameters problem “Given a bounded parameter domain, find a set of parameter valuations of good behavior” Interesting problem ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 20 / 27
  • 71. Synthesis of Parameters Synthesis of Parameters (1/2) The good parameters problem “Given a bounded parameter domain, find a set of parameter valuations of good behavior” Interesting problem But undecidable! ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 20 / 27
  • 72. Synthesis of Parameters Synthesis of Parameters (2/2) Possible options to deal with undecidability Semi algorithms Example: Computation of all the reachable states, and intersection with the bad states [Henzinger and Wong-Toi, 1996] Approximations Example: Use of octahedra [Clariso and Cortadella, 2007] ´ Restrictions to decidable subclasses Example: L/U automata [Hune et al., 2002] ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 21 / 27
  • 73. Synthesis of Parameters An Inverse Method for PTAs Original method for synthesis of parameters [Andr´ et al., 2009] e “Given a reference parameter valuation π0 , find other valuations around π0 of same (linear-time) behavior” Input · π0 p1 = 1 p2 = 5 p3 = 8 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 22 / 27
  • 74. Synthesis of Parameters An Inverse Method for PTAs Original method for synthesis of parameters [Andr´ et al., 2009] e “Given a reference parameter valuation π0 , find other valuations around π0 of same (linear-time) behavior” Input Output · π0 p1 = 1 p2 = 5 p3 p2 ∧ 6p1 > p2 p3 = 8 ∧ p2 5p1 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 22 / 27
  • 75. Synthesis of Parameters An Inverse Method for PTAs Original method for synthesis of parameters [Andr´ et al., 2009] e “Given a reference parameter valuation π0 , find other valuations around π0 of same (linear-time) behavior” Input Output · π0 p1 = 1 p2 = 5 p3 p2 ∧ 6p1 > p2 p3 = 8 ∧ p2 5p1 Properties Semi-algorithm Not complete Advantages Exact method Behaves well in practice! ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 22 / 27
  • 76. Synthesis of Parameters Behavioral Cartography of Timed Automata (1/2) s min 2200 2100 Idea: repeatedly call the inverse 2000 method 1900 [Andr´ and Fribourg, 2010] e 1800 Cover the parametric space with tiles 1700 1600 Parametric zones with uniform behavior 1500 1400 1300 1200 1100 1000 900 Example: Root Contention Protocol 800 0 100 200 300 400 500 600 700 800 900 delay ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 23 / 27
  • 77. Synthesis of Parameters Behavioral Cartography of Timed Automata (1/2) s min 2200 2100 Idea: repeatedly call the inverse 2000 method 1900 6 [Andr´ and Fribourg, 2010] e 1800 1 Cover the parametric space with tiles 1700 1600 5 Parametric zones with uniform 11 14 behavior 1500 19 2 4 9 12 18 1400 16 17 8 3 7 1300 13 10 1200 15 1100 1000 900 Example: Root Contention Protocol 800 0 100 200 300 400 500 600 700 800 900 delay ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 23 / 27
  • 78. Synthesis of Parameters Behavioral Cartography of Timed Automata (1/2) s min 2200 2100 Idea: repeatedly call the inverse 2000 method 1900 6 [Andr´ and Fribourg, 2010] e 1800 1 Cover the parametric space with tiles 1700 1600 5 Parametric zones with uniform 11 14 behavior 1500 19 2 4 9 12 18 1400 16 17 8 3 7 Remarks 1300 13 1200 10 Tiles may be infinite 15 The cartography may not cover 1100 the whole real-valued space 1000 900 Example: Root Contention Protocol 800 0 100 200 300 400 500 600 700 800 900 delay ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 23 / 27
  • 79. Synthesis of Parameters Behavioral Cartography of Timed Automata (2/2) s min 2200 2100 2000 Partition into good and bad 1900 6 subspaces 1800 1 Good if the property is true 1700 Bad if the property is false Unknown if not covered by 1600 5 11 14 any tile 1500 19 2 4 9 12 18 1400 16 17 8 3 7 1300 13 10 1200 15 1100 1000 900 800 0 100 200 300 400 500 600 700 800 900 delay ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 24 / 27
  • 80. Synthesis of Parameters Behavioral Cartography of Timed Automata (2/2) s min 2200 2100 2000 Partition into good and bad 1900 6 subspaces 1800 1 Good if the property is true 1700 Bad if the property is false Unknown if not covered by 1600 5 11 14 any tile 1500 19 2 4 9 12 18 1400 16 17 8 3 7 Advantages 1300 13 Independent of the property 10 1200 15 (Only the partition depends on 1100 the property) Covers much of the parametric 1000 space in practice 900 800 0 100 200 300 400 500 600 700 800 900 delay ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 24 / 27
  • 81. Conclusion Summary Synthesis of parameters for real-time concurrent systems important Robustness Optimization of timing constants Avoidance of numerous verifications Undecidable in the general case Possible solutions Semi algorithms Approximations Restrictions to decidable subclasses Still ongoing work! ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 25 / 27
  • 82. Bibliography References I Alur, R., Courcoubetis, C., and Dill, D. L. (1993a). Model-checking in dense real-time. Information and Computation, 104(1):2–34. Alur, R. and Dill, D. L. (1994). A theory of timed automata. TCS, 126(2):183–235. Alur, R., Henzinger, T. A., and Vardi, M. Y. (1993b). Parametric real-time reasoning. In STOC ’93, pages 592–601. ACM. e ´ Andr´ , E., Chatain, T., Encrenaz, E., and Fribourg, L. (2009). An inverse method for parametric timed automata. International Journal of Foundations of Computer Science, 20(5):819–836. e ´ Andr´ , E. and Fribourg, L. (2010). Behavioral cartography of timed automata. In RP’10, volume 6227 of LNCS, pages 76–90. Springer. Clariso, R. and Cortadella, J. (2007). ´ The octahedron abstract domain. Sci. Comput. Program., 64(1):115–139. ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 26 / 27
  • 83. Bibliography References II Clarke, E. M. and Emerson, E. A. (1982). Design and synthesis of synchronization skeletons using branching-time temporal logic. In Logic of Programs, Workshop, pages 52–71, London, UK. Springer-Verlag. Henzinger, T. A. and Wong-Toi, H. (1996). Using HyTech to synthesize control parameters for a steam boiler. In Formal Methods for Industrial Applications: Specifying and Programming the Steam Boiler Control, LNCS 1165. Springer-Verlag. Hune, T., Romijn, J., Stoelinga, M., and Vaandrager, F. (2002). Linear parametric model checking of timed automata. Journal of Logic and Algebraic Programming. ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 27 / 27
  • 84. Extra Slides Summary of Experiments: IM Computation times of various case studies Experiments conducted on an Intel Core2 Duo 2.4 GHz with 2 Gb Example PTAs loc./PTA |X| |P| iter. |K0 | states trans. Time SR-latch 3 [3, 8] 3 3 5 2 4 3 0.007 Flip-flop 5 [4, 16] 5 12 9 6 11 10 0.122 And–Or 3 [4, 8] 4 12 14 4 13 13 0.15 Latch circuit 7 [2, 5] 8 13 12 6 18 17 0.345 CSMA/CD 3 [3, 8] 3 3 19 2 219 342 1.01 RCP 5 [6, 11] 6 5 20 2 327 518 2.3 BRP 6 [2, 6] 7 6 30 7 429 474 34 SIMOP 5 [5, 16] 8 7 53 9 1108 1404 67 SPSMALL 28 [2, 11] 28 62 94 45 129 173 461 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 28 / 27
  • 85. Extra Slides Summary of Experiments: BC Computation time for the cartography algorithm Experiments conducted on an Intel Core2 Duo 2.4 GHz with 2 Gb Example PTAs loc./PTA |X| |P| |V0 | tiles states trans. Time (s) SR-latch 3 [3, 8] 3 3 1331 6 5 4 0.3 Flip-flop 5 [4, 16] 5 2 644 8 15 14 3 Latch circuit 7 [2, 5] 8 4 73062 5 21 20 96.3 And–Or 3 [4, 8] 4 6 75600 4 64 72 118 CSMA/CD 3 [3, 8] 3 3 2000 140 349 545 269 RCP 5 [6, 11] 6 3 186050 19 5688 9312 7018 SPSMALL 28 [2, 11] 28 3 784 213 145 196 31641 ´ ´ Etienne ANDRE (NUS) The Good, the Bad and the Unknown 26th January 2011 29 / 27