SLIDE 1 News on Safety Properties for Timed Petri Nets
Patrick Totzke
Edinburgh
2018-09-24
1 / 15
SLIDE 3 Networks of Timed Automata
- a (finite-state) control program (S)
- K indistinguishable d-clock Timed Automata (C)
2 / 15
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Coverability via Regions
5 / 15
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 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 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 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
p,1 p,1 q,5 q,1 p,5 p,1 p,1 q,5 q,1 p,5
ε
5 / 15
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 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 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 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 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 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 Coverability via Regions
- Obs. 1
- region equality is a time-abstract bisimulation
- unlike for TA, it has infinite index
6 / 15
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 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 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 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 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 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 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 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 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 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 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 Existential Coverability
Q: What’s different compared to Coverability?
8 / 15
SLIDE 56 Existential Coverability
Q: What’s different compared to Coverability? A: Token multiplicities do not matter. So,
8 / 15
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 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 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 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 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′
8 / 15
SLIDE 62
Existential Coverability: Key Observation
When forward exploring zeno behaviour regions “stabilize” A
SLIDE 63
Existential Coverability: Key Observation
When forward exploring zeno behaviour regions “stabilize” A A
disc
SLIDE 64
Existential Coverability: Key Observation
When forward exploring zeno behaviour regions “stabilize” A A
disc
A ∅ ε
SLIDE 65
Existential Coverability: Key Observation
When forward exploring zeno behaviour regions “stabilize” A A
disc
A ∅ ε A B
disc
SLIDE 66
Existential Coverability: Key Observation
When forward exploring zeno behaviour regions “stabilize” A A
disc
A ∅ ε A B
disc
A B ∅ ε
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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 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 Forward Exploration
11 / 15
SLIDE 86 Forward Exploration
x∗ x1 start
SLIDE 87 Forward Exploration
x∗ x1 start (x1
0)∗
x1
1
saturate
SLIDE 88 Forward Exploration
x∗ x1 start (x1
0)∗
x1
1
saturate (x1
0)∗
x1
1
(x1
0 + 1)
rotate
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 WIP 1: multi-dimensional ECOVER
13 / 15
SLIDE 112 WIP 1: multi-dimensional ECOVER
Conjecture
ECOVER is PSPACE-completeness for any fixed dimension d.
13 / 15
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 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 WIP 2: Coverability for TBPP
BPP nets: every transition consumes at most one token
14 / 15
SLIDE 116 WIP 2: Coverability for TBPP
BPP nets: every transition consumes at most one token
- ∼ context-free controlled TPN
14 / 15
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 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 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 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 thank you.
15 / 15