Abstractions for timed automata B. Srivathsan Chennai Mathematical - - PowerPoint PPT Presentation

abstractions for timed automata
SMART_READER_LITE
LIVE PREVIEW

Abstractions for timed automata B. Srivathsan Chennai Mathematical - - PowerPoint PPT Presentation

Abstractions for timed automata B. Srivathsan Chennai Mathematical Institute Joint work with F. Herbreteau, I. Walukiewicz (LaBRI, Bordeaux) 1 / 35 Reachability for timed automata Observation 1 Observation 2 2 / 35 Timed Automata q 2 ( y


slide-1
SLIDE 1

Abstractions for timed automata

  • B. Srivathsan

Chennai Mathematical Institute Joint work with

  • F. Herbreteau, I. Walukiewicz (LaBRI, Bordeaux)

1/35

slide-2
SLIDE 2

Reachability for timed automata Observation 1 Observation 2

2/35

slide-3
SLIDE 3

Timed Automata

(y ≤ 3) (x < 1) (y < 1) (x < 4) (x > 6) {y} {y} q0 q1 q3 q2

Run: finite sequence of transitions

q0 q1 0.4 q3 0.9 0.5

0.4 0.5

x y

◮ accepting if ends in green state

3/35

slide-4
SLIDE 4

Reachability problem

Given a TA, does it have an accepting run

(y ≤ 3) (x < 1) (y < 1) (x < 4) (x > 6) {y} {y} q0 q1 q3 q2

Theorem [Alur, Dill’90] This problem is PSPACE-complete

4/35

slide-5
SLIDE 5

Is accepting state reachable?

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

5/35

slide-6
SLIDE 6

Is accepting state reachable? No

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

5/35

slide-7
SLIDE 7

Is accepting state reachable? No

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

Exhibit a proof for unreachability

5/35

slide-8
SLIDE 8

Is accepting state reachable? No No acc. state

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

Exhibit a proof for unreachability

5/35

slide-9
SLIDE 9

Is accepting state reachable? No No acc. state

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

Exhibit a proof for unreachability

5/35

slide-10
SLIDE 10

Is accepting state reachable? No

x ≥ y

No acc. state

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

Exhibit a proof for unreachability

5/35

slide-11
SLIDE 11

Is accepting state reachable? No

x ≥ y

No acc. state Inconsistent!

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

Exhibit a proof for unreachability

5/35

slide-12
SLIDE 12

Goal of this talk

Computing short proofs for (un)-reachability

6/35

slide-13
SLIDE 13

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 7/35

slide-14
SLIDE 14

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y 7/35

slide-15
SLIDE 15

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y 7/35

slide-16
SLIDE 16

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y q0, x − y = 0 7/35

slide-17
SLIDE 17

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y q0, x − y = 0 q1, x − y = 0 7/35

slide-18
SLIDE 18

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y q0, x − y = 0 q1, x − y = 0 7/35

slide-19
SLIDE 19

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y q0, x − y = 0 q1, x − y = 0 7/35

slide-20
SLIDE 20

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 7/35

slide-21
SLIDE 21

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 7/35

slide-22
SLIDE 22

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 7/35

slide-23
SLIDE 23

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y

···

q0, x − y = 0 q1, x − y = 0 q1, x − y = 1

. . .

7/35

slide-24
SLIDE 24

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y

···

q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106

. . .

7/35

slide-25
SLIDE 25

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y

···

q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106

× . . .

7/35

slide-26
SLIDE 26

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y

···

x y

···

q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q3, x − y = 1 q4, x − y = 0 ∧ y ≥ 5 q4, x − y = 1 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 q5, x − y = 1 ∧ x ≥ 106

× × × . . . . . . . . . . . .

7/35

slide-27
SLIDE 27

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y

···

x y

···

q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q3, x − y = 1 q4, x − y = 0 ∧ y ≥ 5 q4, x − y = 1 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 q5, x − y = 1 ∧ x ≥ 106

× × × . . . . . . . . . . . .

Zone Graph

7/35

slide-28
SLIDE 28

Zones and zone graph

◮ Zone: set of valuations defined by conjunctions of constraints:

x ∼ c x − y ∼ c e.g. (x − y ≥ 1) ∧ (y < 2)

◮ Representation: by DBM [Dill’89]

Sound and complete [Daws, Tripakis’98] Zone graph preserves state reachability

8/35

slide-29
SLIDE 29

Zones and zone graph

◮ Zone: set of valuations defined by conjunctions of constraints:

x ∼ c x − y ∼ c e.g. (x − y ≥ 1) ∧ (y < 2)

◮ Representation: by DBM [Dill’89]

Sound and complete [Daws, Tripakis’98] Zone graph preserves state reachability

But zone graph could be infinite!

8/35

slide-30
SLIDE 30

Coming next: Finite abstractions of the zone graph

9/35

slide-31
SLIDE 31

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

10/35

slide-32
SLIDE 32

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

Z0 q0 , 10/35

slide-33
SLIDE 33

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

Z0 q0 ,

a(Z0)

10/35

slide-34
SLIDE 34

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

Z0 q0 ,

× ×

a(Z0)

10/35

slide-35
SLIDE 35

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

Z0 W1 Z1 q0 , q1 ,

× ×

a(Z0)

10/35

slide-36
SLIDE 36

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

Z0 W1 Z1 q0 , q1 ,

× ×

a(Z0) a(W1)

10/35

slide-37
SLIDE 37

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

Z0 W1 Z1 W2 Z2 W3 Z3 q0 , q1 , q2 , q3 ,

× × ×

a(Z0) a(W1)

10/35

slide-38
SLIDE 38

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

Z0 W1 Z1 W2 Z2 W3 Z3 q0 , q1 , q2 , q3 ,

× × ×

a(Z0) a(W1) a(W2) a(W3)

10/35

slide-39
SLIDE 39

Abstractions

Zone graph potentially infinite...

Z0 Z1 Z2 Z3 q0 , q1 , q2 , q3 ,

× × ×

. . . . . .

Z0 W1 Z1 W2 Z2 W3 Z3 q0 , q1 , q2 , q3 ,

× × ×

a(Z0) a(W1) a(W2) a(W3) Question: How do we choose these abstraction functions?

10/35

slide-40
SLIDE 40

Condition 1: Abstractions should have finite range Condition 2: Abstractions should be sound ⇒ a(W) can contain

  • nly valuations simulated by W

a(W) W v

g1 R1 g2 R2 g3 R3 g4 R4 g

5

R

5

v′

g

1

R

1

g2 R2 g3 R3 g4 R4 g5 R5

q

,

11/35

slide-41
SLIDE 41

Condition 1: Abstractions should have finite range Condition 2: Abstractions should be sound ⇒ a(W) can contain

  • nly valuations simulated by W

a(W) W v

g1 R1 g2 R2 g3 R3 g4 R4 g

5

R

5

v′

g

1

R

1

g2 R2 g3 R3 g4 R4 g5 R5

q

, Coming next: Simulation relations

11/35

slide-42
SLIDE 42

(q,v) (q,v′)

12/35

slide-43
SLIDE 43

(q,v) (q,v′)

  • is simulated by

12/35

slide-44
SLIDE 44

(q,v) (q,v′)

  • is simulated by

g R

(q1,v1)

12/35

slide-45
SLIDE 45

(q,v) (q,v′)

  • is simulated by

g R

(q1,v1)

g R

(q1,v′

1)

12/35

slide-46
SLIDE 46

(q,v) (q,v′)

  • is simulated by

g R

(q1,v1)

g R

(q1,v′

1)

  • 12/35
slide-47
SLIDE 47

(q,v) (q,v′)

  • is simulated by

g R

(q1,v1)

g R

(q1,v′

1)

  • q1

q2 q3 q4 x ≥ 1 y ≤ 3 y ≥ 2 x ≤ 3

12/35

slide-48
SLIDE 48

(q,v) (q,v′)

  • is simulated by

g R

(q1,v1)

g R

(q1,v′

1)

  • q1

q2 q3 q4 x ≥ 1 y ≤ 3 y ≥ 2 x ≤ 3 (q1,〈x = 0.5,y = 2.1〉)

12/35

slide-49
SLIDE 49

(q,v) (q,v′)

  • is simulated by

g R

(q1,v1)

g R

(q1,v′

1)

  • q1

q2 q3 q4 x ≥ 1 y ≤ 3 y ≥ 2 x ≤ 3 (q1,〈x = 0.5,y = 2.1〉) (q1,〈x = 0.5,y = 2.9〉)

12/35

slide-50
SLIDE 50

(q,v) (q,v′)

  • is simulated by

g R

(q1,v1)

g R

(q1,v′

1)

  • q1

q2 q3 q4 x ≥ 1 y ≤ 3 y ≥ 2 x ≤ 3 (q1,〈x = 0.5,y = 2.1〉) (q1,〈x = 0.5,y = 2.9〉)

  • 12/35
slide-51
SLIDE 51

(q,v) (q,v′)

  • is simulated by

g R

(q1,v1)

g R

(q1,v′

1)

  • q1

q2 q3 q4 x ≥ 1 y ≤ 3 y ≥ 2 x ≤ 3 (q1,〈x = 0.5,y = 2.1〉) (q1,〈x = 0.5,y = 2.9〉)

  • (q1,〈x = 0.5,y = 2.1〉)

(q1,〈x = 0.5,y = 1〉)

  • 12/35
slide-52
SLIDE 52

Abstractions from simulations

a(W) W v

g1 R1 g2 R2 g3 R3 g4 R4 g

5

R

5

v′

g

1

R

1

g2 R2 g3 R3 g4 R4 g5 R5

q

,

13/35

slide-53
SLIDE 53

Abstractions from simulations

a(W) W v

g1 R1 g2 R2 g3 R3 g4 R4 g

5

R

5

v′

g

1

R

1

g2 R2 g3 R3 g4 R4 g5 R5

q

,

◮ a(W) = aq(W) :

{ v | exists v′ ∈ W s.t.

(q,v) (q,v′) }

13/35

slide-54
SLIDE 54

Standard algorithm: covering tree

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 W1 Z1 W2 Z2 W3 Z3 W4 Z4 W5 Z5 a(Z0) a(W1) a(W2) a(W3) a(W4) a(W5)

q3 = q1 ^ a(W3) ⊆ a(W1)?

14/35

slide-55
SLIDE 55

Standard algorithm: covering tree

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 W1 Z1 W2 Z2 W3 Z3 W4 Z4 W5 Z5 a(Z0) a(W1) a(W2) a(W3) a(W4) a(W5)

q3 = q1 ^ a(W3) ⊆ a(W1)?

Coarser the abstraction, smaller the abstracted graph

14/35

slide-56
SLIDE 56

Condition 1: Abstractions should have finite range Condition 2: Abstractions should be sound ⇒ a(W) can contain

  • nly valuations simulated by W

a(W) W v

g1 R1 g2 R2 g3 R3 g4 R4 g

5

R

5

v′

g

1

R

1

g2 R2 g3 R3 g4 R4 g5 R5

q

,

15/35

slide-57
SLIDE 57

Condition 1: Abstractions should have finite range Condition 2: Abstractions should be sound ⇒ a(W) can contain

  • nly valuations simulated by W

a(W) W v

g1 R1 g2 R2 g3 R3 g4 R4 g

5

R

5

v′

g

1

R

1

g2 R2 g3 R3 g4 R4 g5 R5

q

,

Why not add all valuations simulated by W?

15/35

slide-58
SLIDE 58

Theorem [Laroussinie, Schnoebelen’00]

Deciding coarsest simulation relation for a given automaton is EXPTIME-hard

(y ≤ 3) (x < 1) (y < 1) (x < 4) (x > 6) {y} {y}

s0 s1 s3 s2

16/35

slide-59
SLIDE 59

Theorem [Laroussinie, Schnoebelen’00]

Deciding coarsest simulation relation for a given automaton is EXPTIME-hard

(y ≤ 3) (x < 1) (y < 1) (x < 4) (x > 6)

16/35

slide-60
SLIDE 60

Theorem [Laroussinie, Schnoebelen’00]

Deciding coarsest simulation relation for a given automaton is EXPTIME-hard

M-bounds [Alur, Dill’90] M(x) = 6, M(y) = 3 v M v′

(y ≤ 3) (x < 1) (y < 1) (x < 4) (x > 6)

16/35

slide-61
SLIDE 61

Theorem [Laroussinie, Schnoebelen’00]

Deciding coarsest simulation relation for a given automaton is EXPTIME-hard

M-bounds [Alur, Dill’90] M(x) = 6, M(y) = 3 v M v′ LU-bounds Behrmann et al’06 L(x) = 6, L(y) = −∞ U(x) = 4, U(y) = 3 v LU v′

(y ≤ 3) (x < 1) (y < 1) (x < 4) (x > 6)

16/35

slide-62
SLIDE 62

Abstractions in literature [Behrmann, Bouyer, Larsen, Pelanek’06]

aLU ClosureM (M) (LU)

17/35

slide-63
SLIDE 63

Abstractions in literature [Behrmann, Bouyer, Larsen, Pelanek’06]

Non-convex

aLU ClosureM (M) (LU)

17/35

slide-64
SLIDE 64

Abstractions in literature [Behrmann, Bouyer, Larsen, Pelanek’06]

Non-convex Convex

aLU ClosureM Extra+

M

Extra+

LU

ExtraLU ExtraM (M) (LU) Only convex abstractions used in implementations!

17/35

slide-65
SLIDE 65

Getting LU-bounds

Smaller the LU bounds, bigger is the abstraction

18/35

slide-66
SLIDE 66

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 19/35

slide-67
SLIDE 67

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

bounds by Static analysis

[Behrmann, Bouyer, Fleury, Larsen’03] 19/35

slide-68
SLIDE 68

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

bounds by Static analysis

[Behrmann, Bouyer, Fleury, Larsen’03] −∞ 19/35

slide-69
SLIDE 69

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

bounds by Static analysis

[Behrmann, Bouyer, Fleury, Larsen’03] −∞ 106 19/35

slide-70
SLIDE 70

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

bounds by Static analysis

[Behrmann, Bouyer, Fleury, Larsen’03] −∞ 106 U(x) = 1 19/35

slide-71
SLIDE 71

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

bounds by Static analysis

[Behrmann, Bouyer, Fleury, Larsen’03] −∞ 106 U(x) = 1 L(x) = 106,U(x) = 1 19/35

slide-72
SLIDE 72

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1

bounds by Static analysis

[Behrmann, Bouyer, Fleury, Larsen’03] −∞ 106 U(x) = 1 L(x) = 106,U(x) = 1 L(x) = 106,U(x) = 1 L(y) = 5,U(y) = 1 19/35

slide-73
SLIDE 73

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y 106

bounds by Static analysis

[Behrmann, Bouyer, Fleury, Larsen’03] −∞ 106 U(x) = 1 L(x) = 106,U(x) = 1 L(x) = 106,U(x) = 1 L(y) = 5,U(y) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q1, x > 106 q2, true q3, x − y = 0 q3, x − y = 1 q3, x > 106 q4, true q5, x > 1

× × × . . . . . .

19/35

slide-74
SLIDE 74

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 x y 106

bounds by Static analysis

[Behrmann, Bouyer, Fleury, Larsen’03]

Zone graph + ExtraLU+ +

−∞ 106 U(x) = 1 L(x) = 106,U(x) = 1 L(x) = 106,U(x) = 1 L(y) = 5,U(y) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q1, x > 106 q2, true q3, x − y = 0 q3, x − y = 1 q3, x > 106 q4, true q5, x > 1

× × × . . . . . .

19/35

slide-75
SLIDE 75

Reachability for timed automata

Standard algorithm: covering tree Convex abstractions Bounds by static analysis

Observation 1 Observation 2

20/35

slide-76
SLIDE 76

Reachability for timed automata

Standard algorithm: covering tree Convex abstractions Bounds by static analysis

Observation 1

Non-convex abstractions

Observation 2

20/35

slide-77
SLIDE 77

Step 1: We can use abstractions without storing them

21/35

slide-78
SLIDE 78

Using non-convex abstractions

Standard algorithm: covering tree

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 W1 Z1 W2 Z2 W3 Z3 W4 Z4 W5 Z5 a(Z0) a(W1) a(W2) a(W3) a(W4) a(W5)

q3 = q1 ∧ a(W3) ⊆ a(W1)?

22/35

slide-79
SLIDE 79

Using non-convex abstractions

Pick simulation based a

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 W1 Z1 W2 Z2 W3 Z3 W4 Z4 W5 Z5 a(Z0) a(W1) a(W2) a(W3) a(W4) a(W5)

q3 = q1 ∧ a(W3) ⊆ a(W1)?

22/35

slide-80
SLIDE 80

Using non-convex abstractions

Pick simulation based a

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 W1 Z1 W2 Z2 W3 Z3 W4 Z4 W5 Z5 a(Z0) a(W1) a(W2) a(W3) a(W4) a(W5)

q3 = q1 ∧ a(W3) ⊆ a(W1)?

22/35

slide-81
SLIDE 81

Using non-convex abstractions

Pick simulation based a

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 W1 Z1 W2 Z2 W3 Z3 W4 Z4 W5 Z5 a(Z0) a(W1) a(W2) a(W3) a(W4) a(W5)

q3 = q1 ∧ a(W3) ⊆ a(W1)?

22/35

slide-82
SLIDE 82

Using non-convex abstractions

Pick simulation based a

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 W1 Z1 W2 Z2 W3 Z3 W4 Z4 W5 Z5 a(Z0) a(W1) a(W2) a(W3) a(W4) a(W5)

q3 = q1 ∧ a(W3) ⊆ a(W1)?

  • 22/35
slide-83
SLIDE 83

Using non-convex abstractions

Pick simulation based a

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 W1 Z1 W2 Z2 W3 Z3 W4 Z4 W5 Z5 a(Z0) a(W1) a(W2) a(W3) a(W4) a(W5)

q3 = q1 ∧ a(W3) ⊆ a(W1)?

  • 22/35
slide-84
SLIDE 84

Using non-convex abstractions

Pick simulation based a

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 Z1 Z2 Z3 Z4 Z5 a(Z0) a(Z1) a(Z2) a(Z3) a(Z4) a(Z5)

q3 = q1 ∧ a(Z3) ⊆ a(Z1)?

22/35

slide-85
SLIDE 85

Using non-convex abstractions

Need to store only concrete semantics

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 Z1 Z2 Z3 Z4 Z5

q3 = q1 ∧ a(Z3) ⊆ a(Z1)?

22/35

slide-86
SLIDE 86

Using non-convex abstractions

Use Z ⊆ a(Z′) for termination

q0 q1 q2 q3 q4 q5

, , , , , ,

Z0 Z1 Z2 Z3 Z4 Z5

q3 = q1 ∧ Z3 ⊆ a(Z1)?

22/35

slide-87
SLIDE 87

Step 1: We can use abstractions without storing them Step 2: We can do the inclusion test efficiently

23/35

slide-88
SLIDE 88

Efficient inclusion testing

Main result Z ⊆ aLU(Z′) if and only if there exist 2 clocks x,y s.t. Projxy(Z) ⊆ aLU(Projxy(Z′))

24/35

slide-89
SLIDE 89

Efficient inclusion testing

Main result Z ⊆ aLU(Z′) if and only if there exist 2 clocks x,y s.t. Projxy(Z) ⊆ aLU(Projxy(Z′)) Complexity: (|X|2), where X is the set of clocks

24/35

slide-90
SLIDE 90

Efficient inclusion testing

Main result Z ⊆ aLU(Z′) if and only if there exist 2 clocks x,y s.t. Projxy(Z) ⊆ aLU(Projxy(Z′)) Complexity: (|X|2), where X is the set of clocks Same complexity as Z ⊆ Z′!

24/35

slide-91
SLIDE 91

Efficient inclusion testing

Main result Z ⊆ aLU(Z′) if and only if there exist 2 clocks x,y s.t. Projxy(Z) ⊆ aLU(Projxy(Z′)) Complexity: (|X|2), where X is the set of clocks Same complexity as Z ⊆ Z′! Slightly modified comparison works!

24/35

slide-92
SLIDE 92

Step 1: We can use abstractions without storing them Step 2: We can do the inclusion test efficiently ⇒ new algorithm for reachability

25/35

slide-93
SLIDE 93

Non-convex Convex

aLU ClosureM Extra+

M

Extra+

LU

ExtraLU ExtraM (M) (LU)

26/35

slide-94
SLIDE 94

Non-convex Convex

aLU ClosureM Extra+

M

Extra+

LU

ExtraLU ExtraM (M) (LU) Question: Can we do better than aLU?

26/35

slide-95
SLIDE 95

Optimality

LU-automata: automata with guards determined by L and U Theorem The aLU abstraction is the coarsest abstraction that is sound and complete for all LU-automata.

27/35

slide-96
SLIDE 96

Reachability for timed automata

Standard algorithm: covering tree Convex abstractions Bounds by static analysis

Observation 1

Non-convex abstractions Optimality

Observation 2

28/35

slide-97
SLIDE 97

Reachability for timed automata

Standard algorithm: covering tree Convex abstractions Bounds by static analysis

Observation 1

Non-convex abstractions Optimality

Observation 2

Better LU-bounds

28/35

slide-98
SLIDE 98

Reachability for timed automata

Standard algorithm: covering tree Convex abstractions Bounds by static analysis

Observation 1

Non-convex abstractions Optimality

Observation 2

Better LU-bounds Smaller the LU-bounds, bigger is the aLU abstraction

28/35

slide-99
SLIDE 99

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 29/35

slide-100
SLIDE 100

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ q0, x − y = 0 29/35

slide-101
SLIDE 101

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ q0, x − y = 0 q1, x − y = 0 29/35

slide-102
SLIDE 102

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q2, x − y = 0 ∧ x ≥ 106 29/35

slide-103
SLIDE 103

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 29/35

slide-104
SLIDE 104

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 29/35

slide-105
SLIDE 105

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106

No disabled edge ⇒ all states seen ⇒ no need for bounds!

29/35

slide-106
SLIDE 106

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0

No disabled edge ⇒ all states seen ⇒ no need for bounds!

29/35

slide-107
SLIDE 107

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5

No disabled edge ⇒ all states seen ⇒ no need for bounds!

29/35

slide-108
SLIDE 108

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106

No disabled edge ⇒ all states seen ⇒ no need for bounds!

29/35

slide-109
SLIDE 109

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 ×

No disabled edge ⇒ all states seen ⇒ no need for bounds!

29/35

slide-110
SLIDE 110

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 ×

No disabled edge ⇒ all states seen ⇒ no need for bounds! What to do when a disabled edge is seen?

29/35

slide-111
SLIDE 111

q0 q1 q2 q3 q4

x ≥ 5 y ≥ 5 y > 100 w ≤ 2

(q0,x = y = w ≥ 0) (q1,x = y = w ≥ 5) (q2,x = y = w ≥ 5) (q3,x = y = w > 100)

w ≤ 2

L(x) = 5, U(w) = 2

30/35

slide-112
SLIDE 112

q0 q1 q2 q3 q4

x ≥ 5 y ≥ 5 y > 100 w ≤ 2

(q0,x = y = w ≥ 0) (q1,x = y = w ≥ 5) (q2,x = y = w ≥ 5) (q3,x = y = w > 100)

w ≤ 2 x ≥ 5 is responsible

L(x) = 5, U(w) = 2

30/35

slide-113
SLIDE 113

(q0,Z0 (q1,Z1) (qn−2,Zn−2) (qn−1,Zn−1) (qn,Zn)

g1 gn−1 gn gn+1

. . .

31/35

slide-114
SLIDE 114

(q0,Z0 (q1,Z1) (qn−2,Zn−2) (qn−1,Zn−1) (qn,Zn)

g1 gn−1 gn gn+1

. . .

LnUn φn := aLnUn(Zn) gn+1 is disabled from φn

31/35

slide-115
SLIDE 115

(q0,Z0 (q1,Z1) (qn−2,Zn−2) (qn−1,Zn−1) (qn,Zn)

g1 gn−1 gn gn+1

. . .

LnUn φn := aLnUn(Zn) gn+1 is disabled from φn Ln−1Un−1 φn−1 := aLn−1Un−1(Zn−1) if Zn−1 ⊆ φn, don’t take gn

31/35

slide-116
SLIDE 116

(q0,Z0 (q1,Z1) (qn−2,Zn−2) (qn−1,Zn−1) (qn,Zn)

g1 gn−1 gn gn+1

. . .

LnUn φn := aLnUn(Zn) gn+1 is disabled from φn Ln−1Un−1 φn−1 := aLn−1Un−1(Zn−1) if Zn−1 ⊆ φn, don’t take gn Ln−2Un−2 φn−1 := aLn−2Un−2(Zn−2) if Zn−2 ⊆ φn−1, don’t take gn−1 L1U1 φ1 := aL1U1(Z1) if Z1 ⊆ φ2, don’t take g2 L0U0 φ1 := aL0U0(Z0) if Z0 ⊆ φ1, don’t take g1

31/35

slide-117
SLIDE 117

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ −∞ −∞ −∞ q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 × 32/35

slide-118
SLIDE 118

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ −∞ −∞ U(x) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 × 32/35

slide-119
SLIDE 119

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ −∞ U(x) = 1 U(x) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 × 32/35

slide-120
SLIDE 120

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ U(x) = 1,L(y) = 5 U(x) = 1 U(x) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 × 32/35

slide-121
SLIDE 121

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ U(x) = 1,L(y) = 5 U(x) = 1 U(x) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 q3, x − y = 1

×

32/35

slide-122
SLIDE 122

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ U(x) = 1,L(y) = 5 U(x) = 1 U(x) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 q3, x − y = 1

×

32/35

slide-123
SLIDE 123

Lazy bounds propagation

[Herbreteau, S., Walukiewicz’13] q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ U(x) = 1,L(y) = 5 U(x) = 1 U(x) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 q3, x − y = 1

×

32/35

slide-124
SLIDE 124

Lazy bounds propagation

[Herbreteau, S., Walukiewicz’13]

Zone graph + aLU

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ U(x) = 1,L(y) = 5 U(x) = 1 U(x) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 q3, x − y = 1

×

32/35

slide-125
SLIDE 125

Lazy bounds propagation

[Herbreteau, S., Walukiewicz’13]

Zone graph + aLU

q0 q1 q2 q3 q4 q5 q6 y = 1,{y} x = 106 ∧ y = 106 y = 1,{y} y ≥ 5 x ≥ 106 x ≤ 1 −∞ −∞ −∞ U(x) = 1,L(y) = 5 U(x) = 1 U(x) = 1 q0, x − y = 0 q1, x − y = 0 q1, x − y = 1 q2, x − y = 0 ∧ x ≥ 106 q3, x − y = 0 q4, x − y = 0 ∧ y ≥ 5 q5, x − y = 0 ∧ x ≥ 106 q3, x − y = 1

×

32/35

slide-126
SLIDE 126

Reachability for timed automata

Standard algorithm: covering tree Convex abstractions Bounds by static analysis

Observation 1

Non-convex abstractions Optimality

Observation 2

Dynamic LU-bounds

33/35

slide-127
SLIDE 127

Experiments

Model

  • nb. of

UPPAAL (-C) static lazy clocks nodes sec. nodes sec. nodes sec. CSMA/CD 10 11 120845 1.12 CSMA/CD 11 12 311310 3.23 CSMA/CD 12 13 786447 14.8 C-CSMA/CD 6 6 8153 0.19 C-CSMA/CD 7 C-CSMA/CD 8 FDDI 50 151 FDDI 70 211 FDDI 140 421 Fischer 9 9 135485 1.17 Fischer 10 10 447598 5.04 Fischer 11 11 1464971 20.5

◮ UPPAAL (-C) shows results from UPPAAL tool which uses static bounds ◮ static is our implementation of UPPAAL’s algo ◮ Time out (180s)

34/35

slide-128
SLIDE 128

Experiments

Model

  • nb. of

UPPAAL (-C) static lazy clocks nodes sec. nodes sec. nodes sec. CSMA/CD 10 11 120845 1.12 78604 1.89 CSMA/CD 11 12 311310 3.23 198669 5.07 CSMA/CD 12 13 786447 14.8 493582 13.58 C-CSMA/CD 6 6 8153 0.19 C-CSMA/CD 7 C-CSMA/CD 8 FDDI 50 151 10299 13.61 FDDI 70 211 FDDI 140 421 Fischer 9 9 135485 1.17 135485 3.23 Fischer 10 10 447598 5.04 447598 12.73 Fischer 11 11 1464971 20.5 1464971 46.97

◮ UPPAAL (-C) shows results from UPPAAL tool which uses static bounds ◮ static is our implementation of UPPAAL’s algo ◮ Time out (180s)

34/35

slide-129
SLIDE 129

Experiments

Model

  • nb. of

UPPAAL (-C) static lazy clocks nodes sec. nodes sec. nodes sec. CSMA/CD 10 11 120845 1.12 78604 1.89 78604 2.10 CSMA/CD 11 12 311310 3.23 198669 5.07 198669 5.64 CSMA/CD 12 13 786447 14.8 493582 13.58 493582 14.71 C-CSMA/CD 6 6 8153 0.19 1876 0.09 C-CSMA/CD 7 18414 0.97 C-CSMA/CD 8 172040 10.36 FDDI 50 151 10299 13.61 401 0.4 FDDI 70 211 561 1.36 FDDI 140 421 1121 18.25 Fischer 9 9 135485 1.17 135485 3.23 135485 4.38 Fischer 10 10 447598 5.04 447598 12.73 447598 17.27 Fischer 11 11 1464971 20.5 1464971 46.97 1464971 67.61

◮ UPPAAL (-C) shows results from UPPAAL tool which uses static bounds ◮ static is our implementation of UPPAAL’s algo ◮ Time out (180s)

34/35

slide-130
SLIDE 130

Conclusion

◮ Computing shorter proofs for un-reachability dynamically ◮ Main technical ingredient: efficient inclusion test ◮ Extended to Priced Timed Automata [Bouyer, Colange, Markey’16]

35/35

slide-131
SLIDE 131

Conclusion

◮ Computing shorter proofs for un-reachability dynamically ◮ Main technical ingredient: efficient inclusion test ◮ Extended to Priced Timed Automata [Bouyer, Colange, Markey’16] ◮ Future work:

◮ Improve lazy propagation ◮ partial-order reduction ◮ timed games 35/35