abstractions for timed automata
play

Abstractions for timed automata work done with F. Herbreteau, I. - PowerPoint PPT Presentation

Abstractions for timed automata work done with F. Herbreteau, I. Walukiewicz and D.Kini B. Srivathsan Ph.D. defence Jury Ahmed Bouajjani Patricia Bouyer Bruno Courcelle Frdric Herbreteau Advisor Joost-Pieter Katoen Igor Walukiewicz


  1. Abstractions for timed automata work done with F. Herbreteau, I. Walukiewicz and D.Kini B. Srivathsan Ph.D. defence Jury Ahmed Bouajjani Patricia Bouyer Bruno Courcelle Frédéric Herbreteau Advisor Joost-Pieter Katoen Igor Walukiewicz Advisor James Worrell 1 / 43

  2. Reachability: Does something bad happen? Liveness: Does something good happen repeatedly ? A THEORY OF TIMED AUTOMATA R. Alur and D.L. Dill, TCS’94 2 / 43

  3. Reachability: Does something bad happen? UPPAAL, KRONOS, RED, IF, PAT, Rabbit ... Liveness: Does something good happen repeatedly ? PROFOUNDER, CTAV ... A THEORY OF TIMED AUTOMATA R. Alur and D.L. Dill, TCS’94 2 / 43

  4. In this thesis... We revisit reachability and liveness problems for Alur-Dill timed automata 3 / 43

  5. Reachability Reachability Liveness Liveness 4 / 43

  6. Reachability Reachability Liveness Liveness 4 / 43

  7. Timed Automata s 2 b , ( y = 1 ) c , ( x < 1 ) c , ( x < 1 ) a , { y } s 0 s 1 s 3 d , ( x > 1 ) a , ( y < 1 ) , { y } Run: finite sequence of transitions s 0 s 1 s 3 0.4, a 0.5, c x 0 0.4 0.9 y 0 0 0.5 ◮ accepting if ends in green state 5 / 43

  8. Reachability problem Given a TA, does it have an accepting run s 2 b , ( y = 1 ) c , ( x < 1 ) c , ( x < 1 ) a , { y } s 0 s 1 s 3 d , ( x > 1 ) a , ( y < 1 ) , { y } Theorem [ AD94 ] This problem is PSPACE-complete first solution based on Regions 6 / 43

  9. Key idea: Maintain sets of valuations reachable along a path y y y y x x x x ( x ≤ 5 ) ( y ≥ 7 ) q 0 q 1 q 2 q 3 { x } 7 / 43

  10. Key idea: Maintain sets of valuations reachable along a path x = y ≥ 0 x = y ≥ 0 y − x ≥ 7 y − x ≥ 7 y y y y x x x x ( x ≤ 5 ) ( y ≥ 7 ) q 0 q 1 q 2 q 3 { x } Easy to describe convex sets 7 / 43

  11. Zones and zone graph ◮ Zone: set of valuations defined by conjunctions of constraints: x ∼ c x − y ∼ c e.g. ( x − y ≥ 1 ) ∧ ( y < 2 ) ◮ Representation: by DBM [ Dil89 ] Sound and complete [ DT98 ] Zone graph preserves state reachability 8 / 43

  12. Problem of non-termination y x ( y = 1 ) { y } { x , y } q 0 q 1 9 / 43

  13. Abstractions Zone graph q 0 , Z 0 × × q 1 , Z 1 × q 2 , q 3 , Z 2 Z 3 . . . . . . potentially infinite... 10 / 43

  14. Abstractions q 0 , Z 0 Zone graph q 0 , Z 0 × × q 1 , Z 1 × q 2 , q 3 , Z 2 Z 3 . . . . . . potentially infinite... 10 / 43

  15. Abstractions a ( Z 0 ) q 0 , Z 0 Zone graph q 0 , Z 0 × × q 1 , Z 1 × q 2 , q 3 , Z 2 Z 3 . . . . . . potentially infinite... 10 / 43

  16. Abstractions a ( Z 0 ) q 0 , Z 0 Zone graph × q 0 , × Z 0 × × q 1 , Z 1 × q 2 , q 3 , Z 2 Z 3 . . . . . . potentially infinite... 10 / 43

  17. Abstractions a ( Z 0 ) q 0 , Z 0 Zone graph × q 0 , × Z 0 × × q 1 , Z 1 W 1 q 1 , × Z 1 q 2 , q 3 , Z 2 Z 3 . . . . . . potentially infinite... 10 / 43

  18. Abstractions a ( Z 0 ) q 0 , Z 0 Zone graph × q 0 , × Z 0 × × a ( W 1 ) q 1 , Z 1 W 1 q 1 , × Z 1 q 2 , q 3 , Z 2 Z 3 . . . . . . potentially infinite... 10 / 43

  19. Abstractions a ( Z 0 ) q 0 , Z 0 Zone graph × q 0 , × Z 0 × × a ( W 1 ) q 1 , Z 1 W 1 q 1 , × Z 1 × q 2 , q 3 , Z 2 Z 3 . . . . q 2 , q 3 , . . W 2 W 3 Z 3 Z 2 potentially infinite... 10 / 43

  20. Abstractions a ( Z 0 ) q 0 , Z 0 Zone graph × q 0 , × Z 0 × × a ( W 1 ) q 1 , Z 1 W 1 q 1 , × Z 1 × q 2 , q 3 , Z 2 Z 3 . . a ( W 3 ) . . q 2 , q 3 , . . W 2 W 3 Z 3 Z 2 potentially infinite... a ( W 2 ) 10 / 43

  21. Abstractions a ( Z 0 ) q 0 , Z 0 Zone graph × q 0 , × Z 0 × × a ( W 1 ) q 1 , Z 1 W 1 q 1 , × Z 1 × q 2 , q 3 , Z 2 Z 3 . . a ( W 3 ) . . q 2 , q 3 , . . W 2 W 3 Z 3 Z 2 potentially infinite... a ( W 2 ) Find a such that number of abstracted sets is finite 10 / 43

  22. Abstractions a ( Z 0 ) q 0 , Z 0 Zone graph × q 0 , × Z 0 × × a ( W 1 ) q 1 , Z 1 W 1 q 1 , × Z 1 × q 2 , q 3 , Z 2 Z 3 . . a ( W 3 ) . . q 2 , q 3 , . . W 2 W 3 Z 3 Z 2 potentially infinite... a ( W 2 ) Coarser the abstraction, smaller the abstracted graph 10 / 43

  23. 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 2 g 1 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 11 / 43

  24. 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 2 g 1 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 Question: Why not add all the valuations simulated by W ? 11 / 43

  25. Bounds and abstractions Theorem [ LS00 ] Coarsest simulation relation is EXPTIME-hard s 2 ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) { y } s 0 s 1 s 3 ( x > 6 ) ( y < 1 ) { y } 12 / 43

  26. Bounds and abstractions Theorem [ LS00 ] Coarsest simulation relation is EXPTIME-hard ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) ( x > 6 ) ( y < 1 ) 12 / 43

  27. Bounds and abstractions Theorem [ LS00 ] Coarsest simulation relation is EXPTIME-hard ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) ( x > 6 ) ( y < 1 ) M-bounds [ AD94 ] M ( x ) = 6, M ( y ) = 3 v � M v ′ 12 / 43

  28. Bounds and abstractions Theorem [ LS00 ] Coarsest simulation relation is EXPTIME-hard ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) ( x > 6 ) ( y < 1 ) M-bounds [ AD94 ] LU-bounds [ BBLP04 ] L ( x ) = 6, L ( y ) = −∞ M ( x ) = 6, M ( y ) = 3 U ( x ) = 4, U ( y ) = 3 v � M v ′ v � LU v ′ 12 / 43

  29. Abstractions in literature [ BBLP04, Bou04 ] ( � LU ) a � LU ( � M ) Closure M 13 / 43

  30. Abstractions in literature [ BBLP04, Bou04 ] ( � LU ) a � LU ( � M ) Closure M Non-convex 13 / 43

  31. Abstractions in literature [ BBLP04, Bou04 ] Extra + ( � LU ) a � LU LU Extra + ( � M ) Extra LU Closure M M Non-convex Extra M Convex Only convex abstractions used in implementations ! 13 / 43

  32. Reachability Non-convex abstr. Liveness Liveness 14 / 43

  33. Step 1 : We can use abstractions without storing them 15 / 43

  34. 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 16 / 43

  35. 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 16 / 43

  36. 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 16 / 43

  37. 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 16 / 43

  38. 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 16 / 43

  39. 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 16 / 43

  40. 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 16 / 43

  41. 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 16 / 43

  42. 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 16 / 43

  43. Step 1 : We can use abstractions without storing them Step 2 : We can do the inclusion test efficiently 17 / 43

  44. 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 ′ )) 18 / 43

  45. 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 18 / 43

  46. 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 ′ ! 18 / 43

  47. 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! 18 / 43

Recommend


More recommend