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
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
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
In this thesis... We revisit reachability and liveness problems for Alur-Dill timed automata 3 / 43
Reachability Reachability Liveness Liveness 4 / 43
Reachability Reachability Liveness Liveness 4 / 43
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
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
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
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
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
Problem of non-termination y x ( y = 1 ) { y } { x , y } q 0 q 1 9 / 43
Abstractions Zone graph q 0 , Z 0 × × q 1 , Z 1 × q 2 , q 3 , Z 2 Z 3 . . . . . . potentially infinite... 10 / 43
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
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
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
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
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
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
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
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
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
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
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
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
Bounds and abstractions Theorem [ LS00 ] Coarsest simulation relation is EXPTIME-hard ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) ( x > 6 ) ( y < 1 ) 12 / 43
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
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
Abstractions in literature [ BBLP04, Bou04 ] ( � LU ) a � LU ( � M ) Closure M 13 / 43
Abstractions in literature [ BBLP04, Bou04 ] ( � LU ) a � LU ( � M ) Closure M Non-convex 13 / 43
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
Reachability Non-convex abstr. Liveness Liveness 14 / 43
Step 1 : We can use abstractions without storing them 15 / 43
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
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
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
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
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
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
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
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
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
Step 1 : We can use abstractions without storing them Step 2 : We can do the inclusion test efficiently 17 / 43
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
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
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
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