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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend