efficient emptiness check for timed b uchi automata
play

Efficient Emptiness Check for Timed B uchi Automata F. Herbreteau, - PowerPoint PPT Presentation

Efficient Emptiness Check for Timed B uchi Automata F. Herbreteau, B. Srivathsan and I. Walukiewicz Universit e de Bordeaux, LaBRI - CNRS August 2010 Efficient Emptiness Check for Timed B uchi Automata - 1/24 Timed B uchi Automata


  1. Efficient Emptiness Check for Timed B¨ uchi Automata F. Herbreteau, B. Srivathsan and I. Walukiewicz Universit´ e de Bordeaux, LaBRI - CNRS August 2010 Efficient Emptiness Check for Timed B¨ uchi Automata - 1/24

  2. Timed B¨ uchi Automata [AD94] Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24

  3. Timed B¨ uchi Automata [AD94] Finite words L finite = a ∗ a Finite automata Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24

  4. Timed B¨ uchi Automata [AD94] Finite words Infinite words L finite = a ∗ L infinite = a ω a a Finite automata B¨ uchi automata Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24

  5. Timed B¨ uchi Automata [AD94] Timed words Finite words Infinite words L t = ( a , 1)( a , 2) . . . L finite = a ∗ L infinite = a ω a a ( x = 1), a , x := 0 Finite automata B¨ uchi automata Timed automata Clocks: can be ◮ compared with integers, diagonal-free constraints ◮ reset to 0 Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24

  6. Timed B¨ uchi Automata [AD94] Run: infinite sequence of transitions y x ���� ���� 0 . 4 , a 0 . 5 , c 0 . 3 , d 15 , d ( s 0 , 0 , 0 ) − − − → ( s 1 , 0 . 4 , 0) − − − → ( s 3 , 0 . 9 , 0 . 5) − − − → ( s 3 , 1 . 2 , 0 . 8) − − → · · · ◮ accepting if infinitely often green ◮ non-Zeno if time diverges ( � i ≥ 0 δ i → ∞ ) Efficient Emptiness Check for Timed B¨ uchi Automata - 3/24

  7. Model-Checking Real-Time Systems Correctness: Safety + Liveness + Fairness ¬ open open , x := 0 ( x < 5) , close “Infinitely often, the gate is open for at least 5 s.” Realistic counter-examples: infinite non-Zeno runs Efficient Emptiness Check for Timed B¨ uchi Automata - 4/24

  8. The Problem That We Consider Given a TBA A , does it have a non-Zeno accepting run? Theorem [AD94] Deciding if a TBA has a non-Zeno accepting run is PSPACE- complete Efficient Emptiness Check for Timed B¨ uchi Automata - 5/24

  9. Regions [AD94] y x ◮ Region: set of valuations that satisfy the same ◮ 6 Corner points, e.g [(0 , 1)] guards w.r.t. time ◮ 14 Open line segments, e.g [0 < x = y < 1] ◮ 8 Open regions, e.g [0 < x < y < 1] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  10. Region Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  11. Region Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  12. Region Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  13. Region Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  14. Region Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  15. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  16. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  17. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  18. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  19. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  20. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  21. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] Finite accepting conditions [AD94, Bou04] Both regions and zones preserve state reachability Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  22. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] B¨ uchi accepting conditions [AD94, Tri09] Both regions and zones preserve repeated state reachability Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  23. Region Graph & Zone Graph ◮ Region: set of valuations that satisfy the same guards w.r.t. time O ( | X | ! . M | X | ) many regions! ◮ Zone: convex union of regions [0] [1] [2] [3] [4] non-Zenoness ◮ Region: an extra time progress criterion on paths [AD94] ◮ Zone: ??? Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

  24. Time Progress in the Zone Graph Time Progress Criterion [AD94] y := 0 x := 0 s 1 s 0 s 2 � unbounded( x ) ∨ fluctuating( x ) ( y = 0) ( x = 0) x ∈ X ◮ Path in RG( A ): ( s 1 , 0 = x < y ) ( s 2 , 0 = y < x ) ( s 0 , 0 = x = y ) ( s 1 , 0 = x = y ) ( s 0 , 0 = x = y ) ( s 2 , 0 = y = x ) ◮ Path in ZG( A ): ( s 0 , 0 = x = y ) ( s 1 , 0 = x ≤ y ) ( s 0 , 0 = x = y ) ( s 2 , 0 = y ≤ x ) The time progress criterion is not sound on ZG( A ) Efficient Emptiness Check for Timed B¨ uchi Automata - 7/24

  25. Outline Standard Reduction: Combinatorial Explosion A New Construction Conclusion Efficient Emptiness Check for Timed B¨ uchi Automata - 8/24

  26. Outline Standard Reduction: Combinatorial Explosion A New Construction Conclusion Efficient Emptiness Check for Timed B¨ uchi Automata - 9/24

  27. From TBA to Strongly non-Zeno TBA [TYB05] Key Idea : reduce non-Zenoness to B¨ uchi acceptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ≥ 1 ≥ 1 g 1 ; R 1 g 1 & ( t ≥ 1) g 1 ; R 1 R 1 ; t := 0 . . . . . g 2 & ( t ≥ 1) . R 2 ; t := 0 R 2 ; 2 g g 2 ; R 2 A A ′ Efficient Emptiness Check for Timed B¨ uchi Automata - 10/24

  28. Strongly non-Zeno TBA [Tri99, TYB05] Definition Strongly non-Zeno TBA: all accepting runs are non-Zeno Theorem [TYB05] For every TBA A , there exists a Strongly non-Zeno TBA A ′ that has an accepting run iff A has a non-Zeno accepting run (size of A ′ : | X | + 1 clocks and at most 2 | Q | states) Theorem [Tri09] A has a non-Zeno accepting run iff ZG( A ′ ) has an accepting run Efficient Emptiness Check for Timed B¨ uchi Automata - 11/24

  29. Coming Next on Strongly non-Zeno Construction Adding one clock leads to an exponential blowup in the Zone Graph! Efficient Emptiness Check for Timed B¨ uchi Automata - 12/24

  30. Guard t ≥ 1 Allows to Count... s 1 s 1 s ′ 1 ( y ≤ d )&( t ≥ 1) ( y ≤ d ) x 1 := 0 ( y ≤ d ) t := 0 x 1 := 0 s 0 s 0 V V’ Run of V : 2 different zones in s 0 y ≤ d x 1 :=0 · · · ( s 0 , y ≤ x 1 ≤ x 2 ) − − − → ( s 1 , y ≤ x 1 ≤ x 2 & y ≤ d ) − − − → y ≤ d x 1 :=0 ( s 0 , 0 = x 1 ≤ y ≤ x 2 ) − − − → ( s 1 , x 1 ≤ y ≤ x 2 & y ≤ d ) − − − → ( s 0 , 0 = x 1 ≤ y ≤ x 2 ) · · · Efficient Emptiness Check for Timed B¨ uchi Automata - 13/24

  31. Guard t ≥ 1 Allows to Count... s 1 s 1 s ′ 1 ( y ≤ d )&( t ≥ 1) ( y ≤ d ) x 1 := 0 ( y ≤ d ) t := 0 x 1 := 0 s 0 s 0 V V’ Run of V’ : d + 2 different zones in s 0 ( y ≤ d )&( t ≥ 1) , t :=0 x 1 :=0 · · · ( s 0 , y ≤ x 1 ≤ x 2 ≤ t ) − − − − − − − − − − − − →→ − − − → ( y ≤ d )&( t ≥ 1) , t :=0 x 1 :=0 ( s 0 , 0 = x 1 ≤ t ≤ y ≤ x 2 & y − t ≥ 0 ) − − − − − − − − − − − − →→ − − − → ( y ≤ d )&( t ≥ 1) , t :=0 x 1 :=0 ( s 0 , 0 = x 1 ≤ t ≤ y ≤ x 2 & y − t ≥ 1 ) − − − − − − − − − − − − →→ − − − → ( y ≤ d )&( t ≥ 1) , t :=0 x 1 :=0 ( s 0 , 0 = x 1 ≤ t ≤ y ≤ x 2 & y − t ≥ 2 ) − − − − − − − − − − − − →→ − − − → . . . ( s 0 , 0 = x 1 ≤ t ≤ y ≤ x 2 & y − t ≥ d ) Remark: y − t ≥ c implies x 2 − x 1 ≥ c Efficient Emptiness Check for Timed B¨ uchi Automata - 13/24

Recommend


More recommend