News on Safety Properties for Timed Petri Nets Patrick Totzke - - PowerPoint PPT Presentation

news on safety properties for timed petri nets
SMART_READER_LITE
LIVE PREVIEW

News on Safety Properties for Timed Petri Nets Patrick Totzke - - PowerPoint PPT Presentation

News on Safety Properties for Timed Petri Nets Patrick Totzke Edinburgh 2018-09-24 1 / 15 2 / 15 Networks of Timed Automata - a (finite-state) control program ( S ) - K indistinguishable d -clock Timed Automata ( C ) 2 / 15 Networks of Timed


slide-1
SLIDE 1

News on Safety Properties for Timed Petri Nets

Patrick Totzke

Edinburgh

2018-09-24

1 / 15

slide-2
SLIDE 2

2 / 15

slide-3
SLIDE 3

Networks of Timed Automata

  • a (finite-state) control program (S)
  • K indistinguishable d-clock Timed Automata (C)

2 / 15

slide-4
SLIDE 4

Networks of Timed Automata

  • a (finite-state) control program (S)
  • K indistinguishable d-clock Timed Automata (C)
  • global time ticks + handshake communication.

2 / 15

slide-5
SLIDE 5

Networks of Timed Automata

  • a (finite-state) control program (S)
  • K indistinguishable d-clock Timed Automata (C)
  • global time ticks + handshake communication.

Q: Suppose all K clients are identically initialized. Can one of the clients reach a failure state?

2 / 15

slide-6
SLIDE 6

Networks of Timed Automata

  • a (finite-state) control program (S)
  • K indistinguishable d-clock Timed Automata (C)
  • global time ticks + handshake communication.

Q: Suppose all K clients are identically initialized. Can one of the clients reach a failure state? A: Simple! It’s a big (K ∗ d)-clock TA! [AD94]

2 / 15

slide-7
SLIDE 7

Networks of Timed Automata

  • a (finite-state) control program (S)
  • K indistinguishable d-clock Timed Automata (C)
  • global time ticks + handshake communication.

Q: Suppose all K clients are identically initialized. Can one of the clients reach a failure state? A: Simple! It’s a big (K ∗ d)-clock TA! [AD94] Q: What if the number K of clients is a parameter? Does there exist K such that S × CK can fail?

2 / 15

slide-8
SLIDE 8

Networks of Timed Automata

  • a (finite-state) control program (S)
  • K indistinguishable d-clock Timed Automata (C)
  • global time ticks + handshake communication.

Q: Suppose all K clients are identically initialized. Can one of the clients reach a failure state? A: Simple! It’s a big (K ∗ d)-clock TA! [AD94] Q: What if the number K of clients is a parameter? Does there exist K such that S × CK can fail? A: Not so simple:

  • decidable for d = 1 [AJ03];
  • undecidable for d ≥ 2 [ADM04].

2 / 15

slide-9
SLIDE 9

Networks of Timed Automata

  • a (finite-state) control program (S)
  • K indistinguishable d-clock Timed Automata (C)
  • global time ticks + handshake communication.

Q: Suppose all K clients are identically initialized. Can one of the clients reach a failure state? A: Simple! It’s a big (K ∗ d)-clock TA! [AD94] Q: What if the number K of clients is a parameter? Does there exist K such that S × CK can fail? A: Not so simple:

  • decidable for d = 1 [AJ03];
  • undecidable for d ≥ 2 [ADM04].

Q: What if there is no controller? Exists K so that CK can fail?

2 / 15

slide-10
SLIDE 10

Networks of Timed Automata

  • a (finite-state) control program (S)
  • K indistinguishable d-clock Timed Automata (C)
  • global time ticks + handshake communication.

Q: Suppose all K clients are identically initialized. Can one of the clients reach a failure state? A: Simple! It’s a big (K ∗ d)-clock TA! [AD94] Q: What if the number K of clients is a parameter? Does there exist K such that S × CK can fail? A: Not so simple:

  • decidable for d = 1 [AJ03];
  • undecidable for d ≥ 2 [ADM04].

Q: What if there is no controller? Exists K so that CK can fail? A: PSPACE-complete [for d = 1, This paper]

2 / 15

slide-11
SLIDE 11

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.0 1.0 5.2

q

1.1 5.0

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

3 / 15

slide-12
SLIDE 12

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.0 1.0 5.2

q

1.1 5.0

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd

3 / 15

slide-13
SLIDE 13

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.0 1.0 5.2

q

1.1 5.0

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd

3 / 15

slide-14
SLIDE 14

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.0 1.0 5.2

q

1.1 5.0

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

3 / 15

slide-15
SLIDE 15

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.0 1.0 5.2

q

1.1 5.0

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − →

3 / 15

slide-16
SLIDE 16

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − →

3 / 15

slide-17
SLIDE 17

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − → and discrete steps

3 / 15

slide-18
SLIDE 18

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − → and discrete steps

t

− − →

3 / 15

slide-19
SLIDE 19

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − → and discrete steps

t

− − →

3 / 15

slide-20
SLIDE 20

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − → and discrete steps

t

− − →

3 / 15

slide-21
SLIDE 21

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − → and discrete steps

t

− − →

3 / 15

slide-22
SLIDE 22

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − → and discrete steps

t

− − →

  • Reachability, Coverability, Boundedness (. . . ) undecidable

3 / 15

slide-23
SLIDE 23

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − → and discrete steps

t

− − →

  • Reachability, Coverability, Boundedness (. . . ) undecidable
  • Coverability: M

− − →

t

− − →?

  • decidable via WSTS if d = 1
  • inter-reducible to Coverability for ordered data nets

3 / 15

slide-24
SLIDE 24

Timed Petri Nets

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • Configurations are finite multisets over P × Rd
  • global time ticks

0.1

− − → and discrete steps

t

− − →

  • Reachability, Coverability, Boundedness (. . . ) undecidable
  • Coverability: M

− − →

t

− − →?

  • decidable via WSTS if d = 1
  • inter-reducible to Coverability for ordered data nets
  • Existential Coverability: ∃n ∈ N with M · n

− − →

t

− − →?

3 / 15

slide-25
SLIDE 25

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

5.3

q

5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

4 / 15

slide-26
SLIDE 26

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

5.3

q

5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z The Region of this configuration is a sequence

s,0 q,5 r,1 r,1 r,1 p,5

.0 .1 .2 .3

  • f multisets over P × {0, . . . , cmax}, one for each fractional value*

4 / 15

slide-27
SLIDE 27

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

5.3

q

5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z The Region of this configuration is a sequence

s,0 q,5 r,1 r,1 r,1 p,5

.0 .1 .2 .3

  • f multisets over P × {0, . . . , cmax}, one for each fractional value*

4 / 15

slide-28
SLIDE 28

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

5.3

q

5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z The Region of this configuration is a sequence

s,0 q,5 r,1 r,1 r,1 p,5

.0 .1 .2 .3

  • f multisets over P × {0, . . . , cmax}, one for each fractional value*

4 / 15

slide-29
SLIDE 29

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

5.3

q

5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z The Region of this configuration is a sequence

s,0 q,5 r,1 r,1 r,1 p,5

.0 .1 .2 .3

  • f multisets over P × {0, . . . , cmax}, one for each fractional value*

4 / 15

slide-30
SLIDE 30

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

5.3

q

5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z The Region of this configuration is a sequence

s,0 q,5 r,1 r,1 r,1 p,5

.0 .1 .2 .3

  • f multisets over P × {0, . . . , cmax}, one for each fractional value*

4 / 15

slide-31
SLIDE 31

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

5.3

q

5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z The Region of this configuration is a sequence

s,0 q,5 r,1 r,1 r,1 p,5

.0 .1 .2 .3

  • f multisets over P × {0, . . . , cmax}, one for each fractional value*

4 / 15

slide-32
SLIDE 32

Coverability via Regions

5 / 15

slide-33
SLIDE 33

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.0 1.0 5.2

q

1.1 5.0

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

5 / 15

slide-34
SLIDE 34

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.0 1.0 5.2

q

1.1 5.0

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

p,1 p,1 q,5 q,1 p,5 5 / 15

slide-35
SLIDE 35

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.0 1.0 5.2

q

1.1 5.0

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • short time ticks

p,1 p,1 q,5 q,1 p,5 5 / 15

slide-36
SLIDE 36

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • short time ticks

p,1 p,1 q,5 q,1 p,5 p,1 p,1 q,5 q,1 p,5

ε

5 / 15

slide-37
SLIDE 37

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • short time ticks
  • discrete transition firing

p,1 p,1 q,5 q,1 p,5 p,1 p,1 q,5 q,1 p,5

ε

5 / 15

slide-38
SLIDE 38

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • short time ticks
  • discrete transition firing

p,1 p,1 q,5 q,1 p,5 p,1 p,1 q,5 q,1 p,5

ε

5 / 15

slide-39
SLIDE 39

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • short time ticks
  • discrete transition firing

p,1 p,1 q,5 q,1 p,5 p,1 p,1 q,5 q,1 p,5

ε

s,0 q,5 r,1 r,1 r,1 p,5

t

5 / 15

slide-40
SLIDE 40

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • short time ticks
  • discrete transition firing

p,1 p,1 q,5 q,1 p,5 p,1 p,1 q,5 q,1 p,5

ε

s,0 q,5 r,1 r,1 r,1 p,5

t

5 / 15

slide-41
SLIDE 41

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • short time ticks
  • discrete transition firing
  • long time ticks

p,1 p,1 q,5 q,1 p,5 p,1 p,1 q,5 q,1 p,5

ε

s,0 q,5 r,1 r,1 r,1 p,5

t

5 / 15

slide-42
SLIDE 42

Coverability via Regions

0 ≤ x ≤ 5 1 < y ≤ 2 0 ≤ z ≤ 0

t p

1.1 1.1 5.3

q

1.2 5.1

r

1.2 1.2 1.2

s

0.0

x2 y y3 z

  • short time ticks
  • discrete transition firing
  • long time ticks

p,1 p,1 q,5 q,1 p,5 p,1 p,1 q,5 q,1 p,5

ε

s,0 q,5 r,1 r,1 r,1 p,5

t

p,6 s,0 q,5 r,1 r,1 r,1

t

5 / 15

slide-43
SLIDE 43

Coverability via Regions

  • Obs. 1
  • region equality is a time-abstract bisimulation
  • unlike for TA, it has infinite index

6 / 15

slide-44
SLIDE 44

Coverability via Regions

  • Obs. 1
  • region equality is a time-abstract bisimulation
  • unlike for TA, it has infinite index
  • Obs. 2
  • steps between regions are monotone wrt. region embedding
  • embedding is a well-quasi-order

6 / 15

slide-45
SLIDE 45

Coverability via Regions

  • Obs. 1
  • region equality is a time-abstract bisimulation
  • unlike for TA, it has infinite index
  • Obs. 2
  • steps between regions are monotone wrt. region embedding
  • embedding is a well-quasi-order

Together, this yields decidability via the WSTS approach (and completeness for Fωω ).

6 / 15

slide-46
SLIDE 46

Coverability via Regions

  • Obs. 1
  • region equality is a time-abstract bisimulation
  • unlike for TA, it has infinite index
  • Obs. 2
  • steps between regions are monotone wrt. region embedding
  • embedding is a well-quasi-order

Together, this yields decidability via the WSTS approach (and completeness for Fωω ). NB: this fails for d ≥ 2, for several reasons... Indeed we have undecidability in general.

6 / 15

slide-47
SLIDE 47

Existential Coverability

In: A TPN, a marking M, a transition t Question: Does there exist ∃n ∈ N with M · n

− − →

t

− − →?

7 / 15

slide-48
SLIDE 48

Existential Coverability

In: A TPN, a marking M, a transition t Question: Does there exist ∃n ∈ N with M · n

− − →

t

− − →? ≈ parametrized safety checking Networks of Timed Automata

7 / 15

slide-49
SLIDE 49

Existential Coverability

In: A TPN, a marking M, a transition t Question: Does there exist ∃n ∈ N with M · n

− − →

t

− − →? ≈ parametrized safety checking Networks of Timed Automata ≈ Coverability for TPN with continuous firing semantics ´ a la Haddad et al.’17.

7 / 15

slide-50
SLIDE 50

Existential Coverability

In: A TPN, a marking M, a transition t Question: Does there exist ∃n ∈ N with M · n

− − →

t

− − →? ≈ parametrized safety checking Networks of Timed Automata ≈ Coverability for TPN with continuous firing semantics ´ a la Haddad et al.’17. − (logspace) reduces to Coverability

7 / 15

slide-51
SLIDE 51

Existential Coverability

In: A TPN, a marking M, a transition t Question: Does there exist ∃n ∈ N with M · n

− − →

t

− − →? ≈ parametrized safety checking Networks of Timed Automata ≈ Coverability for TPN with continuous firing semantics ´ a la Haddad et al.’17. − (logspace) reduces to Coverability − We show PSPACE-completeness

7 / 15

slide-52
SLIDE 52

Existential Coverability

In: A TPN, a marking M, a transition t Question: Does there exist ∃n ∈ N with M · n

− − →

t

− − →? ≈ parametrized safety checking Networks of Timed Automata ≈ Coverability for TPN with continuous firing semantics ´ a la Haddad et al.’17. − (logspace) reduces to Coverability − We show PSPACE-completeness

7 / 15

slide-53
SLIDE 53

Existential Coverability

In: A TPN, a marking M, a transition t Question: Does there exist ∃n ∈ N with M · n

− − →

t

− − →? ≈ parametrized safety checking Networks of Timed Automata ≈ Coverability for TPN with continuous firing semantics ´ a la Haddad et al.’17. − (logspace) reduces to Coverability − We show PSPACE-completeness

LB: iterated monotone circuits

7 / 15

slide-54
SLIDE 54

Existential Coverability

In: A TPN, a marking M, a transition t Question: Does there exist ∃n ∈ N with M · n

− − →

t

− − →? ≈ parametrized safety checking Networks of Timed Automata ≈ Coverability for TPN with continuous firing semantics ´ a la Haddad et al.’17. − (logspace) reduces to Coverability − We show PSPACE-completeness

LB: iterated monotone circuits UB: Regions + forward acceleration

7 / 15

slide-55
SLIDE 55

Existential Coverability

Q: What’s different compared to Coverability?

8 / 15

slide-56
SLIDE 56

Existential Coverability

Q: What’s different compared to Coverability? A: Token multiplicities do not matter. So,

8 / 15

slide-57
SLIDE 57

Existential Coverability

Q: What’s different compared to Coverability? A: Token multiplicities do not matter. So,

  • 1. A Region a sequence of multisets over Σ

def

= P × {0, . . . , cmax}

8 / 15

slide-58
SLIDE 58

Existential Coverability

Q: What’s different compared to Coverability? A: Token multiplicities do not matter. So,

  • 1. A Region a sequence of multisets over Σ

def

= P × {0, . . . , cmax} sets S ⊆ Σ

8 / 15

slide-59
SLIDE 59

Existential Coverability

Q: What’s different compared to Coverability? A: Token multiplicities do not matter. So,

  • 1. A Region a sequence of multisets over Σ

def

= P × {0, . . . , cmax} sets S ⊆ Σ This already improves the upper bound to Fω

8 / 15

slide-60
SLIDE 60

Existential Coverability

Q: What’s different compared to Coverability? A: Token multiplicities do not matter. So,

  • 1. A Region a sequence of multisets over Σ

def

= P × {0, . . . , cmax} sets S ⊆ Σ This already improves the upper bound to Fω

  • 2. Wlog., the net is non-consuming: •t ⊆ t• for all transitions t.

8 / 15

slide-61
SLIDE 61

Existential Coverability

Q: What’s different compared to Coverability? A: Token multiplicities do not matter. So,

  • 1. A Region a sequence of multisets over Σ

def

= P × {0, . . . , cmax} sets S ⊆ Σ This already improves the upper bound to Fω

  • 2. Wlog., the net is non-consuming: •t ⊆ t• for all transitions t.

This means that discrete transition firing is non-decreasing and for every region R

  • there is a unique maximal region R′ with R

disc

− − →∗R′

  • R′ is (Ptime) computable

8 / 15

slide-62
SLIDE 62

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A

slide-63
SLIDE 63

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

slide-64
SLIDE 64

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε

slide-65
SLIDE 65

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

slide-66
SLIDE 66

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε

slide-67
SLIDE 67

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

slide-68
SLIDE 68

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε

slide-69
SLIDE 69

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

slide-70
SLIDE 70

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε

slide-71
SLIDE 71

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

slide-72
SLIDE 72

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-73
SLIDE 73

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-74
SLIDE 74

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-75
SLIDE 75

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-76
SLIDE 76

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-77
SLIDE 77

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-78
SLIDE 78

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-79
SLIDE 79

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-80
SLIDE 80

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-81
SLIDE 81

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-82
SLIDE 82

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

slide-83
SLIDE 83

Existential Coverability: Key Observation

When forward exploring zeno behaviour regions “stabilize” and the limit is expressible as regular expression. In this example as ZY ∗A. A A

disc

A ∅ ε A B

disc

A B ∅ ε A B C

disc

A B C ∅ ε A B C D

disc

A B C D ∅ ε A B C D E

disc

A B C D E Y Z

9 / 15

slide-84
SLIDE 84

Existential Coverability: Construction

  • use regular expressions over 2Σ to represent (limit) regions
  • careful forward exploration, using intermediate compression

steps that add Kleene *s

10 / 15

slide-85
SLIDE 85

Forward Exploration

11 / 15

slide-86
SLIDE 86

Forward Exploration

x∗ x1 start

slide-87
SLIDE 87

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate

slide-88
SLIDE 88

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate

slide-89
SLIDE 89

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate

slide-90
SLIDE 90

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate

slide-91
SLIDE 91

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate

slide-92
SLIDE 92

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate

slide-93
SLIDE 93

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate

slide-94
SLIDE 94

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate

slide-95
SLIDE 95

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate

slide-96
SLIDE 96

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate

slide-97
SLIDE 97

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate

slide-98
SLIDE 98

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate

slide-99
SLIDE 99

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate (x4

0)∗

x4

1

(x4

3)∗

x4

4

collapse

slide-100
SLIDE 100

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate (x4

0)∗

x4

1

(x4

3)∗

x4

4

collapse ∗

slide-101
SLIDE 101

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate (x4

0)∗

x4

1

(x4

3)∗

x4

4

collapse ∗ (x4

3)∗

x4

4

(x4

0 + 1)∗

(x4

1 + 1)

rotate

slide-102
SLIDE 102

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate (x4

0)∗

x4

1

(x4

3)∗

x4

4

collapse ∗ (x4

3)∗

x4

4

(x4

0 + 1)∗

(x4

1 + 1)

rotate

slide-103
SLIDE 103

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate (x4

0)∗

x4

1

(x4

3)∗

x4

4

collapse ∗ (x4

3)∗

x4

4

(x4

0 + 1)∗

(x4

1 + 1)

rotate (x4

3)∗

(x4

1 + 1)

collapse

slide-104
SLIDE 104

Forward Exploration

x∗ x1 start (x1

0)∗

x1

1

saturate (x1

0)∗

x1

1

(x1

0 + 1)

rotate (x2

0)∗

x2

1

x2

2

saturate (x2

0)∗

x2

1

x2

2

(x2

0 + 1)

rotate (x3

0)∗

x3

1

x3

2

x3

3

saturate (x3

0)∗

x3

1

x3

2

x3

3

(x3

0 + 1)

rotate (x4

0)∗

x4

1

x4

2

x4

3

x4

4

saturate (x4

0)∗

x4

1

(x4

3)∗

x4

4

collapse ∗ (x4

3)∗

x4

4

(x4

0 + 1)∗

(x4

1 + 1)

rotate (x4

3)∗

(x4

1 + 1)

collapse ∗

11 / 15

slide-105
SLIDE 105

Existential Coverability: Construction

  • use regular expressions over 2Σ to represent (limit) regions
  • careful forward exploration, using intermediate compression

steps that add Kleene *s

12 / 15

slide-106
SLIDE 106

Existential Coverability: Construction

  • use regular expressions over 2Σ to represent (limit) regions
  • careful forward exploration, using intermediate compression

steps that add Kleene *s

Properties

  • Computes the set of coverable regions

12 / 15

slide-107
SLIDE 107

Existential Coverability: Construction

  • use regular expressions over 2Σ to represent (limit) regions
  • careful forward exploration, using intermediate compression

steps that add Kleene *s

Properties

  • Computes the set of coverable regions
  • does not need nondeterministic branching

12 / 15

slide-108
SLIDE 108

Existential Coverability: Construction

  • use regular expressions over 2Σ to represent (limit) regions
  • careful forward exploration, using intermediate compression

steps that add Kleene *s

Properties

  • Computes the set of coverable regions
  • does not need nondeterministic branching
  • every explored RE has length ≤ 5 .

12 / 15

slide-109
SLIDE 109

Existential Coverability: Construction

  • use regular expressions over 2Σ to represent (limit) regions
  • careful forward exploration, using intermediate compression

steps that add Kleene *s

Properties

  • Computes the set of coverable regions
  • does not need nondeterministic branching
  • every explored RE has length ≤ 5 .

12 / 15

slide-110
SLIDE 110

Existential Coverability: Construction

  • use regular expressions over 2Σ to represent (limit) regions
  • careful forward exploration, using intermediate compression

steps that add Kleene *s

Properties

  • Computes the set of coverable regions
  • does not need nondeterministic branching
  • every explored RE has length ≤ 5 .

Corollary

  • the sequence is singly exponential
  • checking Existential Coverability is in PSPACE.

12 / 15

slide-111
SLIDE 111

WIP 1: multi-dimensional ECOVER

13 / 15

slide-112
SLIDE 112

WIP 1: multi-dimensional ECOVER

Conjecture

ECOVER is PSPACE-completeness for any fixed dimension d.

13 / 15

slide-113
SLIDE 113

WIP 1: multi-dimensional ECOVER

Conjecture

ECOVER is PSPACE-completeness for any fixed dimension d.

  • Regions become directed (hyper) graphs with edges labelled

by subsets of P × [0 . . . cmax + 1]d

13 / 15

slide-114
SLIDE 114

WIP 1: multi-dimensional ECOVER

Conjecture

ECOVER is PSPACE-completeness for any fixed dimension d.

  • Regions become directed (hyper) graphs with edges labelled

by subsets of P × [0 . . . cmax + 1]d

  • Semantics of Kleene stars?

13 / 15

slide-115
SLIDE 115

WIP 2: Coverability for TBPP

BPP nets: every transition consumes at most one token

14 / 15

slide-116
SLIDE 116

WIP 2: Coverability for TBPP

BPP nets: every transition consumes at most one token

  • ∼ context-free controlled TPN

14 / 15

slide-117
SLIDE 117

WIP 2: Coverability for TBPP

BPP nets: every transition consumes at most one token

  • ∼ context-free controlled TPN
  • Coverability
  • in PSPACE for all d

14 / 15

slide-118
SLIDE 118

WIP 2: Coverability for TBPP

BPP nets: every transition consumes at most one token

  • ∼ context-free controlled TPN
  • Coverability
  • in PSPACE for all d

(lossy semantics witnesses visit only small regions)

14 / 15

slide-119
SLIDE 119

WIP 2: Coverability for TBPP

BPP nets: every transition consumes at most one token

  • ∼ context-free controlled TPN
  • Coverability
  • in PSPACE for all d

(lossy semantics witnesses visit only small regions)

  • conjecture: NP-complete for d = 1

14 / 15

slide-120
SLIDE 120

WIP 2: Coverability for TBPP

BPP nets: every transition consumes at most one token

  • ∼ context-free controlled TPN
  • Coverability
  • in PSPACE for all d

(lossy semantics witnesses visit only small regions)

  • conjecture: NP-complete for d = 1
  • Reachability:
  • 1st step: bound ”time to kill” a region?

14 / 15

slide-121
SLIDE 121

thank you.

15 / 15