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

efficient emptiness check for timed b uchi automata
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

Timed B¨ uchi Automata [AD94]

Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24

slide-3
SLIDE 3

Timed B¨ uchi Automata [AD94]

Finite words Lfinite = a∗

a

Finite automata

Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24

slide-4
SLIDE 4

Timed B¨ uchi Automata [AD94]

Finite words Lfinite = a∗

a

Finite automata

Infinite words Linfinite = aω

a

B¨ uchi automata

Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24

slide-5
SLIDE 5

Timed B¨ uchi Automata [AD94]

Finite words Lfinite = a∗

a

Finite automata

Infinite words Linfinite = aω

a

B¨ uchi automata

Timed words Lt = (a, 1)(a, 2) . . .

(x = 1), a, x := 0

Timed automata

Clocks: can be

◮ compared with integers, diagonal-free constraints ◮ reset to 0

Efficient Emptiness Check for Timed B¨ uchi Automata - 2/24

slide-6
SLIDE 6

Timed B¨ uchi Automata [AD94]

Run: infinite sequence of transitions

(s0,

x

  • 0 ,

y

  • 0 )

0.4,a

− − − → (s1, 0.4, 0)

0.5,c

− − − → (s3, 0.9, 0.5)

0.3,d

− − − → (s3, 1.2, 0.8)

15,d

− − → · · ·

◮ accepting if infinitely often green ◮ non-Zeno if time diverges ( i≥0 δi → ∞)

Efficient Emptiness Check for Timed B¨ uchi Automata - 3/24

slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 9

Regions [AD94]

y x

◮ 6 Corner points,

e.g [(0, 1)]

◮ 14 Open line segments,

e.g [0 < x = y < 1]

◮ 8 Open regions,

e.g [0 < x < y < 1]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-10
SLIDE 10

Region Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-11
SLIDE 11

Region Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-12
SLIDE 12

Region Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-13
SLIDE 13

Region Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-14
SLIDE 14

Region Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-15
SLIDE 15

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-16
SLIDE 16

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-17
SLIDE 17

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-18
SLIDE 18

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-19
SLIDE 19

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-20
SLIDE 20

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-21
SLIDE 21

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions Finite accepting conditions [AD94, Bou04] Both regions and zones preserve state reachability

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-22
SLIDE 22

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions B¨ uchi accepting conditions [AD94, Tri09] Both regions and zones preserve repeated state reachability

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-23
SLIDE 23

Region Graph & Zone Graph

[0] [1] [2] [3] [4]

◮ Region: set of valuations

that satisfy the same guards w.r.t. time O(|X|!.M|X|) many regions!

◮ Zone: convex union of

regions non-Zenoness

◮ Region: an extra time progress criterion on

paths [AD94]

◮ Zone: ???

Efficient Emptiness Check for Timed B¨ uchi Automata - 6/24

slide-24
SLIDE 24

Time Progress in the Zone Graph

Time Progress Criterion [AD94]

  • x∈X

unbounded(x) ∨ fluctuating(x)

s0 s1 s2 x := 0 y := 0 (y = 0) (x = 0)

◮ Path in RG(A):

(s0, 0 = x = y) (s1, 0 = x = y) (s1, 0 = x < y) (s0, 0 = x = y) (s2, 0 = y = x) (s2, 0 = y < x)

◮ Path in ZG(A):

(s0, 0 = x = y) (s1, 0 = x ≤ y) (s0, 0 = x = y) (s2, 0 = y ≤ x)

The time progress criterion is not sound on ZG(A)

Efficient Emptiness Check for Timed B¨ uchi Automata - 7/24

slide-25
SLIDE 25

Outline

Standard Reduction: Combinatorial Explosion A New Construction Conclusion

Efficient Emptiness Check for Timed B¨ uchi Automata - 8/24

slide-26
SLIDE 26

Outline

Standard Reduction: Combinatorial Explosion A New Construction Conclusion

Efficient Emptiness Check for Timed B¨ uchi Automata - 9/24

slide-27
SLIDE 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

2

; R

2

A

. . . g1 & (t ≥ 1) R1; t := 0 g1; R1 g2 & (t ≥ 1) R2; t := 0 g2; R2

A′

Efficient Emptiness Check for Timed B¨ uchi Automata - 10/24

slide-28
SLIDE 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

slide-29
SLIDE 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

slide-30
SLIDE 30

Guard t ≥ 1 Allows to Count...

s0 s1 (y ≤ d) x1 := 0

V

s0 s1 s′

1

(y ≤ d)&(t ≥ 1) t := 0 (y ≤ d) x1 := 0

V’ Run of V: 2 different zones in s0

· · · (s0, y ≤ x1 ≤ x2)

y≤d

− − − → (s1, y ≤ x1 ≤ x2 & y ≤ d)

x1:=0

− − − → (s0, 0 = x1 ≤ y ≤ x2)

y≤d

− − − → (s1, x1 ≤ y ≤ x2 & y ≤ d)

x1:=0

− − − → (s0, 0 = x1 ≤ y ≤ x2) · · ·

Efficient Emptiness Check for Timed B¨ uchi Automata - 13/24

slide-31
SLIDE 31

Guard t ≥ 1 Allows to Count...

s0 s1 (y ≤ d) x1 := 0

V

s0 s1 s′

1

(y ≤ d)&(t ≥ 1) t := 0 (y ≤ d) x1 := 0

V’ Run of V’: d + 2 different zones in s0

· · · (s0, y ≤ x1 ≤ x2 ≤ t)

(y≤d)&(t≥1), t:=0

− − − − − − − − − − − − →→

x1:=0

− − − → (s0, 0 = x1 ≤ t ≤ y ≤ x2&y − t ≥ 0)

(y≤d)&(t≥1), t:=0

− − − − − − − − − − − − →→

x1:=0

− − − → (s0, 0 = x1 ≤ t ≤ y ≤ x2&y − t ≥ 1)

(y≤d)&(t≥1), t:=0

− − − − − − − − − − − − →→

x1:=0

− − − → (s0, 0 = x1 ≤ t ≤ y ≤ x2&y − t ≥ 2)

(y≤d)&(t≥1), t:=0

− − − − − − − − − − − − →→

x1:=0

− − − → . . . (s0, 0 = x1 ≤ t ≤ y ≤ x2&y − t ≥ d)

Remark: y − t ≥ c implies x2 − x1 ≥ c

Efficient Emptiness Check for Timed B¨ uchi Automata - 13/24

slide-32
SLIDE 32

...and Leads to a Combinatorial Explosion

(y ≤ d) x1 := 0 . . . xk−1 := 0

Vk . . .

xk := 0 x1 := 0 y := 0

Rk

Rn Vn Rn−1 Vn−1 · · · R2 V2

An Lemma ZG(An) has linear size in n Key Idea: at Vk only two possible zones that collapse to the same zone after Rk−1.

Efficient Emptiness Check for Timed B¨ uchi Automata - 14/24

slide-33
SLIDE 33

...and Leads to a Combinatorial Explosion

(y ≤ d)&(t ≥ 1) t := 0 (y ≤ d) x1 := 0 . . . xk−1 := 0

V′

k

. . .

xk := 0 x1 := 0 y := 0

Rk

Rn V ′

n

Rn−1 V ′

n−1

· · · R2 V ′

2

A′

n

Lemma ZG(A′

n) has size exponential in n

Key Idea: at V ′

k, i∈[k;n] xi − xi−1 ≥ ci with ci ∈ [0; d]

Efficient Emptiness Check for Timed B¨ uchi Automata - 14/24

slide-34
SLIDE 34

Outline

Standard Reduction: Combinatorial Explosion A New Construction Conclusion

Efficient Emptiness Check for Timed B¨ uchi Automata - 15/24

slide-35
SLIDE 35

Our Approach

◮ Remark: from the time progress criterion in [AD94]:

  • x∈X

unbounded(x) ∨ fluctuating(x) A run is Zeno iff:

  • 1. some x ∈ X is blocking, i.e. bounded and never reset
  • 2. or time cannot elapse: · · · • x:=0

− − − → • → •

(x=0)

− − − → • · · ·

◮ Ideas:

◮ constraining all accepting runs to be non-Zeno is

expensive: only one of them is required

◮ from (1) and (2), define conditions on SCC in ZG(A) Efficient Emptiness Check for Timed B¨ uchi Automata - 16/24

slide-36
SLIDE 36

Coming Next: A New Algorithm

What we saw:

◮ ZG(An) has size O(n) ◮ ZG(A′ n) has size O(2n)

What we propose:

A |ZG(An)|.O(n2) algorithm

Efficient Emptiness Check for Timed B¨ uchi Automata - 17/24

slide-37
SLIDE 37

The Case of Blocking Clocks (no x = 0)

s0 s1 s2 s3 (x ≤ 1), y := 0 (y ≤ 1) z := 0 (z ≤ 1) Efficient Emptiness Check for Timed B¨ uchi Automata - 18/24

slide-38
SLIDE 38

The Case of Blocking Clocks (no x = 0)

s0 s1 s2 s3 (x ≤ 1), y := 0 (y ≤ 1) z := 0 (z ≤ 1) Efficient Emptiness Check for Timed B¨ uchi Automata - 18/24

slide-39
SLIDE 39

The Case of Blocking Clocks (no x = 0)

s0 s1 s2 s3 (x ≤ 1), y := 0 (y ≤ 1) z := 0 (z ≤ 1) Efficient Emptiness Check for Timed B¨ uchi Automata - 18/24

slide-40
SLIDE 40

The Case of Blocking Clocks (no x = 0)

s0 s1 s2 s3 (x ≤ 1), y := 0 (y ≤ 1) z := 0 (z ≤ 1) Efficient Emptiness Check for Timed B¨ uchi Automata - 18/24

slide-41
SLIDE 41

The Case of Blocking Clocks (no x = 0)

s0 s1 s2 s3 (x ≤ 1), y := 0 (y ≤ 1) z := 0 (z ≤ 1) Efficient Emptiness Check for Timed B¨ uchi Automata - 18/24

slide-42
SLIDE 42

The Case of Zero Checks

s0 s1 s2 x := 0 y := 0 (y = 0) (x = 0)

s0

x:=0

− − → s1

(y=0)

− − − → s0

y:=0

− − → s2

(x=0)

− − − → s0 All states are in the scope of a zero check!

s0 s1 s2 x := 0 (x = 0) (y = 0) y := 0

s0

x:=0

− − → s1

(y=0)

− − − → s0

(x=0)

− − − → s2

y:=0

− − → s0 State s2 is clear: all zero-checks are preceded by resets! Given an SCC of ZG(A) does there exist a clear node ?

Efficient Emptiness Check for Timed B¨ uchi Automata - 19/24

slide-43
SLIDE 43

The Case of Zero Checks

Idea: extend nodes in ZG(A) with a set of clocks that we guess will be checked for 0 For each node in ZG(A), 2|X| extended nodes! Lemma In every reachable node (q, Z) in ZG(A), clocks are totally

  • rdered

Corollary For every reachable (q, Z), it is sufficient to consider only |X| + 1 guess sets

Efficient Emptiness Check for Timed B¨ uchi Automata - 19/24

slide-44
SLIDE 44

The Case of Zero Checks (1st example)

s0 s1 s2 x := 0 y := 0 (y = 0) (x = 0)

z2 : (s1, 0 = x ≤ y) z1 : (s0, 0 = x = y) z3 : (s2, 0 = y ≤ x) x := 0 y = 0 y := 0 x = 0

Efficient Emptiness Check for Timed B¨ uchi Automata - 19/24

slide-45
SLIDE 45

The Case of Zero Checks (1st example)

s0 s1 s2 x := 0 y := 0 (y = 0) (x = 0)

z2 : (s1, 0 = x ≤ y), ∅ z2, {x} z2, {x, y} z1 : (s0, 0 = x = y), ∅ z1, {x, y} z3 : (s2, 0 = y ≤ x), ∅ z3, {y} z3, {x, y}

Efficient Emptiness Check for Timed B¨ uchi Automata - 19/24

slide-46
SLIDE 46

The Case of Zero Checks (1st example)

s0 s1 s2 x := 0 y := 0 (y = 0) (x = 0)

z2 : (s1, 0 = x ≤ y), ∅ z2, {x} z2, {x, y} z1 : (s0, 0 = x = y), ∅ z1, {x, y} z3 : (s2, 0 = y ≤ x), ∅ z3, {y} z3, {x, y} y = 0 x = 0

Efficient Emptiness Check for Timed B¨ uchi Automata - 19/24

slide-47
SLIDE 47

The Case of Zero Checks (1st example)

s0 s1 s2 x := 0 y := 0 (y = 0) (x = 0)

z2 : (s1, 0 = x ≤ y), ∅ z2, {x} z2, {x, y} z1 : (s0, 0 = x = y), ∅ z1, {x, y} z3 : (s2, 0 = y ≤ x), ∅ z3, {y} z3, {x, y} x := 0 y := 0 x := 0 y := 0 y = 0 x = 0

Efficient Emptiness Check for Timed B¨ uchi Automata - 19/24

slide-48
SLIDE 48

The Case of Zero Checks (1st example)

s0 s1 s2 x := 0 y := 0 (y = 0) (x = 0)

z2 : (s1, 0 = x ≤ y), ∅ z2, {x} z2, {x, y} z1 : (s0, 0 = x = y), ∅ z1, {x, y} z3 : (s2, 0 = y ≤ x), ∅ z3, {y} z3, {x, y} x := 0 y := 0 x := 0 y := 0 y = 0 x = 0 τ τ τ τ τ

Efficient Emptiness Check for Timed B¨ uchi Automata - 19/24

slide-49
SLIDE 49

The Case of Zero Checks (2nd example)

s0 s1 s2 x := 0 (x = 0) (y = 0) y := 0 z2 : (s2, 0 = x = y), ∅ z2, {x, y} z3 : (s0, 0 = y ≤ x), ∅ z3, {y} z3, {x, y} z4 : (s1, 0 = x ≤ y), ∅ z4, {x} z4, {x, y} z1 : (s0, 0 = x = y), ∅ z1, {x, y} x := 0 (x = 0) x := 0 y := 0 y := 0 x := 0 x := 0 (x = 0) x := 0 (y = 0) τ τ τ τ τ τ Efficient Emptiness Check for Timed B¨ uchi Automata - 19/24

slide-50
SLIDE 50

A Global Algorithm

Lemma A TBA A has a non-Zeno accepting run iff GZG(A) has an SCC that:

◮ contains an accepting node and, ◮ contains a clear node (q, Z, ∅) and, ◮ has no blocking clock.

Theorem The existence of such an SCC can be decided in time |ZG(A)|.O(|X|2)

◮ A |GZG(A)|.O(|X|) algorithm over graph GZG(A) of size

|ZG(A)|.O(|X|)

Efficient Emptiness Check for Timed B¨ uchi Automata - 20/24

slide-51
SLIDE 51

Outline

Standard Reduction: Combinatorial Explosion A New Construction Conclusion

Efficient Emptiness Check for Timed B¨ uchi Automata - 21/24

slide-52
SLIDE 52

Benchmarks

A ZG(A) ZG(A′) GZG(A) size size

  • tf

size

  • tf
  • pt

Train-Gate2 (mutex) 134 194 194 400 400 134 Train-Gate2 (bound. resp.) 988 227482 352 3840 1137 292 Train-Gate2 (liveness) 100 217 35 298 53 33 Fischer3 (mutex) 1837 3859 3859 7292 7292 1837 Fischer4 (mutex) 46129 96913 96913 229058 229058 46129 Fischer3 (liveness) 1315 4962 52 5222 64 40 Fischer4 (liveness) 33577 147167 223 166778 331 207 FDDI3 (liveness) 508 1305 44 3654 79 42 FDDI5 (liveness) 6006 15030 90 67819 169 88 FDDI3 (bound. resp.) 6252 41746 59 52242 114 60 CSMA/CD4 (collision) 4253 7588 7588 20146 20146 4253 CSMA/CD5 (collision) 45527 80776 80776 260026 260026 45527 CSMA/CD4 (liveness) 3038 9576 1480 14388 3075 832 CSMA/CD5 (liveness) 32751 120166 8437 186744 21038 4841 ◮ Combinatorial explosion may occur ◮ Optimized use of GZG(A) (to appear at ATVA 2010)

Efficient Emptiness Check for Timed B¨ uchi Automata - 22/24

slide-53
SLIDE 53

Conclusions & Perspectives

◮ Combinatorial explosion occurs due to the strongly

non-Zeno constructions from [AM04, TYB05]

◮ A |ZG(A)|.O(|X|2) algorithm for TBA emptiness that:

◮ encodes fluctuating condition as a B¨

uchi condition

◮ and disables transitions with blocking clocks

◮ Application to the computation of non-Zeno strategies

for Timed Games

Efficient Emptiness Check for Timed B¨ uchi Automata - 23/24

slide-54
SLIDE 54

Bibliography

  • R. Alur and D.L. Dill.

A theory of timed automata. Theoretical Computer Science, 126(2):183–235, 1994.

  • R. Alur and P. Madhusudan.

Decision problems for timed automata: A survey. In SFM-RT’04, volume 3185 of LNCS, pages 1–24, 2004.

  • H. Bowman and R. G´
  • mez.

How to stop time stopping. Formal Asp. Comput., 18(4):459–493, 2006.

  • P. Bouyer.

Forward analysis of updatable timed automata. Formal Methods in System Design, 24(3):281–320, 2004.

  • R. G´
  • mez and H. Bowman.

Efficient detection of zeno runs in timed automata. In Proc. 5th Int. Conf. on Formal Modeling and Analysis of Timed Systems, FORMATS 2007, volume 4763

  • f LNCS, pages 195–210, 2007.
  • S. Tripakis.

Verifying progress in timed systems. In Proc. 5th Int. AMAST Workshop, ARTS’99, volume 1601 of LNCS, pages 299–314. Springer, 1999.

  • S. Tripakis.

Checking timed b¨ uchi emptiness on simulation graphs. ACM Transactions on Computational Logic, 10(3):??–??, 2009.

  • S. Tripakis, S. Yovine, and A. Bouajjani.

Checking timed b¨ uchi automata emptiness efficiently. Formal Methods in System Design, 26(3):267–292, 2005. Efficient Emptiness Check for Timed B¨ uchi Automata - 24/24