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
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
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
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
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
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
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
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
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
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
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
Abstractions in literature [ Behrmann, Bouyer, Larsen, Pelanek’06 ] ( � LU ) a � LU ( � M ) Closure M 17 / 35
Abstractions in literature [ Behrmann, Bouyer, Larsen, Pelanek’06 ] ( � LU ) a � LU ( � M ) Closure M Non-convex 17 / 35
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
Getting LU-bounds Smaller the LU bounds, bigger is the abstraction 18 / 35
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
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
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
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
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
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
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
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
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
Reachability for timed automata Standard algorithm: covering tree Convex abstractions Bounds by static analysis Observation 1 Observation 2 20 / 35
Reachability for timed automata Standard algorithm: covering tree Convex abstractions Bounds by static analysis Observation 1 Observation 2 Non-convex abstractions 20 / 35
Step 1 : We can use abstractions without storing them 21 / 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 Standard algorithm: covering tree Z 3 22 / 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 22 / 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 22 / 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 22 / 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 22 / 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 22 / 35
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
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
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
Step 1 : We can use abstractions without storing them Step 2 : We can do the inclusion test efficiently 23 / 35
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
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
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
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
Step 1 : We can use abstractions without storing them Step 2 : We can do the inclusion test efficiently ⇒ new algorithm for reachability 25 / 35
Extra + ( � LU ) a � LU LU Extra + Extra LU ( � M ) Closure M M Non-convex Extra M Convex 26 / 35
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
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
Reachability for timed automata Standard algorithm: covering tree Convex abstractions Bounds by static analysis Observation 1 Observation 2 Non-convex abstractions Optimality 28 / 35
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
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
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
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
Recommend
More recommend