abstractions for timed automata
play

Abstractions for timed automata B. Srivathsan Chennai Mathematical - PowerPoint PPT Presentation

Abstractions for timed automata B. Srivathsan Chennai Mathematical Institute Joint work with F. Herbreteau, I. Walukiewicz (LaBRI, Bordeaux) 1 / 35 Reachability for timed automata Observation 1 Observation 2 2 / 35 Timed Automata q 2 ( y


  1. is simulated by � ( q , v ′ ) ( q , v ) g g R R � ( q 1 , v ′ ( q 1 , v 1 ) 1 ) q 2 x ≥ 1 y ≤ 3 q 1 q 4 � � ( q 1 , 〈 x = 0.5, y = 2.1 〉 ) ( q 1 , 〈 x = 0.5, y = 2.9 〉 ) y ≥ 2 x ≤ 3 q 3 ( q 1 , 〈 x = 0.5, y = 2.1 〉 ) � ( q 1 , 〈 x = 0.5, y = 1 〉 ) 12 / 35

  2. Abstractions from simulations a ( W ) g 5 g 4 g 1 g 2 g 3 R v 5 R 4 R 1 R 2 R 3 q , W v ′ g 1 g 2 g 3 g 5 g 4 R 1 R 2 R 3 R 5 R 4 13 / 35

  3. Abstractions from simulations a ( W ) g 5 g 4 g 1 g 2 g 3 R v 5 R 4 R 1 R 2 R 3 q , W v ′ g 1 g 2 g 3 g 5 g 4 R 1 R 2 R 3 R 5 R 4 { v | exists v ′ ∈ W s.t. ( q , v ) � ( q , v ′ ) } ◮ a ( W ) = a q ( W ) : 13 / 35

  4. a ( Z 0 ) q 0 , Z 0 a ( W 1 ) q 1 q 3 = q 1 ^ W 1 , a ( W 5 ) Z 1 W 5 q 5 a ( W 3 ) ⊆ a ( W 1 )? , Z 5 a ( W 2 ) a ( W 4 ) W 2 q 2 q 4 Z 4 Z 2 , , W 4 a ( W 3 ) , W 3 q 3 Standard algorithm: covering tree Z 3 14 / 35

  5. a ( Z 0 ) q 0 , Z 0 a ( W 1 ) q 1 q 3 = q 1 ^ W 1 , a ( W 5 ) Z 1 W 5 q 5 a ( W 3 ) ⊆ a ( W 1 )? , Z 5 a ( W 2 ) a ( W 4 ) W 2 q 2 q 4 Z 4 Z 2 , , W 4 a ( W 3 ) , W 3 q 3 Standard algorithm: covering tree Z 3 Coarser the abstraction, smaller the abstracted graph 14 / 35

  6. Condition 1 : Abstractions should have finite range Condition 2 : Abstractions should be sound ⇒ a ( W ) can contain only valuations simulated by W a ( W ) g 5 g 4 g 1 g 2 g 3 R v 5 R 4 R 2 R 1 R 3 q , W v ′ g 1 g 2 g 3 g 5 g 4 R 1 R 2 R 3 R 4 R 5 15 / 35

  7. Condition 1 : Abstractions should have finite range Condition 2 : Abstractions should be sound ⇒ a ( W ) can contain only valuations simulated by W a ( W ) g 5 g 4 g 1 g 2 g 3 R v 5 R 4 R 2 R 1 R 3 q , W v ′ g 1 g 2 g 3 g 5 g 4 R 1 R 2 R 3 R 4 R 5 Why not add all valuations simulated by W ? 15 / 35

  8. Theorem [ Laroussinie, Schnoebelen’00 ] Deciding coarsest simulation relation for a given automaton is EXPTIME-hard s 2 ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) { y } s 0 s 1 s 3 ( x > 6 ) ( y < 1 ) { y } 16 / 35

  9. Theorem [ Laroussinie, Schnoebelen’00 ] Deciding coarsest simulation relation for a given automaton is EXPTIME-hard ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) ( x > 6 ) ( y < 1 ) 16 / 35

  10. Theorem [ Laroussinie, Schnoebelen’00 ] Deciding coarsest simulation relation for a given automaton is EXPTIME-hard ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) ( x > 6 ) ( y < 1 ) M-bounds [ Alur, Dill’90 ] M ( x ) = 6, M ( y ) = 3 v � M v ′ 16 / 35

  11. Theorem [ Laroussinie, Schnoebelen’00 ] Deciding coarsest simulation relation for a given automaton is EXPTIME-hard ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) ( x > 6 ) ( y < 1 ) M-bounds [ Alur, Dill’90 ] LU-bounds Behrmann et al’06 L ( x ) = 6, L ( y ) = −∞ M ( x ) = 6, M ( y ) = 3 U ( x ) = 4, U ( y ) = 3 v � M v ′ v � LU v ′ 16 / 35

  12. Abstractions in literature [ Behrmann, Bouyer, Larsen, Pelanek’06 ] ( � LU ) a � LU ( � M ) Closure M 17 / 35

  13. Abstractions in literature [ Behrmann, Bouyer, Larsen, Pelanek’06 ] ( � LU ) a � LU ( � M ) Closure M Non-convex 17 / 35

  14. Abstractions in literature [ Behrmann, Bouyer, Larsen, Pelanek’06 ] Extra + ( � LU ) a � LU LU Extra + Extra LU ( � M ) Closure M M Non-convex Extra M Convex Only convex abstractions used in implementations ! 17 / 35

  15. Getting LU-bounds Smaller the LU bounds, bigger is the abstraction 18 / 35

  16. y = 1, { y } x = 10 6 ∧ y = 10 6 q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 q 3 q 4 q 5 q 6 y = 1, { y } 19 / 35

  17. y = 1, { y } x = 10 6 ∧ y = 10 6 q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 q 3 q 4 q 5 q 6 y = 1, { y } bounds by Static analysis [ Behrmann, Bouyer, Fleury, Larsen’03 ] 19 / 35

  18. y = 1, { y } x = 10 6 ∧ y = 10 6 −∞ q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 q 3 q 4 q 5 q 6 y = 1, { y } bounds by Static analysis [ Behrmann, Bouyer, Fleury, Larsen’03 ] 19 / 35

  19. y = 1, { y } 10 6 x = 10 6 ∧ y = 10 6 −∞ q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 q 3 q 4 q 5 q 6 y = 1, { y } bounds by Static analysis [ Behrmann, Bouyer, Fleury, Larsen’03 ] 19 / 35

  20. y = 1, { y } 10 6 x = 10 6 ∧ y = 10 6 −∞ q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 q 3 q 4 q 5 q 6 U ( x ) = 1 y = 1, { y } bounds by Static analysis [ Behrmann, Bouyer, Fleury, Larsen’03 ] 19 / 35

  21. y = 1, { y } 10 6 x = 10 6 ∧ y = 10 6 −∞ q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 q 3 q 4 q 5 q 6 L ( x ) = 10 6 , U ( x ) = 1 U ( x ) = 1 y = 1, { y } bounds by Static analysis [ Behrmann, Bouyer, Fleury, Larsen’03 ] 19 / 35

  22. y = 1, { y } 10 6 x = 10 6 ∧ y = 10 6 −∞ q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 L ( x ) = 10 6 , U ( x ) = 1 q 3 q 4 q 5 q 6 L ( y ) = 5, U ( y ) = 1 L ( x ) = 10 6 , U ( x ) = 1 U ( x ) = 1 y = 1, { y } bounds by Static analysis [ Behrmann, Bouyer, Fleury, Larsen’03 ] 19 / 35

  23. y y = 1, { y } 10 6 x = 10 6 ∧ y = 10 6 x −∞ 10 6 q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 L ( x ) = 10 6 , U ( x ) = 1 q 3 q 4 q 5 q 6 L ( y ) = 5, U ( y ) = 1 L ( x ) = 10 6 , U ( x ) = 1 U ( x ) = 1 y = 1, { y } × q 1 , x > 10 6 . . bounds by Static analysis . × [ Behrmann, Bouyer, Fleury, Larsen’03 ] q 1 , x − y = 1 q 2 , true q 1 , x − y = 0 q 0 , x − y = 0 × q 3 , x − y = 0 q 4 , true q 5 , x > 1 q 3 , x − y = 1 . . . q 3 , x > 10 6 19 / 35

  24. y y = 1, { y } 10 6 x = 10 6 ∧ y = 10 6 x −∞ 10 6 q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 L ( x ) = 10 6 , U ( x ) = 1 q 3 q 4 q 5 q 6 L ( y ) = 5, U ( y ) = 1 L ( x ) = 10 6 , U ( x ) = 1 U ( x ) = 1 y = 1, { y } × Zone graph + ExtraLU + + q 1 , x > 10 6 . . bounds by Static analysis . × [ Behrmann, Bouyer, Fleury, Larsen’03 ] q 1 , x − y = 1 q 2 , true q 1 , x − y = 0 q 0 , x − y = 0 × q 3 , x − y = 0 q 4 , true q 5 , x > 1 q 3 , x − y = 1 . . . q 3 , x > 10 6 19 / 35

  25. Reachability for timed automata Standard algorithm: covering tree Convex abstractions Bounds by static analysis Observation 1 Observation 2 20 / 35

  26. Reachability for timed automata Standard algorithm: covering tree Convex abstractions Bounds by static analysis Observation 1 Observation 2 Non-convex abstractions 20 / 35

  27. Step 1 : We can use abstractions without storing them 21 / 35

  28. Using non-convex abstractions a ( Z 0 ) q 0 , Z 0 a ( W 1 ) q 3 = q 1 ∧ q 1 W 1 , a ( W 5 ) Z 1 W 5 q 5 a ( W 3 ) ⊆ a ( W 1 )? , Z 5 a ( W 2 ) a ( W 4 ) W 2 Z 4 q 2 q 4 , Z 2 , W 4 a ( W 3 ) , W 3 q 3 Standard algorithm: covering tree Z 3 22 / 35

  29. Using non-convex abstractions a ( Z 0 ) q 0 , Z 0 a ( W 1 ) q 3 = q 1 ∧ q 1 W 1 , a ( W 5 ) Z 1 W 5 q 5 a ( W 3 ) ⊆ a ( W 1 )? , Z 5 a ( W 2 ) a ( W 4 ) W 2 Z 4 q 2 q 4 , Z 2 , W 4 a ( W 3 ) , W 3 q 3 Pick simulation based a Z 3 22 / 35

  30. Using non-convex abstractions a ( Z 0 ) q 0 , Z 0 a ( W 1 ) q 3 = q 1 ∧ q 1 W 1 , a ( W 5 ) Z 1 W 5 q 5 a ( W 3 ) ⊆ a ( W 1 )? , Z 5 a ( W 2 ) a ( W 4 ) W 2 Z 4 q 2 q 4 , Z 2 , W 4 a ( W 3 ) , W 3 q 3 Pick simulation based a Z 3 22 / 35

  31. Using non-convex abstractions a ( Z 0 ) q 0 , Z 0 a ( W 1 ) q 3 = q 1 ∧ q 1 W 1 , a ( W 5 ) Z 1 W 5 q 5 a ( W 3 ) ⊆ a ( W 1 )? , Z 5 a ( W 2 ) a ( W 4 ) W 2 Z 4 q 2 q 4 , Z 2 , W 4 a ( W 3 ) , W 3 q 3 Pick simulation based a Z 3 22 / 35

  32. Using non-convex abstractions a ( Z 0 ) q 0 , Z 0 � a ( W 1 ) q 3 = q 1 ∧ q 1 W 1 , a ( W 5 ) Z 1 W 5 q 5 a ( W 3 ) ⊆ a ( W 1 )? , Z 5 a ( W 2 ) a ( W 4 ) W 2 Z 4 q 2 q 4 , Z 2 , W 4 a ( W 3 ) , W 3 q 3 Pick simulation based a Z 3 22 / 35

  33. Using non-convex abstractions a ( Z 0 ) q 0 , Z 0 � a ( W 1 ) � q 3 = q 1 ∧ q 1 W 1 , a ( W 5 ) Z 1 W 5 q 5 a ( W 3 ) ⊆ a ( W 1 )? , Z 5 a ( W 2 ) a ( W 4 ) W 2 Z 4 q 2 q 4 , Z 2 , W 4 a ( W 3 ) , W 3 q 3 Pick simulation based a Z 3 22 / 35

  34. Using non-convex abstractions a ( Z 0 ) q 0 , Z 0 a ( Z 1 ) q 3 = q 1 ∧ q 1 , a ( Z 5 ) Z 1 q 5 a ( Z 3 ) ⊆ a ( Z 1 )? , Z 5 a ( Z 2 ) a ( Z 4 ) Z 4 q 2 q 4 , Z 2 , a ( Z 3 ) , q 3 Pick simulation based a Z 3 22 / 35

  35. Using non-convex abstractions q 0 , Z 0 q 3 = q 1 ∧ q 1 , Z 1 q 5 a ( Z 3 ) ⊆ a ( Z 1 )? , Z 5 Z 4 q 2 q 4 , Z 2 , , q 3 Need to store only concrete semantics Z 3 22 / 35

  36. Using non-convex abstractions q 0 , Z 0 q 3 = q 1 ∧ q 1 , Z 1 q 5 Z 3 ⊆ a ( Z 1 )? , Z 5 Z 4 q 2 q 4 , Z 2 , , Use Z ⊆ a ( Z ′ ) for termination q 3 Z 3 22 / 35

  37. Step 1 : We can use abstractions without storing them Step 2 : We can do the inclusion test efficiently 23 / 35

  38. Efficient inclusion testing Main result Z �⊆ a � LU ( Z ′ ) if and only if there exist 2 clocks x , y s.t. Proj xy ( Z ) �⊆ a � LU ( Proj xy ( Z ′ )) 24 / 35

  39. Efficient inclusion testing Main result Z �⊆ a � LU ( Z ′ ) if and only if there exist 2 clocks x , y s.t. Proj xy ( Z ) �⊆ a � LU ( Proj xy ( Z ′ )) Complexity: � ( | X | 2 ) , where X is the set of clocks 24 / 35

  40. Efficient inclusion testing Main result Z �⊆ a � LU ( Z ′ ) if and only if there exist 2 clocks x , y s.t. Proj xy ( Z ) �⊆ a � LU ( Proj xy ( Z ′ )) Complexity: � ( | X | 2 ) , where X is the set of clocks Same complexity as Z ⊆ Z ′ ! 24 / 35

  41. Efficient inclusion testing Main result Z �⊆ a � LU ( Z ′ ) if and only if there exist 2 clocks x , y s.t. Proj xy ( Z ) �⊆ a � LU ( Proj xy ( Z ′ )) Complexity: � ( | X | 2 ) , where X is the set of clocks Same complexity as Z ⊆ Z ′ ! Slightly modified comparison works! 24 / 35

  42. Step 1 : We can use abstractions without storing them Step 2 : We can do the inclusion test efficiently ⇒ new algorithm for reachability 25 / 35

  43. Extra + ( � LU ) a � LU LU Extra + Extra LU ( � M ) Closure M M Non-convex Extra M Convex 26 / 35

  44. Extra + ( � LU ) a � LU LU Extra + Extra LU ( � M ) Closure M M Non-convex Extra M Convex Question: Can we do better than a � LU ? 26 / 35

  45. Optimality LU-automata: automata with guards determined by L and U Theorem The a � LU abstraction is the coarsest abstraction that is sound and complete for all LU-automata. 27 / 35

  46. Reachability for timed automata Standard algorithm: covering tree Convex abstractions Bounds by static analysis Observation 1 Observation 2 Non-convex abstractions Optimality 28 / 35

  47. Reachability for timed automata Standard algorithm: covering tree Convex abstractions Bounds by static analysis Observation 1 Observation 2 Better LU-bounds Non-convex abstractions Optimality 28 / 35

  48. Reachability for timed automata Standard algorithm: covering tree Convex abstractions Bounds by static analysis Observation 1 Observation 2 Better LU-bounds Non-convex abstractions Optimality Smaller the LU-bounds, bigger is the a � LU abstraction 28 / 35

  49. y = 1, { y } x = 10 6 ∧ y = 10 6 q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 q 3 q 4 q 5 q 6 y = 1, { y } 29 / 35

  50. y = 1, { y } x = 10 6 ∧ y = 10 6 q 1 q 2 q 0 y ≥ 5 x ≥ 10 6 x ≤ 1 q 3 q 4 q 5 q 6 y = 1, { y } q 0 , x − y = 0 −∞ 29 / 35

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