Topics in Timed Automata B. Srivathsan RWTH-Aachen Software modeling and Verification group 1/25
Reachability: Does something bad happen? “The gate is still open when the train is 2 minutes away from the crossing” This problem is PSPACE-complete A theory of timed automata R. Alur and D.L. Dill, TCS’94 2/25
Tools ◮ UPPAAL: Uppsaala university (Sweden) , Aalborg university (Denmark) ◮ KRONOS: Verimag (France) ◮ RED National Taiwan University (Taiwan) ◮ Rabbit Brandenburg TU Cottbus (Germany) 3/25
Tools ◮ UPPAAL: Uppsaala university (Sweden) , Aalborg university (Denmark) ◮ KRONOS: Verimag (France) ◮ RED National Taiwan University (Taiwan) ◮ Rabbit Brandenburg TU Cottbus (Germany) and still research on for efficient algorithms . . . 3/25
Lecture 6: Reachability 4/25
Timed Automata s 2 ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) { y } s 0 s 1 s 3 ( x > 6 ) ( y < 1 ) { y } Run: finite sequence of transitions s 0 s 1 s 3 0 . 4 0 . 5 x 0 0 . 4 0 . 9 y 0 0 0 . 5 ◮ accepting if ends in green state 5/25
Reachability problem Given a TA, does it have an accepting run s 2 ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) { y } s 0 s 1 s 3 ( x > 6 ) ( y < 1 ) { y } Theorem [AD94] This problem is PSPACE-complete first solution based on Regions 6/25
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/25
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/25
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/25
Problem of non-termination y x ( y = 1 ) { y } { x , y } q 0 q 1 9/25
Abstractions Zone graph q 0 , Z 0 × × q 1 , Z 1 × q 2 , q 3 , Z 2 Z 3 . . . . . . potentially infinite... 10/25
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/25
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/25
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/25
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/25
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/25
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/25
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/25
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 2 Z 3 potentially infinite... a ( W 2 ) Find a such that number of abstracted sets is finite 10/25
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 2 Z 3 potentially infinite... a ( W 2 ) Coarser the abstraction, smaller the abstracted graph 10/25
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 2 R 1 R 3 q , W v ′ g 1 g 2 g 3 g 4 g 5 R 1 R 2 R 3 R 5 R 4 11/25
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 2 R 1 R 3 q , W v ′ g 1 g 2 g 3 g 4 g 5 R 1 R 2 R 3 R 5 R 4 Question: Why not add all the valuations simulated by W ? 11/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/25
Bounds and abstractions Theorem [LS00] Coarsest simulation relation is EXPTIME-hard ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) ( x > 6 ) ( y < 1 ) 12/25
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/25
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/25
Abstractions in literature [BBLP04, Bou04] ( � LU ) a � LU ( � M ) Closure M 13/25
Abstractions in literature [BBLP04, Bou04] ( � LU ) a � LU ( � M ) Closure M Non-convex 13/25
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/25
Timed automata Zone graph Problem of non-termination Use finite abstractions Zones Bounds as parameters are efficient Restriction to convex abstractions Non-convex abstr. are coarser 14/25
Timed automata Zone graph Problem of non-termination Use finite abstractions Zones Bounds as parameters are efficient Restriction to convex abstractions Non-convex abstr. are coarser Question: Can we benefit from both together? 14/25
In this lecture... Efficient use of the non-convex Closure approximation Using non-convex approximations for efficient analysis of timed automata F. Herbreteau, D. Kini, B. Srivathsan, I. Walukiewicz. FSTTCS’11 15/25
Observation 1 : We can use abstractions without storing them 16/25
Using non-convex abstractions 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 Standard algorithm: covering tree q 3 Z 3 17/25
Using non-convex abstractions 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 Pick simulation based a Z 3 17/25
Using non-convex abstractions 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 Pick simulation based a Z 3 17/25
Using non-convex abstractions 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 Pick simulation based a Z 3 17/25
Using non-convex abstractions 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 Pick simulation based a Z 3 17/25
Using non-convex abstractions 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 Pick simulation based a Z 3 17/25
Using non-convex abstractions a ( Z 0 ) q 0 , Z 0 a ( Z 1 ) q 1 q 3 = q 1 ∧ , a ( Z 5 ) Z 1 q 5 a ( Z 3 ) ⊆ a ( Z 1 )? , Z 5 a ( Z 2 ) a ( Z 4 ) q 2 q 4 Z 4 , Z 2 , a ( Z 3 ) , q 3 Pick simulation based a Z 3 17/25
Using non-convex abstractions q 0 , Z 0 q 1 q 3 = q 1 ∧ , Z 1 q 5 a ( Z 3 ) ⊆ a ( Z 1 )? , Z 5 q 2 q 4 Z 4 , Z 2 , , Need to store only concrete semantics q 3 Z 3 17/25
Using non-convex abstractions q 0 , Z 0 q 1 q 3 = q 1 ∧ , Z 1 q 5 Z 3 ⊆ a ( Z 1 )? , Z 5 q 2 q 4 Z 4 , Z 2 , Use Z ⊆ a ( Z ′ ) for termination , q 3 Z 3 17/25
Observation 1 : We can use abstractions without storing them Observation 2 : We can do the inclusion test efficiently 18/25
Coming next... The inclusion test Z ⊆ Closure M ( Z ′ ) 19/25
What is Closure M ? y M ( y ) x 0 M ( x ) 20/25
What is Closure M ? y M ( y ) Z x 0 M ( x ) 20/25
What is Closure M ? y M ( y ) Z x 0 M ( x ) Closure M ( Z ) : set of regions that Z intersects 20/25
Z ⊆ Closure M ( Z ′ ) ? y Z Z ′ M ( y ) x 0 M ( x ) 21/25
Z ⊆ Closure M ( Z ′ ) ? y Closure M ( Z ′ ) Z Z ′ M ( y ) x 0 M ( x ) 21/25
Z ⊆ Closure M ( Z ′ ) ? y Closure M ( Z ′ ) Z Z ′ M ( y ) x 0 M ( x ) 21/25
Recommend
More recommend