zone based verification of timed automata revisited
play

Zone based verification of timed automata revisited B. Srivathsan - PowerPoint PPT Presentation

Zone based verification of timed automata revisited B. Srivathsan Joint work with F. Herbreteau and I. Walukiewicz LaBRI, Universit e de Bordeaux 1 Groupe de Travail Mod elisation et V erification LIF, Marseille - November 2011 Zone


  1. Using Closure α for reachability ( q 0 , a ( Z 0 )) ( q 1 , a ( Z 1 )) ( q 5 , a ( Z 5 )) q 3 = q 1 ∧ a ( Z 3 ) ⊆ a ( Z 1 )? ( q 2 , a ( Z 2 )) ( q 4 , a ( Z 4 )) ( q 3 , a ( Z 3 )) Standard algorithm: covering tree Zone based verification of timed automata revisited - 14/45

  2. Using Closure α for reachability ( q 0 , a ( Z 0 )) ( q 1 , a ( Z 1 )) ( q 5 , a ( Z 5 )) ( q 2 , a ( Z 2 )) ( q 4 , a ( Z 4 )) ( q 3 , a ( Z 3 )) Closure α ( Z ) cannot be efficiently stored Zone based verification of timed automata revisited - 14/45

  3. Using Closure α for reachability ( q 0 , Z 0 ) ( q 1 , Z 1 ) ( q 5 , Z 5 ) ( q 2 , Z 2 ) ( q 4 , Z 4 ) ( q 3 , Z 3 ) Do not store abstracted zones! Zone based verification of timed automata revisited - 14/45

  4. Using Closure α for reachability ( q 0 , Z 0 ) ( q 1 , Z 1 ) ( q 5 , Z 5 ) q 3 = q 1 ∧ Z 3 ⊆ Closure α ( Z 1 )? ( q 2 , Z 2 ) ( q 4 , Z 4 ) ( q 3 , Z 3 ) Use Closure for termination! Zone based verification of timed automata revisited - 14/45

  5. Using Closure α for reachability ( q 0 , Z 0 ) ( q 1 , Z 1 ) ( q 5 , Z 5 ) q 3 = q 1 ∧ Z 3 ⊆ Closure α ( Z 1 )? ( q 2 , Z 2 ) ( q 4 , Z 4 ) ( q 3 , Z 3 ) Need an efficient algorithm for Z ⊆ Closure α ( Z ′ ) Zone based verification of timed automata revisited - 14/45

  6. Reduction to two clocks Inspired by a crucial observation made in [Bou04] Theorem Z �⊆ Closure α ( Z ′ ) if and only if there exist 2 clocks x , y s.t. Proj xy ( Z ) �⊆ Closure α ( Proj xy ( Z ′ )) Zone based verification of timed automata revisited - 15/45

  7. Reduction to two clocks Inspired by a crucial observation made in [Bou04] Theorem Z �⊆ Closure α ( Z ′ ) if and only if there exist 2 clocks x , y s.t. Proj xy ( Z ) �⊆ Closure α ( Proj xy ( Z ′ )) Complexity: O ( | X | 2 ), where X is the set of clocks Zone based verification of timed automata revisited - 15/45

  8. Reduction to two clocks Inspired by a crucial observation made in [Bou04] Theorem Z �⊆ Closure α ( Z ′ ) if and only if there exist 2 clocks x , y s.t. Proj xy ( Z ) �⊆ Closure α ( Proj xy ( Z ′ )) Same complexity as Z ⊆ Z ′ ! Zone based verification of timed automata revisited - 15/45

  9. So what do we have now... ( q 0 , Z 0 ) ( q 1 , Z 1 ) ( q 5 , Z 5 ) q 3 = q 1 ∧ Z 3 ⊆ Closure α ( Z 1 )? ( q 2 , Z 2 ) ( q 4 , Z 4 ) ( q 3 , Z 3 ) Efficient algorithm for Z ⊆ Closure α ( Z ′ ) Zone based verification of timed automata revisited - 16/45

  10. So what do we have now... ( q 0 , Z 0 ) ( q 1 , Z 1 ) ( q 5 , Z 5 ) q 3 = q 1 ∧ Z 3 ⊆ Closure α ( Z 1 )? ( q 2 , Z 2 ) ( q 4 , Z 4 ) ( q 3 , Z 3 ) Coming next: prune the bound function α ! Zone based verification of timed automata revisited - 16/45

  11. Bound function α q 0 q 1 x ≤ 5 y ≥ 5 y ≥ 10 6 x := 0 x ≤ 14 y := 0 q 3 q 2 Naive: α ( x ) = 14, α ( y ) = 10 6 Size of graph ∼ 10 5 Zone based verification of timed automata revisited - 17/45

  12. Static analysis: bound function for every q [BBFL03] 5 5 q 0 q 1 x ≤ 5 y ≥ 5 y ≥ 10 6 x := 0 x ≤ 14 y := 0 q 3 q 2 10 6 5 Naive: α ( x ) = 14, α ( y ) = 10 6 Zone based verification of timed automata revisited - 17/45

  13. Static analysis: bound function for every q [BBFL03] 5 5 q 0 q 1 x ≤ 5 y ≥ 5 y ≥ 10 6 x := 0 x ≤ 14 y := 0 q 3 q 2 10 6 5 Naive: α ( x ) = 14, α ( y ) = 10 6 But this is not enough! Zone based verification of timed automata revisited - 17/45

  14. Need to look at semantics... x = 1 x := 0 Static analysis: α ( y ) = 10 6 q 0 q 1 x ≥ 2 x < 1 y = 10 6 q 3 q 2 More than 10 6 zones at q 0 not necessary ! Zone based verification of timed automata revisited - 18/45

  15. Bound function for every ( q , Z ) in ZG( A ) constants at depend on subtree . . . . . . . . . Zone based verification of timed automata revisited - 19/45

  16. Constant propagation α ( x ) = −∞ ( q , Z , α ) Zone based verification of timed automata revisited - 20/45

  17. Constant propagation α ( x ) = −∞ ( q , Z , α ) x ≤ 3 Zone based verification of timed automata revisited - 20/45

  18. Constant propagation α ( x ) = 3 ( q , Z , α ) x ≤ 3 Zone based verification of timed automata revisited - 20/45

  19. Constant propagation α ( x ) = 3 ( q , Z , α ) x ≤ 3 Zone based verification of timed automata revisited - 20/45

  20. Constant propagation α ( x ) = 5 ( q , Z , α ) x ≤ 3 Zone based verification of timed automata revisited - 20/45

  21. Constant propagation α ( x ) = 5 ( q , Z , α ) x ≤ 3 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  22. Constant propagation α ( x ) = 5 ( q , Z , α ) x ≤ 3 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  23. Constant propagation α ( x ) = 6 ( q , Z , α ) x ≤ 3 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  24. Constant propagation α ( x ) = 6 ( q , Z , α ) x ≤ 3 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  25. Constant propagation α ( x ) = 6 ( q , Z , α ) x ≤ 3 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  26. Constant propagation α ( x ) = 6 ( q , Z , α ) X x ≤ 3 x ≥ 11 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  27. Constant propagation α ( x ) = 11 ( q , Z , α ) X x ≤ 3 x ≥ 11 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  28. Constant propagation α ( x ) = 11 ( q , Z , α ) X x ≤ 3 x ≥ 11 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  29. Constant propagation α ( x ) = 11 ( q , Z , α ) X x ≤ 3 x ≥ 11 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  30. Constant propagation α ( x ) = 11 ( q , Z , α ) x := 0 X x ≤ 3 x ≥ 11 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  31. Constant propagation All tentative nodes consistent α ( x ) = 11 + No more exploration ( q , Z , α ) → Terminate! x := 0 X x ≤ 3 x ≥ 11 x > 6 Z ′ ⊆ Closure α ( Z ) ( q ′ , Z ′ , α ′ ) Zone based verification of timed automata revisited - 20/45

  32. Invariants on the bounds ◮ Non tentative nodes: α = max { α succ } (modulo resets) ◮ Tentative nodes: α = α covering Theorem (Correctness) An accepting state is reachable in ZG( A ) iff the algorithm reaches a node with an accepting state and a non-empty zone. Zone based verification of timed automata revisited - 21/45

  33. Overall algorithm ◮ Compute ZG ( A ): Z ⊆ Closure α ′ ( Z ′ ) for termination ◮ Bounds α calculated on-the-fly ◮ Abstraction Extra + LU can also be handled : a � LU Closure α ◦ Extra + LU Extra + Closure α LU Extra + α Extra α An efficient O ( | X | 2 ) procedure for Z ⊆ Closure α ( Extra + LU ( Z ′ ))! Zone based verification of timed automata revisited - 22/45

  34. Benchmarks Model Our algorithm UPPAAL’s algorithm UPPAAL 4.1.3 (-n4 -C -o1) nodes s. nodes s. nodes s. CSMA/CD7 5031 0 . 32 5923 0 . 27 − T.O. CSMA/CD8 16588 1 . 36 19017 1 . 08 − T.O. CSMA/CD9 54439 6 . 01 60783 4 . 19 − T.O. FDDI10 459 0 . 02 525 0 . 06 12049 2 . 43 FDDI20 1719 0 . 29 2045 0 . 78 − T.O. FDDI30 3779 1 . 29 4565 4 . 50 − T.O. Fischer7 7737 0 . 42 20021 0 . 53 18374 0 . 35 Fischer8 25080 1 . 55 91506 2 . 48 85438 1 . 53 Fischer9 81035 5 . 90 420627 12 . 54 398685 8 . 95 Fischer10 − T.O. − T.O. 1827009 53 . 44 ◮ Extra + LU and static analysis bounds in UPPAAL ◮ Closure α (Extra + LU ) and otf bounds in our algorithm Zone based verification of timed automata revisited - 23/45

  35. Part 2: The liveness problem Zone based verification of timed automata revisited - 24/45

  36. Timed B¨ uchi Automata [AD94] Run: infinite sequence of transitions y x ���� ���� 0 . 4 , a 0 . 5 , c 0 . 3 , d 15 , d ( s 0 , 0 , 0 ) − − − → ( s 1 , 0 . 4 , 0) − − − → ( s 3 , 0 . 9 , 0 . 5) − − − → ( s 3 , 1 . 2 , 0 . 8) − − → · · · ◮ accepting if infinitely often green ◮ non-Zeno if time diverges ( � i ≥ 0 δ i → ∞ ) Zone based verification of timed automata revisited - 25/45

  37. Model-Checking Real-Time Systems Correctness: Safety + Liveness + Fairness ¬ open open , x := 0 ( x < 5) , close ”Infinitely often, the gate is open for at least 5 s.” Realistic counter-examples: infinite non-Zeno runs Zone based verification of timed automata revisited - 26/45

  38. The problem that we consider Given a TBA A , does it have a non-Zeno accepting run Theorem [AD94] Deciding if a TBA has a non-Zeno accepting run is PSPACE- complete Zone based verification of timed automata revisited - 27/45

  39. Once again abstract zone graph ZG a ( A ) a � LU Extra + Closure α LU � Extra + α � Extra α � Sound and complete [Bou04, BBLP06, Tri09, Li09] α , Extra + Extra α , Extra + LU preserve repeated state reachability Zone based verification of timed automata revisited - 28/45

  40. Once again abstract zone graph ZG a ( A ) a � LU Extra + Closure α LU � Extra + α � Extra α � Sound and complete [Bou04, BBLP06, Tri09, Li09] α , Extra + Extra α , Extra + LU preserve repeated state reachability What about non-Zenoness ? Zone based verification of timed automata revisited - 28/45

  41. Finding non-Zeno Runs from Abstract Paths y := 0 x := 0 s 1 s 0 s 2 ( y ≤ 0) ( x ≤ 0) Region graph: ( s 1 , 0 = x < y ) ( s 2 , 0 = y < x ) ( s 0 , 0 = x = y ) ( s 1 , 0 = x = y ) ( s 0 , 0 = x = y ) ( s 2 , 0 = y = x ) Zone graph with Extra α : ( s 0 , 0 = x = y ) ( s 1 , 0 = x ≤ y ) ( s 0 , 0 = x = y ) ( s 2 , 0 = y ≤ x ) Zone graph with Extra + LU : ( s 0 , ⊤ ) ( s 1 , ⊤ ) ( s 0 , ⊤ ) ( s 2 , ⊤ ) Zone based verification of timed automata revisited - 29/45

  42. Finding non-Zeno Runs from Abstract Paths y := 0 x := 0 s 1 s 0 s 2 ( y ≤ 0) ( x ≤ 0) Region graph: ( s 1 , 0 = x < y ) ( s 2 , 0 = y < x ) ( s 0 , 0 = x = y ) ( s 1 , 0 = x = y ) ( s 0 , 0 = x = y ) ( s 2 , 0 = y = x ) Zone graph with Extra α : ( s 0 , 0 = x = y ) ( s 1 , 0 = x ≤ y ) ( s 0 , 0 = x = y ) ( s 2 , 0 = y ≤ x ) Zone graph with Extra + LU : ( s 0 , ⊤ ) ( s 1 , ⊤ ) ( s 0 , ⊤ ) ( s 2 , ⊤ ) How to detect non-Zeno runs from abstract zones ? Zone based verification of timed automata revisited - 29/45

  43. From TBA to Strongly non-Zeno TBA [TYB05] Key Idea : reduce non-Zenoness to B¨ uchi acceptation ≥ 1 ≥ 1 . . . . . . . . . . . . . . . g 1 ; R 1 . . . R 2 ; 2 g A Zone based verification of timed automata revisited - 30/45

  44. From TBA to Strongly non-Zeno TBA [TYB05] Key Idea : reduce non-Zenoness to B¨ uchi acceptation ≥ 1 ≥ 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . g 1 ; R 1 . . . R 2 ; 2 g A Zone based verification of timed automata revisited - 30/45

  45. From TBA to Strongly non-Zeno TBA [TYB05] Key Idea : reduce non-Zenoness to B¨ uchi acceptation ≥ 1 ≥ 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . g 1 ; R 1 g 1 & ( t ≥ 1) g 1 ; R 1 R 1 ; t := 0 . . . . . g 2 & ( t ≥ 1) . R 2 ; t := 0 R 2 ; 2 g g 2 ; R 2 A A ′ Zone based verification of timed automata revisited - 30/45

  46. Strongly non-Zeno TBA [Tri99, TYB05] Definition Strongly non-Zeno TBA: all accepting runs are non-Zeno Theorem [TYB05] For every TBA A , there exists a Strongly non-Zeno TBA A ′ that has an accepting run iff A has a non-Zeno accepting run (size of A ′ : | X | + 1 clocks and at most 2 | Q | states) Theorem [Tri09] A has a non-Zeno accepting run iff ZG( A ′ ) has an accepting run Zone based verification of timed automata revisited - 31/45

  47. What we observe Extra + LU Strongly non-Zeno Extra + Construction [TYB05] α Extra α Zone based verification of timed automata revisited - 32/45

  48. What we observe Extra + LU Strongly non-Zeno Extra + Construction [TYB05] α Combinatorial blowup Extra α | ZG a ( A ) | . O (2 | X | ) Zone based verification of timed automata revisited - 32/45

  49. and we propose... Extra + LU Strongly non-Zeno Extra + Construction [TYB05] α Combinatorial blowup Extra α | ZG a ( A ) | . O (2 | X | ) Polynomial algorithm | ZG a ( A ) | . O ( | X | 2 ) Zone based verification of timed automata revisited - 32/45

  50. and we propose... NP-complete Extra + LU Given A , ZG Extra + LU does A have a non-Zeno run? Strongly non-Zeno Extra + Construction [TYB05] α Combinatorial blowup Extra α | ZG a ( A ) | . O (2 | X | ) Polynomial algorithm | ZG a ( A ) | . O ( | X | 2 ) Zone based verification of timed automata revisited - 32/45

  51. and we propose... NP-complete Extra + LU Given A , ZG Extra + LU does A have a non-Zeno run? Strongly non-Zeno Extra + Construction [TYB05] α Combinatorial blowup Extra α | ZG a ( A ) | . O (2 | X | ) Polynomial algorithm | ZG a ( A ) | . O ( | X | 2 ) Coming next: the polynomial construction Zone based verification of timed automata revisited - 32/45

  52. Our approach to non-Zenoness A path in ZG a ( A ) yields only Zeno runs iff: 1. some clock x is blocking : ( x ≤ 1) ( x ≤ 2) ( x ≤ 1) ( x ≤ 2) • · · · • · · · • · · · • · · · • · · · x := 0 x := 0 x never reset Zone based verification of timed automata revisited - 33/45

  53. Our approach to non-Zenoness A path in ZG a ( A ) yields only Zeno runs iff: 1. some clock x is blocking : ( x ≤ 1) ( x ≤ 2) ( x ≤ 1) ( x ≤ 2) • · · · • · · · • · · · • · · · • · · · x := 0 x := 0 x never reset 2. or time cannot elapse due to zero-checks : ( y = 0) ( x = 0) ( y = 0) ( x = 0) • • • • • • • • • · · · x := 0 y := 0 x := 0 y := 0 x := 0 time cannot elapse Zone based verification of timed automata revisited - 33/45

  54. Our approach to non-Zenoness A path in ZG a ( A ) yields only Zeno runs iff: 1. some clock x is blocking : ( x ≤ 1) ( x ≤ 2) ( x ≤ 1) ( x ≤ 2) • · · · • · · · • · · · • · · · • · · · x := 0 x := 0 x never reset 2. or time cannot elapse due to zero-checks : ( y = 0) ( x = 0) ( y = 0) ( x = 0) • • • • • • • • • · · · x := 0 y := 0 x := 0 y := 0 x := 0 time cannot elapse ◮ Idea : define conditions on SCC in ZG a ( A ) to detect those two situations Zone based verification of timed automata revisited - 33/45

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