soutenance d habilitation
play

Soutenance dhabilitation Verification of Embedded Systems - PowerPoint PPT Presentation

Soutenance dhabilitation Verification of Embedded Systems Algorithms and Complexity Nicolas Markey LSV, CNRS & ENS Cachan, France April 8, 2011 Verification of embedded systems Computers are everywhere Verification of embedded


  1. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 y :=0 y ≥ 2 , y :=0

  2. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  3. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  4. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  5. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  6. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  7. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  8. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  9. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  10. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  11. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  12. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Example y 2 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 1 y :=0 y ≥ 2 , y :=0 x 0 1 2

  13. Reasoning about timed systems Timed automata A timed automaton is made of a transition system, a set of clocks, a labelling of transitions with timing informations. Theorem (AD90) Reachability in timed automata is PSPACE -complete.

  14. Implementing timed automata The semantics of timed automata is not realistic timed automata real-life CPUs frequency infinite finite precision arbitrary bounded synchronization perfect delayed Some properties may be lost at implementation. �

  15. Implementing timed automata The semantics of timed automata is not realistic timed automata real-life CPUs frequency infinite finite precision arbitrary bounded synchronization perfect delayed Some properties may be lost at implementation. � Program semantics (DDR04) A different semantics modelling the behaviour on a CPU; over-approximated by the enlarged semantics: x ∈ [ a , b ] � x ∈ [ a − Δ , b + Δ] .

  16. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 y :=0 y ≥ 2 , y :=0

  17. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2 , x :=0 x =0 ∧ y ≥ 2 x =1 y :=0 y ≥ 2 , y :=0

  18. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  19. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  20. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  21. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  22. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  23. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  24. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  25. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  26. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  27. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  28. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  29. Robust safety Example y 3 2 1 x 0 1 2 3 x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0

  30. Checking robust safety – Extended region automaton For any location ℓ and any two regions r and r ′ , if r ∩ r ′ ∕ = ∅ and ( ℓ, r ′ ) belongs to an SCC of ℛ ( 풜 ), → ( ℓ, r ′ ). 훾 then we add a transition ( ℓ, r ) − y 3 2 1 x 0 1 2 3

  31. Checking robust safety – Extended region automaton For any location ℓ and any two regions r and r ′ , if r ∩ r ′ ∕ = ∅ and ( ℓ, r ′ ) belongs to an SCC of ℛ ( 풜 ), → ( ℓ, r ′ ). 훾 then we add a transition ( ℓ, r ) − y 3 2 1 x 0 1 2 3

  32. Checking robust safety – Extended region automaton For any location ℓ and any two regions r and r ′ , if r ∩ r ′ ∕ = ∅ and ( ℓ, r ′ ) belongs to an SCC of ℛ ( 풜 ), → ( ℓ, r ′ ). 훾 then we add a transition ( ℓ, r ) − y 3 2 1 x 0 1 2 3

  33. Checking robust safety – Extended region automaton For any location ℓ and any two regions r and r ′ , if r ∩ r ′ ∕ = ∅ and ( ℓ, r ′ ) belongs to an SCC of ℛ ( 풜 ), → ( ℓ, r ′ ). 훾 then we add a transition ( ℓ, r ) − y 3 2 훾 1 x 0 1 2 3

  34. Checking robust safety – Extended region automaton For any location ℓ and any two regions r and r ′ , if r ∩ r ′ ∕ = ∅ and ( ℓ, r ′ ) belongs to an SCC of ℛ ( 풜 ), → ( ℓ, r ′ ). 훾 then we add a transition ( ℓ, r ) − y 3 2 훾 1 x 0 1 2 3

  35. Checking robust safety – Extended region automaton For any location ℓ and any two regions r and r ′ , if r ∩ r ′ ∕ = ∅ and ( ℓ, r ′ ) belongs to an SCC of ℛ ( 풜 ), → ( ℓ, r ′ ). 훾 then we add a transition ( ℓ, r ) − y 3 2 훾 1 x 0 1 2 3

  36. Checking robust safety – Extended region automaton For any location ℓ and any two regions r and r ′ , if r ∩ r ′ ∕ = ∅ and ( ℓ, r ′ ) belongs to an SCC of ℛ ( 풜 ), → ( ℓ, r ′ ). 훾 then we add a transition ( ℓ, r ) − Theorem (DDMR04, DDMR08) Robust safety checking is PSPACE -complete. Theorem (BMR06) Robust LTL model checking is PSPACE -complete.

  37. Robust model checking – Channel automata Channel automaton A channel automaton with rewriting and occurrence testing is made of a transition system, an unbounded FIFO channel, a labelling of transition with channel read/write informations. Example a ! , b ! a ? , b ? a →{ a , b } s s t b a # zero ( a )? #! #? #! #? s # t #

  38. Robust model checking – Channel automata Channel automaton A channel automaton with rewriting and occurrence testing is made of a transition system, an unbounded FIFO channel, a labelling of transition with channel read/write informations. Proposition (BMOW07) Cycle-bounded reachability in channel automata with rewriting and occurrence testing is PSPACE -complete.

  39. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel

  40. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel Example x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0 ⌊ x ⌋ =0 x , y Δ Δ Δ Δ ⌊ y ⌋ =0 state of 풞

  41. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel Example x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0 ⌊ x ⌋ =0 Δ x , y Δ Δ Δ ⌊ y ⌋ =0 state of 풞

  42. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel Example x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0 ⌊ x ⌋ =0 Δ Δ x , y Δ Δ ⌊ y ⌋ =0 state of 풞

  43. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel Example x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0 ⌊ x ⌋ =0 Δ Δ Δ Δ Δ x , y Δ Δ x , y Δ ⌊ y ⌋ =0 state of 풞

  44. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel Example x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0 ⌊ x ⌋ =0 Δ Δ Δ Δ x , y ⌊ y ⌋ =0 state of 풞

  45. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel Example x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0 ⌊ x ⌋ =0 y Δ Δ Δ Δ x , y ⌊ y ⌋ =0 waiting for x state of 풞

  46. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel Example x ≤ 2+Δ , x :=0 x ∈ [1 − Δ , 1+Δ] x ≤ Δ ∧ y ≥ 2 − Δ y :=0 y ≥ 2 − Δ , y :=0 ⌊ x ⌋ =1 x y Δ Δ Δ Δ ⌊ y ⌋ =0 state of 풞

  47. Robust model checking – Channel automata Encoding timed automata as channel automata one time unit = one cycle of the channel Theorem (BMR08) Robust model checking for CoFlatMTL is EXPSPACE -complete. Theorem (BMS11 [unpublished]) Robust safety can be checked in PSPACE using channel automata.

  48. Verification of timed systems: conclusions and perspectives Timed automata are a well-established formalism for modelling real-time systems. separation of MTL and TPTL; [BCM05, BCM10] definition of a decidable extension of MITL with punctuality; [BMOW07, BMOW08] implementability issues. [DDMR04, BMR06, DDMR08, BMR08] Current research directions: Study different approaches to implementability issues; Synthesis of implementable systems.

  49. Outline of the presentation Introduction 1 Verification of Open Systems 2 Verification of Timed Systems 3 Modelling Resources in Timed Systems 4 Perspectives 5

  50. Modelling resources Weighted timed automata A weighted timed automaton is made of a timed automaton; Example x ≥ 3 x ≤ 2 , y :=0 y =0 x ≥ 3

  51. Modelling resources Weighted timed automata A weighted timed automaton is made of a timed automaton; cost variables; Example x ≥ 3 x ≤ 2 , y :=0 y =0 x ≥ 3

  52. Modelling resources Weighted timed automata A weighted timed automaton is made of a timed automaton; cost variables; cost information on states and transitions. Example x ≥ 3 p =6 ˙ p +=1 x ≤ 2 , y :=0 y =0 p =5 ˙ p +=2 x ≥ 3 p =1 ˙ p +=7

  53. Modelling resources Weighted timed automata A weighted timed automaton is made of a timed automaton; cost variables; cost information on states and transitions. Example x ≥ 3 p =6 ˙ p +=1 x ≤ 2 , y :=0 y =0 p =5 ˙ p +=2 x ≥ 3 p =1 ˙ p +=7 1 . 3 1 . 7

  54. Modelling resources Weighted timed automata A weighted timed automaton is made of a timed automaton; cost variables; cost information on states and transitions. Example x ≥ 3 p =6 ˙ p +=1 x ≤ 2 , y :=0 y =0 p =5 ˙ p +=2 x ≥ 3 p =1 ˙ p +=7 1 . 3 1 . 7 cost: 1 . 3 × 5=4 . 5 2 0 1 . 7 × 6=10 . 2 1

  55. Modelling resources Weighted timed automata A weighted timed automaton is made of a timed automaton; cost variables; cost information on states and transitions. Theorem (ALP01, BFH + 01, BBL04) Optimal reachability is PSPACE -complete in weighted timed automata.

  56. Energy constraints – lower-bound constraints Example p 5 4 − 1 − 2 +2 +8 − 2 3 2 x :=0 x =1 1 x 0 0 1

  57. Energy constraints – lower-bound constraints Example p 5 4 − 1 − 2 +2 +8 − 2 3 2 x :=0 x =1 1 x 0 0 1

  58. Energy constraints – lower-bound constraints Example p 5 4 − 1 − 2 +2 +8 − 2 3 2 x :=0 x =1 1 x 0 0 1

  59. Energy constraints – lower-bound constraints Example p 5 4 − 1 − 2 +2 +8 − 2 3 2 x :=0 x =1 1 x 0 0 1

  60. Energy constraints – lower-bound constraints Example p 5 4 − 1 − 2 +2 +8 − 2 3 2 x :=0 x =1 1 x 0 0 1

  61. Energy constraints – lower-bound constraints Example p 5 4 − 1 − 2 +2 +8 − 2 3 2 x :=0 x =1 1 x 0 0 1 Theorem (BFLMS08, BFLM10) Optimization under lower-bound constraint is decidable on one-clock weighted timed automata.

  62. Energy constraints – lower-bound constraints Example p 5 4 dp − 1 − 2 dt =8 ⋅ p +2 +8 − 2 3 2 x :=0 x =1 1 x 0 0 1 Theorem (BFLMS08, BFLM10) Optimization under lower-bound constraint is decidable on one-clock weighted timed automata (also for exponential costs).

  63. Energy constraints – Interval constraints Example p 5 4 − 1 − 2 +2 +8 − 2 3 2 x :=0 x =1 1 x 0 0 1

Recommend


More recommend