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 [AD94] Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24
Timed B¨ uchi Automata [AD94] Finite words L finite = a ∗ a Finite automata Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Outline Standard Reduction: Combinatorial Explosion A New Construction Conclusion Efficient Emptiness Check for Timed B¨ uchi Automata - 8/24
Outline Standard Reduction: Combinatorial Explosion A New Construction Conclusion Efficient Emptiness Check for Timed B¨ uchi Automata - 9/24
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
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
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
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
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