Business Processes Modelling MPB (6 cfu,...

73
Business Processes Modelling MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 09 - Petri nets properties 1

Transcript of Business Processes Modelling MPB (6 cfu,...

Page 1: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Business Processes Modelling MPB (6 cfu, 295AA)

Roberto Bruni http://www.di.unipi.it/~bruni

09 - Petri nets properties

!1

Page 2: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Object

2

Free Choice Nets (book, optional reading) https://www7.in.tum.de/~esparza/bookfc.html

We give a formal account of some key properties of Petri nets

N `

Page 3: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Petri nets: behavioural properties

3

Page 4: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Properties of Petri nets

4

We introduce some of the properties of Petri nets that can play an important role in the verification of

business processes

Liveness Deadlock-freedom

Boundedness Cyclicity (also Reversibility)

Page 5: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness, intuitively

5

A transition t is live if from any reachable marking M another

marking M’ can be reached where t is enabled

In other words: at any point in time of the computation, we cannot exclude that t will fire in the future

or, equivalently, at any point in time of the computation, it is still

possible to enable t in the future

A Petri net is live if all of its transitions are live

Page 6: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness illustrated

6

M0

Page 7: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness illustrated

6

M0 M

For any reachable marking M

Page 8: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness illustrated

6

M0 M

Can we find a way to enable t?

For any reachable marking M

Page 9: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness illustrated

6

M0 M

Can we find a way to enable t?

For any reachable marking M

M’

Page 10: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness illustrated

6

M0 M

Can we find a way to enable t?

For any reachable marking M

M’t

Page 11: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness, formally

7

(P, T, F,M0)

⌅t ⇤ T, ⌅M ⇤ [M0 ⌃, ⇧M � ⇤ [M ⌃, M � t�⇥

Page 12: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Digression

8

Order of quantifier is important:

quantification of the same kind can be switched

the order of universal and existential quantification is important

8n. 9m. n < m 9m. 8n. n < m6⌘

Page 13: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Example: Non Live

9

Page 14: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Example: Live

10

Page 15: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness: pay attention!

11

Liveness should not be confused with the following property:

starting from the initial marking M0 it is possible to reach a marking M that enables t

(this property just ensures that t is not "dead" at M0)

9M 2 [M0i. Mt�!

Page 16: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Example: non live net (but t1 non dead!)

12

Page 17: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Dead transition

13

Given a marking M

A transition t is dead at M if t will never be enabled in the future

(i.e., t is not enabled at any marking reachable from M)

Page 18: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness: example

14

Which transitions are live? Which are not?

Which are dead? Is the net live?

Page 19: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness on the occurrence graph

16

A transition t is live iff

From any node of the occurrence graph we can reach a node with an outgoing arc labelled by t

A transition t is dead (at M0) iff

There is no t-labelled arc in the occurrence graph

Page 20: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Marked place

17

Given a marking M

We say that a place p is marked (at M) if M(p) > 0

(i.e., there is a token in p in the marking M)

We say that p is unmarked if M(p) = 0

(i.e., there is no token in p in the marking M)

Page 21: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Place-liveness, intuitively

18

A place p is live if every time it becomes unmarked

there is still the possibility to be marked in the future (or if it always stays marked)

A Petri net is place-live if all of its places are live

Page 22: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Live place

19

Definition: Let (P, T, F,M0) be a net system.

A place p � P is live if ⇥M � [M0 ⌅. ⇤M � � [M ⌅.M �(p) > 0

Page 23: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Place-liveness, formally

20

(P, T, F,M0)

8p 2 P. 8M 2 [M0i. 9M 0 2 [Mi. M 0(p) > 0<latexit sha1_base64="FKdB4DtfjxrbzLeGIrhux/mrO5Y=">AAACcXicbVFNT9tAEF270IJL2xROiMuKUBHUKLK5lFOFilRxiZRKBJDiKBpvJukq6/V2d4xAUX5oDz31J/AHunYiVD7m9Oa9+dq3mVHSURz/DsJXa+uv32xsRm+33r3/0Pi4femK0grsi0IV9joDh0pq7JMkhdfGIuSZwqtsdlbpVzdonSz0Bd0ZHOYw1XIiBZCnRo3FwUHU6rUv2t/b3VF8FPk0vXEzaXhiqM4mhQWluEml5r1O+quEMX9guxU78J2pBT1VuNSjFG/96Y53D5f6Y7V72DJHX2M/fdRoxp24Dv4cJCvQZKvojRp/0nEhyhw1CQXODZLY0HAOlqRQuIjS0qEBMYMpDjzUkKMbzmubFvxT6YAKbtByqXhN4v8dc8idu8szX5kD/XRPtYp8SRuUNDkZzqU2JaEW1SKSCutFTljp/Uc+lhaJoLocuTdFgAUitJKDEJ4s/YdE3o/k6eufg8vjTuLxj+Pm6beVMxtsj+2zFkvYF3bKzlmP9Zlgf4PNYDvYCe7D3ZCH+8vSMFj17LBHEX7+BykctWM=</latexit><latexit sha1_base64="FKdB4DtfjxrbzLeGIrhux/mrO5Y=">AAACcXicbVFNT9tAEF270IJL2xROiMuKUBHUKLK5lFOFilRxiZRKBJDiKBpvJukq6/V2d4xAUX5oDz31J/AHunYiVD7m9Oa9+dq3mVHSURz/DsJXa+uv32xsRm+33r3/0Pi4femK0grsi0IV9joDh0pq7JMkhdfGIuSZwqtsdlbpVzdonSz0Bd0ZHOYw1XIiBZCnRo3FwUHU6rUv2t/b3VF8FPk0vXEzaXhiqM4mhQWluEml5r1O+quEMX9guxU78J2pBT1VuNSjFG/96Y53D5f6Y7V72DJHX2M/fdRoxp24Dv4cJCvQZKvojRp/0nEhyhw1CQXODZLY0HAOlqRQuIjS0qEBMYMpDjzUkKMbzmubFvxT6YAKbtByqXhN4v8dc8idu8szX5kD/XRPtYp8SRuUNDkZzqU2JaEW1SKSCutFTljp/Uc+lhaJoLocuTdFgAUitJKDEJ4s/YdE3o/k6eufg8vjTuLxj+Pm6beVMxtsj+2zFkvYF3bKzlmP9Zlgf4PNYDvYCe7D3ZCH+8vSMFj17LBHEX7+BykctWM=</latexit><latexit sha1_base64="FKdB4DtfjxrbzLeGIrhux/mrO5Y=">AAACcXicbVFNT9tAEF270IJL2xROiMuKUBHUKLK5lFOFilRxiZRKBJDiKBpvJukq6/V2d4xAUX5oDz31J/AHunYiVD7m9Oa9+dq3mVHSURz/DsJXa+uv32xsRm+33r3/0Pi4femK0grsi0IV9joDh0pq7JMkhdfGIuSZwqtsdlbpVzdonSz0Bd0ZHOYw1XIiBZCnRo3FwUHU6rUv2t/b3VF8FPk0vXEzaXhiqM4mhQWluEml5r1O+quEMX9guxU78J2pBT1VuNSjFG/96Y53D5f6Y7V72DJHX2M/fdRoxp24Dv4cJCvQZKvojRp/0nEhyhw1CQXODZLY0HAOlqRQuIjS0qEBMYMpDjzUkKMbzmubFvxT6YAKbtByqXhN4v8dc8idu8szX5kD/XRPtYp8SRuUNDkZzqU2JaEW1SKSCutFTljp/Uc+lhaJoLocuTdFgAUitJKDEJ4s/YdE3o/k6eufg8vjTuLxj+Pm6beVMxtsj+2zFkvYF3bKzlmP9Zlgf4PNYDvYCe7D3ZCH+8vSMFj17LBHEX7+BykctWM=</latexit><latexit sha1_base64="FKdB4DtfjxrbzLeGIrhux/mrO5Y=">AAACcXicbVFNT9tAEF270IJL2xROiMuKUBHUKLK5lFOFilRxiZRKBJDiKBpvJukq6/V2d4xAUX5oDz31J/AHunYiVD7m9Oa9+dq3mVHSURz/DsJXa+uv32xsRm+33r3/0Pi4femK0grsi0IV9joDh0pq7JMkhdfGIuSZwqtsdlbpVzdonSz0Bd0ZHOYw1XIiBZCnRo3FwUHU6rUv2t/b3VF8FPk0vXEzaXhiqM4mhQWluEml5r1O+quEMX9guxU78J2pBT1VuNSjFG/96Y53D5f6Y7V72DJHX2M/fdRoxp24Dv4cJCvQZKvojRp/0nEhyhw1CQXODZLY0HAOlqRQuIjS0qEBMYMpDjzUkKMbzmubFvxT6YAKbtByqXhN4v8dc8idu8szX5kD/XRPtYp8SRuUNDkZzqU2JaEW1SKSCutFTljp/Uc+lhaJoLocuTdFgAUitJKDEJ4s/YdE3o/k6eufg8vjTuLxj+Pm6beVMxtsj+2zFkvYF3bKzlmP9Zlgf4PNYDvYCe7D3ZCH+8vSMFj17LBHEX7+BykctWM=</latexit>

Page 24: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Dead nodes, intuitively

21

Given a marking M

A transition t is dead at M if t will never be enabled in the future

(i.e., t is not enabled in any marking reachable from M)

A place p is dead at M if p will never be marked in the future

(i.e., p is unmarked in any marking reachable from M)

Page 25: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Dead nodes

22

Definition: Let (P, T, F ) be a net system.

A transition t ⇤ T is dead at M if ⇧M � ⇤ [M ⌃.M � ⌅ t�⇥

A place p ⇤ P is dead at M if ⇧M � ⇤ [M ⌃.M �(p) = 0

Page 26: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Non-live vs Dead

23

If a transition is dead at some reachable marking M then it is non-live

If a place is dead at some reachable marking M then it is non-live

being non-live implies possibly becoming dead (but not necessarily in the current marking)

Page 27: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Some obvious facts

24

If a system is not live, it must have a transition dead at some reachable marking

If a system is not place-live, it must have a place dead at some reachable marking

If a place / transition is dead at M, then it remains dead at any marking reachable from M

(the set of dead nodes can only increase during a run)

Every transition in the pre- or post-set of a dead place is also dead

Page 28: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

True or false?

25

Every place in the pre- or post-set of a dead transition is also dead

Page 29: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness implies place-liveness

27

Proposition: Live systems are also place-live

Page 30: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness implies place-liveness

27

Proposition: Live systems are also place-live

Take any p and any t ⇤ •p ⌅ p•

Let M ⇤ [M0 ⇧

By liveness: there is M �,M �� ⇤ [M ⇧ s.t. M � t�⇥ M ��

Then M �(p) > 0 or M ��(p) > 0

Page 31: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Place liveness on the occurrence graph

28

A place p is live iff

From any node of the occurrence graph we can reach a node with a token in p

A place p is dead (at M0) iff

All the nodes of the occurrence graph have no token in p

Page 32: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Exercise

29

Draw a net that is place-live but not live

(if you can)

Page 33: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Deadlock-freedom

30

A Petri net is deadlock free, if every reachable marking enables some transition

In other words, we are guaranteed that at any point in time of the computation, some

transition can be fired

Page 34: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Deadlock-freedom illustrated

31

M0

Page 35: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Deadlock-freedom illustrated

31

M0 M

For any reachable marking M

Page 36: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Deadlock-freedom illustrated

31

M0 M

Can we fire some transition?

For any reachable marking M

Page 37: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Deadlock-freedom illustrated

31

M0 M

Can we fire some transition?

For any reachable marking M

M’t

Page 38: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Deadlock freedom, formally

32

(P, T, F,M0)

⌅M ⇤ [M0 ⌃, ⇧t ⇤ T, Mt�⇥

Page 39: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Deadlock-freedom: example

33

Is the net deadlock-free?

Page 40: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Deadlock freedom on the occurrence graph

35

A net is deadlock free iff

Every node of the occurrence graph has an outgoing arc

Page 41: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Question time

36

Does liveness imply deadlock-freedom? (Can you exhibit a live Petri net that is not deadlock-free?)

Does deadlock-freedom imply liveness? (Can you exhibit a deadlock-free net that is not live?)

Page 42: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness implies deadlock freedom

38

Lemma If (P, T, F,M0) is live, then it is deadlock-free

Page 43: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Liveness implies deadlock freedom

38

Lemma If (P, T, F,M0) is live, then it is deadlock-free

By contradiction, let M ⇤ [M0 ⌃, with M ⌅⇥

Let t ⇤ T (T cannot be empty).

By liveness, ⇧M � ⇤ [M ⌃ with M � t�⇥ .

Since M is dead, [M ⌃ = {M }.Therefore M = M � t�⇥, which is absurd.

Page 44: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Digression

39

Contraposition

P ) Q ⌘ (¬Q) ) ¬P

Page 45: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Exercises

40

Prove each of the following properties or give some counterexamples

If a system is not place-live, then it is not live

If a system is not live, then it is not place-live

If a system is place-live, then it is deadlock-free

If a system is deadlock-free, then it is place-live

Page 46: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

k-Boundedness

41

Let k be a natural number

A place p is k-bounded if no reachable marking has more than k tokens in place p

A net is k-bounded if all of its places are k-bounded

In other words, if a net is k-bounded, then k is a capacity constraint that can be imposed over places

without any risk of causing “overflow”

Page 47: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Safe nets

42

A place p is safe if it is 1-bounded

A net is safe if all of its places are safe

In other words, if the net is safe, then we know that, in any reachable marking, each place

contains one token at most

Page 48: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Boundedness

43

A place p is bounded if it is k-bounded for some natural number k

A net is bounded if all of its places are bounded

A net is unbounded if it is not bounded (i.e., there is at least one place in which any

number of tokens can appear)

Page 49: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Boundedness, formally

44

(P, T, F,M0)

⌅k ⇥ N, ⇤M ⇥ [M0 ⇧, ⇤p ⇥ P, M(p) � k

Page 50: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Boundedness: example

45

Which places are bounded? Is the net bounded?

Which places are safe? Is the net safe?

Page 51: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

A puzzle about reachability

47

Theorem: If a system is... then its reachability graph is finite

Theorem: A system is... iff its reachability graph is finite

(fill the dots and the proofs)

Page 52: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

A puzzle about reachability

48

Theorem: If a system is bounded then its reachability graph is finite

Theorem: A system is bounded iff its reachability graph is finite

(fill the dots and the proofs)

Page 53: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Boundedness implies finiteness

49

Theorem: If a system is bounded then its reachability graph is finite

Proof: if the system is bounded there exists k such that each place contains at most k tokens.

If there are n places it means that there are at most (k+1)n reachable markings.

Hence the occurrence graph has a finite number of nodes

Page 54: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Finiteness implies boundedness

50

Theorem: A system is bounded if its reachability graph is finite

Proof: for each node M we take kM be the maximum number of tokens in the same place.

Then we let k be the largest among all kM k = max {kM | M is a node of the graph}

(k exists because the reachability graph is finite)

Clearly the system is k-bounded and thus bounded

Page 55: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Cyclicity (aka Reversibility)

51

A marking M is a home marking if it can be reached from every reachable marking

A net is cyclic (or reversible) if its initial marking is a home marking

Page 56: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Orthogonal properties

52

Liveness, boundedness and cyclicity are independent of each other

In other words, you can find nets that satisfy any arbitrary combination of the above three properties

(and not the others)

Page 57: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Exercises

53

For each of the following nets, say if they are live, deadlock-free, bounded, safe, cyclic

Page 58: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Exercises

54

For each of the following nets, say if they are live, deadlock-free, bounded, safe, cyclic

Page 59: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Petri nets: structural properties

55

Page 60: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Structural properties

56

All the properties we have seen so far are behavioural (or dynamic)

(i.e. they depend on the initial marking and firing rules)

It is sometimes interesting to connect them to structural properties

(i.e. the shape of the graph representing the net)

This way we can give structural characterization of behavioural properties for a class of nets (computationally less expensive to check)

Page 61: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

A matter of terminology

57

To better reflect the above distinction, it is frequent:

to use the term net system for denoting a Petri net with a given initial marking

(we study behavioural properties of systems)

to use the term net for denoting a Petri net without specifying any initial marking (we study structural properties of nets)

Page 62: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Paths and circuits

58

A path of a net (P, T, F ) is a non-empty sequence x1x2...xk such that

(xi, xi+1) 2 F for every 1 i < k

(and we say that it leades from x1 to xk)

A path from x to y is called a circuit if:no element occurs more than once in it and (y, x) 2 F(since for any x we have (x, x) 62 F , hence a circuit involves at least two nodes)

s

Page 63: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Connectedness

59

A net (P,T,F) is weakly connected iff it does not fall into (two or more) unconnected parts

(i.e. no two subnets (P1,T1,F1) and (P2,T2,F2) with disjoint and non-empty sets of elements can be

found that partition (P,T,F))

A weakly connected net is strongly connected iff for every arc (x,y) there is a path from y to x

Page 64: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Connectedness, formally

60

A net (P, T, F ) is weakly connected if every two nodes x, y satisfy

(x, y) � (F ⇥ F�1)⇥

(i.e. if there is an undirected path from x to y)

It is strongly connected if (x, y) � F ⇥

(here the * denotes the reflexive and transitive closure of a binary relation)

(here the * denotes the reflexive and transitive closure of a binary relation)

Page 65: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

A note

61

In the following we will consider (implicitly) weakly connected nets only

(if they are not, then we can study each of their subsystems separately)

Page 66: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Question time

62

Is the net strongly connected?

Page 67: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Interference of conflicts and synch

63

!"#"$ %&''()*+,)'$ -'.&,$/'.0$ 1$

!"#$ %&''()*+,)'$ -'.&,$ /'.0$

-'.&,$ /'.0$*23'$2$42&5'$'67&'00,3'$7+8'&9$8*,)*$:2;'0$.*':$0<,.2=4'$.+$:+>'4$ 2$&,)*$

32&,'.?$ +@$>?/2:,)$ 0?0.':0"$ A0$ 2$)+/0'B<'/)'9$ .*'$ 2/24?0,0$ 245+&,.*:0$ @+&$ 2&=,.&2&?$

-'.&,$ /'.0$ 2&'$ =+</>$ .+$ *23'$ 2$ *,5*$ )+:74'6,.?$ C8*'/$ .*'?$ '6,0.D9$ 2/>$ ,.$ ,0$ /+.$

7+00,=4'$ .+$ >'3'4+7$ 2$)+:7&'*'/0,3'$ .*'+&?$ .*2.$ &'42.'0$ .*'$ 0.&<).<&'$ +@$ 2$-'.&,$ /'.$

.+$ ,.0$ ='*23,+<&"#$ E*'0'$ +=0.2)4'0$ )2/$ ='$ &':+3'>$ ,@$ 8'$ &'0.&,).$ +<&$ 2..'/.,+/$ .+$

)4200'0$+@$ -'.&,$ /'.0$ ,/$8*,)*$ ($ =?$:'2/0$+@$ )+/0.&2,/.0$ +/$ .*'$5&27*,)24$ 0.&<).<&'$ +@$

.*'$/'.$($ )'&.2,/$='*23,+<&$ ,0$&<4'>$+<."$ F/$G*27.'&$H$.8+$+@$.*'0'$)4200'0$2&'$0.<>,'>9$

)244'>$ I(0?0.':0$ 2/>$ E(0?0.':0"$ F/$ I(0?0.':09$ '3'&?$ .&2/0,.,+/$ *20$+/'$ ,/7<.$ 742)'$

2/>$+/'$+<.7<.$742)'9$2/>$.*'&'@+&'$0?/)*&+/,J2.,+/0$ 2&'$&<4'>$+<."$ K+.*$.*'$ 0.+&25'$

</,.$ 2/>$ .*'$ )+/.&+4$ </,.$ +@$ .*'$ 3'/>,/5$ :2)*,/'$ 2&'$ '62:74'0$ +@$ I(0?0.':0H"$ F/$

E(0?0.':09$ '3'&?$ 742)'$*20$+/'$ ,/7<.$ .&2/0,.,+/$ 2/>$ +/'$+<.7<.$ .&2/0,.,+/L$ )+/@4,).0$

2&'$ &<4'>$ +<."M$ E*'$ -'.&,$ /'.$ +=.2,/'>$ @&+:$ .*'$ 3'/>,/5$ :2)*,/'$ =?$ &':+3,/5$ .*'$

.&2/0,.,+/$ & ' N ' ) .$ )+ ,/$ 2/>$ ,.0$ 2>N2)'/.$ 2&)0$ ,0$2$ E(0?0.':"$

E*'$ .*'+&?$ +@$ I(0?0.':0$ ,0$3'&?$ 0,:74'"$ E(0?0.':0$ *23'$=''/$0.<>,'>$ 0,/)'$.*'$ '2&4?$

0'3'/.,'09$ 2/>$ 2&'$ .+>2?$ 3'&?$ 8'44$ </>'&0.++>"$ E*'0'$ .8+$ )4200'0$ 2&'$ 8'44$ 8,.*,/$

.*'$2/24?J2=,4,.?$ =+&>'&"$ E+$ 5'.$ )4+0'&$.+$ .*'$=+&>'&9$8'$244+8$=+.*$ 0?/)*&+/,J2.,+/$

2/>$ )+/@4,).9$ =<.$ ,/$ 0<)*$ 2$ 82?$ .*2.$ .*'?$ >+$ /+.$ O,/.'&@'&'O"$ A$ .?7,)24$ 0,.<2.,+/$

+@$ ,/.'&@'&'/)'$ ='.8''/$ 0?/)*&+/,J2.,+/$ 2/>$ )+/@4,).$ ,0$ 0*+8/$ ,/$ .*'$ -'.&,$ /'.$ +@$

%,5<&'$ !"1"$

%,1"$ !"1$ A$ -'.&,$ /'.$ ,/$8*,)*$ )+/@4,).0$ 2/>$0?/)*&+/,J2.,+/0$ ,/.'&@'&'$

E&2/0,.,+/0! "#$ 2/>! "$$ 2&'$ /+.$ ,/$ )+/@4,).9$ =')2<0'! "%$ )2//+.$ +))<&9$ =<.$ 8,44$ ='$ ,/$

)+/@4,).$ ,@$ 23$ +))<&0$ ='@+&'! "#&$ P+<5*4?$ 07'2;,/59$ ><'$ .+$ .*'$ 0?/)*&+/,J2.,+/$ 2.! "%'!

!"#$%$& $'()*& #(+#& ,-.$%& /-01,$'(*2& 3-456)& 756& $8$5& 456$/(673(,(*2& %$)4,*)& /-5/$%5(5+& 757,2)()&

7,+-%(*#0)& 9-%& 7%3(*%7%2& :$*%(& 5$*);&< "#$& %$7)-5& -9& *#$& 570$& =>?)2)*$0)=& ()& *#7*& 1,7/$)& 1,72& (5& *#$0& 7& 0-%$& (01-%*75*& %-,$& *#75&

*%75)(*(-5)@& 756& 1,7/$)& 7%$& /7,,$6! (")**)+& (5& A$%075& ?& *#$& ,75+47+$& (5& .#(/#& :$*%(& 5$*)& .$%$&

-%(+(57,,2& 6$9(5$6;&B "#$& /-58$%)$& 6-$)& 5-*& #-,6@& )$$& C'$%/()$$ !;B;&

.4$ ,!

Typical situation:

initially t1 and t2 are not in conflict

but when t3 fires they are in conflict (the firing of t3 is not controllable)

How to rule this situation out?

Page 68: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

S-systems / S-nets

64

A Petri net is called S-system if every transition has one input place and one output place

(S comes from Stellen, the German word for place)

This way any synchronization is ruled out

The theory of S-systems is very simple

Page 69: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

T-systems / T-nets

65

A Petri net is called T-system if every place has one input transition and one output transition

This way all choices/conflicts are ruled out

T-systems are concurrent but essentially deterministic

T-systems have been studied extensively since the early Seventies

Page 70: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Free-choice nets

66

The aim is to avoid that a choice between transitions is influenced by the rest of the system

Easiest way: keep places with more than one output transition apart

from transitions with more than one input place

In other words, if (p,t) is an arc, then it means that t is the only output transition of p (no conflict)

OR p is the only input place of t (no synch)

Page 71: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Free-choice systems / nets

67

But we can study a slightly more general class of nets by requiring a weaker constraint

A Petri net is free-choice if for any pair of transitions

their pre-sets are either disjoint or equal

or, equivalently, if for any pair of places

their post-sets are either disjoint or equal

Page 72: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Question time

68

Is the net an S-net, a T-net, free-choice?

Page 73: Business Processes Modelling MPB (6 cfu, 295AA)didawiki.cli.di.unipi.it/.../mpb/09-properties-2019.pdfProperties of Petri nets 4 We introduce some of the properties of Petri nets that

Free-choice

Exercises

!69

Prove that every S-net is free-choice

Prove that every T-net is free-choice

Show a free-choice net that is neither an S-net nor a T-net

S-nets T-nets