reachability problem in timed automata abstractions
play

Reachability problem in timed automata: abstractions, bounds, and - PowerPoint PPT Presentation

Reachability problem in timed automata: abstractions, bounds, and search order joint work with Frdric Herbreteau, B. Srivathsan, Than-Tung Tran s 2 ( y 3 ) ( x < 4 ) ( x < 1 ) { y } ( x > 6 ) s 0 s 1 s 3 ( y < 1 ) { y } The


  1. Reachability problem in timed automata: abstractions, bounds, and search order joint work with Frédéric Herbreteau, B. Srivathsan, Than-Tung Tran

  2. s 2 ( y ≤ 3 ) ( x < 4 ) ( x < 1 ) { y } ( x > 6 ) s 0 s 1 s 3 ( y < 1 ) { y } The reachability problem for timed automata: Given a timed automaton, decide if there is an execution reaching a green state. Thm [Alur & Dill’94] : The reachability problem is PSPACE-complete.

  3. Motivation Reachability problem is the basic problem for timed automata. Dually: one can think of it as of asking for a proof that a green state is not reachable. Such a proof is an interesting object: it is an invariant on a timed system. The goal is to provide relatively small invariants, and represent them in a succinct way. We hope that some of these methods can apply also to more complicated settings. In this talk : abstractions + search order

  4. Zones y y y y x x x x ( x ≤ 5 ) ( y ≥ 7 ) q 0 q 1 q 2 q 3 { x } The key idea: Maintain sets of valuations reachable along the path. Zone: a set of valuations defined by conjunctions of constraints. x<c, x-y>c, x>d, x-y>d Fact: the « post » of a zone is a zone.

  5. Zone graph Thm [Soundness and completeness]: The zone graph preserves state reachability.

  6. Trying to solve reachability with zones f u n c t i o n reachability check( A ) 1 // Invariant: W ✓ P := { ( s 0 , Z 0 ) } ; P := W W 2 3 while ( W 6 = ; ) do 4 take and remove a node ( s , Z ) from W 5 i f ( s i n A ) 6 return Yes 7 e l s e 8 f o r each ( s , Z ) ) ( s 0 , Z 0 ) 9 ( s 0 , Z 0 ) 62 P i f 10 add ( s 0 , Z 0 ) to W and to P 11 return No 12 Fact: The algorithm is correct, but it may not terminate.

  7. f u n c t i o n reachability check( A ) 1 := { ( s 0 , Z 0 ) } ; P := W // Invariant: W ✓ P W 2 3 while ( W 6 = ; ) do 4 take and remove a node ( s , Z ) from W 5 i f ( s i n A ) 6 return Yes 7 e l s e 8 f o r each ( s , Z ) ) ( s 0 , Z 0 ) 9 i f ( s 0 , Z 0 ) 62 P 10 add ( s 0 , Z 0 ) to W and to P 11 return No 12 Fact: y The algorithm is correct, but it may not terminate. x ( y = 1 ) { y } { x , y } q 0 q 1

  8. Abstraction: a way to get termination ( q 0 , x − y = 0 ) ( y = 1 ) , { y } ( q 1 , x − y = 0 ) { x , y } q 0 q 1 ( q 1 , x − y = 1 ) ( q 1 , x − y = 2 ) . . .

  9. Abstraction: a way to get termination M ( x ) = −∞ M ( y ) = 1 ( q 0 , x ≠ y = 0 ) ( y = 1 ) , { y } ( q 1 , x ≠ y = 0 ) { x , y } q 0 q 1 ( q 1 , x ≠ y = 1 ) x − y = 1 ⊆ Closure M ( x − y = 0 ) Closure M (Z) : Valuations that can be simulated by a valuation in Z w.r.t. automata with guards using c ≤ M.

  10. What abstractions we can use: Three conditions 1. Abstraction should have finite range : finitely many sets a(W). 2. Abstraction should be complete : W ⊆ a(W). 3. Abstraction should be sound : a(W) should contain only valuations simulated by W. a ( W ) g 5 g 4 g g g 1 3 2 R 5 v R 4 R R R 1 3 2 q , W v Õ g 1 g 2 g g g R 1 4 3 5 R 2 R R R 4 3 5

  11. Reachability algorithm with an abstraction f u n c t i o n reachability check( A ) 1 := { ( s 0 , a ( Z 0 )) } ; P := W // Invariant: W ✓ P W 2 3 while ( W 6 = ; ) do 4 take and remove a node ( s , Z ) from W 5 i f ( s i s a c c e p t i n g i n A ) 6 return Yes 7 e l s e 8 each ( s , Z ) ) a ( s 0 , Z 0 ) // Z 0 = a ( post ( Z )) f o r 9 ( s 0 , Z 0 ) 62 P i f 10 add ( s 0 , Z 0 ) to W and to P 11 return No 12 Fact: If a(W) is a sound and complete abstraction that has finite range then the algorithm is correct, and it terminates.

  12. Subsumption: an important optimisation If a green state is reachable from (q,Z), and Z ⊆ Z’ then it is also reachable from (q,Z’). We say that (q,Z) is subsumed by (q,Z’). Cor: Keep only nodes that are maximal with respect to subsumption.

  13. Reachability algorithm with subsumption f u n c t i o n reachability check( A ) 1 := { ( s 0 , a ( Z 0 )) } ; P := W W 2 3 while ( W 6 = ; ) do 4 take and remove a node ( s , Z ) from W 5 i f ( s i s a c c e p t i n g i n A ) 6 return Yes 7 e l s e 8 each ( s , Z ) ) a ( s 0 , Z 0 ) // Z 0 = a ( post ( Z )) f o r 9 i f ( s 0 , Z 0 ) i s not subsumed by any node i n P 10 add ( s 0 , Z 0 ) to W and to P 11 remove a l l nodes subsumed by ( s 0 , Z 0 ) from P and W 12 return No 13 Node subsumption is frequent due to abstractions.

  14. Abstractions based on simulation Coarsest The coarsest LU-abstraction abstractions Efficient use of the abstraction Abstractions Static bounds, one per state Better On-the-fly-bounds, LU-bounds one per (state,zone) TA Lazy bounds, from disabled edges Reachability Subsumption makes the algorithm sensitive to exploration order Goal: reduce mistakes nodes that later will be deleted Better search Subsumtion order Idea1: Give priority to big nodes to minimise the effect of a mistake Idea2: use topological order to avoid mistakes

  15. Abstractions based on simulation Coarsest The coarsest LU-abstraction abstractions Efficient use of the abstraction Abstractions Static bounds, one per state Better On-the-fly-bounds, LU-bounds one per (state,zone) TA Lazy bounds, from disabled edges Reachability Subsumption makes the algorithm sensitive to exploration order Goal: reduce mistakes nodes that later will be deleted Better search Subsumtion order Idea1: Give priority to big nodes to minimise the effect of a mistake Idea2: use topological order to avoid mistakes

  16. Time abstract simulation A time-abstract simulation is a relation between configurations ( s, v ) � ( s 0 , v 0 ), such that: • s = s 0 , δ ! ( s 1 , v 1 ), then for some δ 0 2 R � 0 we have t • if ( s, v ) ! ( s, v + δ ) � � δ 0 ! ( s, v 0 + δ 0 ) t ( s, v 0 ) ! ( s 1 , v 0 1 ) and ( s 1 , v 1 ) � ( s 1 , v 0 1 ). � � Abstraction based on simulation � ( W ) = { v | 9 v 0 2 W. ( s, v ) � ( s, v 0 ) } a s Fact: An abstraction based on simulation is sound and complete.

  17. Abstraction based on simulation � ( W ) = { v | 9 v 0 2 W. ( s, v ) � ( s, v 0 ) } a s Thm [Laroussinie, Schnoebelen 2000] Computing the coarsest time-abstract simulation for a given automaton is EXPTIME-hard. LU bounds for a given automaton For every clock x, let L(x) be the sup over constants occurring in lower bound guards of the automaton (x>c, x ≥ c). Similarly U(x) but for upper bounds (x<c, x ≤ c) Idea: compute the coarsest time-abstract simulation for all automata with a given LU bounds.

  18. Abstractions based on simulation Coarsest The coarsest LU-abstraction abstractions Efficient use of the abstraction Abstractions Static bounds, one per state Better On-the-fly-bounds, LU-bounds one per (state,zone) TA Lazy bounds, from disabled edges Reachability Subsumption makes the algorithm sensitive to exploration order Goal: reduce mistakes nodes that later will be deleted Better search Subsumtion order Idea1: Give priority to big nodes to minimise the effect of a mistake Idea2: use topological order to avoid mistakes

  19. The coarsest abstraction for all automata with a given LU. Defintion [Behrmann, Bouyer, Larsen, Pelanek] : Thm:

  20. A comparison of different abstractions y Z : U y Extra + LU ( Z ) : ∪ Closure + LU ( Z ) : ∪ ∪ L y a 4 LU ( Z ) : ∪ ∪ ∪ x L x U x

  21. Abstractions based on simulation Coarsest The coarsest LU-abstraction abstractions Efficient use of the abstraction Abstractions Static bounds, one per state Better On-the-fly-bounds, LU-bounds one per (state,zone) TA Lazy bounds, from disabled edges Reachability Subsumption makes the algorithm sensitive to exploration order Goal: reduce mistakes nodes that later will be deleted Better search Subsumtion order Idea1: Give priority to big nodes to minimise the effect of a mistake Idea2: use topological order to avoid mistakes

  22. The same algorithm but with a_LU. We store only Z f u n c t i o n reachability check( A ) 1 := { ( s 0 , Z 0 ) } ; P := W W 2 3 while ( W 6 = ; ) do 4 take and remove a node ( s , Z ) from W 5 i f ( s i s a c c e p t i n g i n A ) 6 return Yes 7 e l s e 8 each ( s , Z ) ) ( s 0 , Z 0 ) // Z 0 = post ( Z ) f o r 9 Z 0 ✓ a LU ( Z 00 ) some ( s 0 , Z 00 ) i n P // subsumption i f f o r 10 then nop 11 e l s e 12 add ( s 0 , Z 0 ) to W and to P 13 remove a l l nodes subsumed by ( s 0 , Z 0 ) from P and W 14 return No 15 Remarks: We store only zones not the abstractions of zones. This is possible since we do Observe that LU can change during the execution.

  23. The test In general is not a zone. Thm: Thus the inclusion test is as efficient as testing Z ⊆ Z’

  24. Abstractions based on simulation Coarsest The coarsest LU-abstraction abstractions Efficient use of the abstraction Abstractions Static bounds, one per state Better On-the-fly-bounds, LU-bounds one per (state,zone) TA Lazy bounds, from disabled edges Reachability Subsumption makes the algorithm sensitive to exploration order Goal: reduce mistakes nodes that later will be deleted Better search Subsumtion order Idea1: Give priority to big nodes to minimise the effect of a mistake Idea2: use topological order to avoid mistakes

  25. ( y = 1) , { y } x ≥ 10 6 { x } q 0 q 1 q 2 y . . . M ( y ) = 1 x M ( x ) = 10 6

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