state space analysis: properties, reachability graph, and...

110
State Space Analysis: Properties, Reachability Graph, and Coverability graph prof.dr.ir. Wil van der Aalst

Upload: others

Post on 22-Aug-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

State Space Analysis: Properties, Reachability Graph, and Coverability graph

prof.dr.ir. Wil van der Aalst

Page 2: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 1

Outline

• Motivation• Formalization• Basic properties• Reachability graph• Coverability graph

Page 3: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Motivation

Page 4: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 3

Design-time analysis vs run-time analysis

(software) system

(process)model

eventlogs

modelsanalyzes

discovery

records events, e.g., messages,

transactions, etc.

specifies configures implements

analyzes

supports/controls

extension

conformance

“world”

people services

organizationscomponents

business processes

verification

performance analysis

validation

design-time analysis

run-time analysis

e.g., systems like WebSphere, Oracle, TIBCO/Staffware, SAP, FLOWer, etc.

e.g., dedicated formats such as IBM’s Common Event Infrastructure (CEI) and MXML or proprietary formats stored in flat files or database tables.

e.g. process models represented in BPMN, BPEL, EPCs, Petri nets, UML AD, etc. or other types of models such as social networks, organizational networks, decision trees, etc.

Page 5: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 4

Analysis of processes

linear algebraic analysis techniques

Markov chain analysis techniques

state-space analysis techniques

Petri net

....

Y

X

Z

Page 6: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 5

Generic questions

terminatingit has only finite occurrence sequencesdeadlock-freeeach reachable marking enables a transitionliveeach reachable marking enables an occurrence sequence containing all transitionsboundedeach place has an upper bound that holds for all reachable markings1-safe1 is a bound for each place s reversiblem0 is reachable from each reachable marking, i.e., the initial marking is a so-called home marking.

Page 7: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 6

Example

t1 t2

p1

p2

t3 t4

p5p3

p4

terminatingit has only finite occurrence sequencesdeadlock-freeeach reachable marking enables a transitionliveeach reachable marking enables an occurrence sequence containing all transitionsboundedeach place has an upper bound that holds for all reachable markings1-safe1 is a bound for each place s reversiblem0 is reachable from each reachable marking, i.e., the initial marking is a so-called home marking.

Page 8: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 7

Specific questions

t1 t2

p1

p2

t3 t4

p5p3

p4

Is it possible to have a token in both p2 and p5?Will t3 always take place?Will t3 always take place assuming "fairness"?Is it possible to execute t1 after t4?Can both p4 and p5 be empty at the same time?

Page 9: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 8

infinite state spacestate explosion problem

Page 10: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 9

Concepts

t1

p1

p2

(1,0)

t1

(1,2)

t1

(1,1)

t1

...

(1,0)t1

(1,ω)

t1

marked net reachability graph

coverability graph

Page 11: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 10

Relevant material

1. Jörg Desel, Wolfgang Reisig: Place/Transition Petri Nets. Petri Nets 1996: 122-173. DOI: 10.1007/3-540-65306-6_15 http://www.springerlink.com/content/x6hn592l35866lu8/fulltext.pdf

2. Tadao Murata, Petri Nets: Properties, Analysis and Applications, Proceedings of the IEEE. 77(4): 541-580, April, 1989. http://dx.doi.org/10.1109/5.24143 http://ieeexplore.ieee.org/iel1/5/911/00024143.pdf

3. Wil van der Aalst: Process Mining: Discovery, Conformance and Enhancement of Business Processes, Springer Verlag 2011 (chapters 1 & 5)

a) Chapter 1: DOI: 10.1007/978-3-642-19345-3_1 http://www.springerlink.com/content/p443h219v3u3537l/fulltext.pdf

b) Chapter 5: DOI: 10.1007/978-3-642-19345-3_5 http://www.springerlink.com/content/u58h17n3167p0x1u/fulltext.pdf

c) Events logs: http://www.processmining.org/book/

Today's focus is on 1 & 2.

Page 12: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Formalization

Note: refinement of earlier link between Petri net and transitions system (week 2/3) that is closer to standard literature.

Page 13: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 12

Basic Petri net

• P = {p1,p2}• T = {t1,t2}• F = {(p1,t1), (t1,p1),

(t1,p2), (p1,t2), (p2,t2)}

t1

p1

p2

t2

Page 14: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 13

Place transition net

• P = {p1,p2}• T = {t1,t2}• F = {(p1,t1), (t1,p2),

(p2,t2), (t2,p1)}• W(p1,t1)=2,

W(t1,p2)=2, W(p2,t2)=1, and W(t2,p1)=1

t1

p1

p2

t2

Page 15: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 14

Multi-sets

t1

p1

p2

t2

• M0(p1) = 2• M0(p2) = 3

Page 16: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 15

Operations on multi-sets

Page 17: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 16

Notation

t1

p1

p2

t2

• M0 = [p1,p1,p2,p2,p2] = [p12,p23] = 2[p1]+3[p2]

• also denoted as (2,3)

Page 18: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 17

Preset/postset

Page 19: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 18

Examples

t1

p1

p2

t2

• ●p1 = [t1]• p1● = [t1,t2]• ●p2 = [t1]• p2● = [t2]• ●t1 = [p1]• t1● = [p1,p2]• ●t2 = [p1,p2]• t2● = [ ]

t1

p1

p2

t2

• ●p1 = [t2]• p1● = [t12]• ●p2 = [t12]• p2● = [t2]• ●t1 = [p12]• t1● = [p22]• ●t2 = [p2]• t2● = [p1]

Page 20: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 19

Firing rule

t1

p1

p2

t2

Page 21: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 20

Notations

Desel/Reisig

Murata

Page 22: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 21

Notations: Firing rule

Desel/Reisig

Murata

Page 23: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Basic Properties

Page 24: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 23

Basic properties of a marked Petri net

Page 25: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 24

Terminating

t1

p1

p2

t2 t1

p1

p2

t2

Page 26: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 25

Deadlock-free

t1

p1

p2

t2 t1

p1

p2

t2

Page 27: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 26

Liveness

t1

p1

p2

t2 t1

p1

p2

t2

Page 28: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 27

Basic idea of liveness

markings where t is enabled

all reachable markings

Page 29: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 28

Boundedness

t1

p1

p2

t2

p1 is 1-bounded, p2 is 3-bounded

t1

p1

p2

t2

p1 is 1-bounded, p2 is unbounded

Page 30: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 29

Safeness

t1 t2

p1

p2

t3 t4

p5p3

p4p6

t1 t2

p1

p2

t3 t4

p5p3

p4p6

Page 31: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 30

Reversible/home marking.

t1

p1

p2

t2 t1

p1

p2

t2 t1

p1

p2

t2

[p2] is home marking

Page 32: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Reachability Graph

Page 33: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 32

Definition

M’ M’’t

Page 34: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 33

Reachability graph algorithm

1) Label the initial marking M0 as the root and tag it "new".2) While "new" markings exists, do the following:

a) Select a new marking M.b) If no transitions are enabled at M, tag M "dead-end".c) While there exist enabled transitions at M, do the following for

each enabled transition t at M:i. Obtain the marking M' that results from firing t at M.ii. If M' does not appear in the graph, add M' and tag it "new".iii. Draw an arc with label t from M to M' (if not already

present).3) Output the graph.

Page 35: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 34

Example

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4]Step 1: Label the initial marking M0 as the root and tag it "new" (indicated by green color).

Page 36: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 35

Example (continued)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4][p1,free,p4] [p2,free,p4]

t1

[p1,free,p5]

t4

Page 37: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 36

Example (continued)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5]

t4

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t4 t4

[p1,p3,p4]

t4

t2

Page 38: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 37

Example (continued)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t4 t4

[p1,p3,p4]

t4

t2[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t4 t4

[p1,p3,p4]

t4

t2

t1

Page 39: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 38

Example (continued)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t4 t4

[p1,p3,p4]

t4

t2

t1

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4]

[p1,p3,p5]

t2

t2

Page 40: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 39

Example (continued)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4]

[p1,p3,p5]

t2

t2

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4] [p2,p3,p4]

t1

[p1,p3,p5]

t4

t2

t2

Page 41: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 40

Example (continued)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4] [p2,p3,p4]

t1

[p1,p3,p5]

t4

t2

t2

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4] [p2,p3,p4]

t1

[p1,p3,p5] [p2,p3,p5]

t1

t4

t2

t2

t3t3

Page 42: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 41

Example (continued)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4] [p2,p3,p4]

t1

[p1,p3,p5] [p2,p3,p5]

t1

t4

t2

t2

t3t3

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4] [p2,p3,p4]

t1

[p1,p3,p5] [p2,p3,p5]

t1

t4t4

t2

t2

t3t3

Page 43: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 42

Example (continued)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4] [p2,p3,p4]

t1

[p1,p3,p5] [p2,p3,p5]

t1

t4t4

t2

t2

t3t3

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4] [p2,p3,p4]

t1

[p1,p3,p5] [p2,p3,p5]

t1

t4t4

t2

t2

t3t3

Page 44: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 43

Example (complete)

t1 t2

p1

p2

t3 t4

p5p3

p4free

[p1,free,p4] [p2,free,p4]

t1

[p1,free,p5] [p2,free,p5]

t1

t4 t4

[p1,p3,p4] [p2,p3,p4]

t1

[p1,p3,p5] [p2,p3,p5]

t1

t4t4

t2

t2

t3t3

• The marked Petri net is:deadlock free liveboundedsafe reversibleall markings are home markings

Page 45: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Coverability Graph

Page 46: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 45

Problem

t1

p1

p2

(1,0)

t1

(1,2)

t1

(1,1)

t1

...

ps. (n,m) is a shorthand for [p1n,p2m]

Page 47: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 46

Coverability tree algorithm

1) Label the initial marking M0 as the root and tag it "new".2) While "new" markings exists, do the following:

a) Select a new marking M and remove the "new" tag.b) If M is identical to a marking on the path from the root to M, then tag

M "old" and go to another new marking.c) If no transitions are enabled at M, tag M "dead-end".d) While there exist enabled transitions at M, do the following for each

enabled transition t at M:i. Obtain the marking M' that results from firing t at M.ii. If, on the path from the root to M, there exists a marking M'' such

that M'(p) ≥ M''(p) for each p and M'≠M'' (i.e., M'' is coverable), then replace M'(p) by ω for each p such that M'(p) > M''(p).

iii. Introduce M' as a node, draw an arc with label t from M to M', and tag M' "new".

3) Output the tree.

Page 48: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 47

Example

t1

p1

p2

Step 1: Label the initial marking M0 as the root and tag it "new" (indicated by green color).

[p1]

Page 49: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 48

Example (continued)

t1

p1

p2

[p1] [p1] [p1,p2]

t1

[p1,p2ω]

Step 2: While "new" markings exists, do the following:• Select a new marking M and remove the "new" tag.• If M is identical to a marking on the path from the root to M,

then tag M "old" and go to another new marking.• If no transitions are enabled at M, tag M "dead-end".• While there exist enabled transitions at M, do the

following for each enabled transition t at M:− Obtain the marking M' that results from firing t at M.− If, on the path from the root to M, there exists a

marking M'' such that M'(p) ≥ M''(p) for each p and M'≠M'' (i.e., M'' is coverable), then replace M'(p) by ωfor each p such that M'(p) > M''(p).

− Introduce M' as a node, draw an arc with label t from Mto M', and tag M' "new"

M'M

Page 50: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 49

Example (continued)

t1

p1

p2[p1]

t1

[p1,p2ω]

Step 2: While "new" markings exists, do the following:• Select a new marking M and remove the "new" tag.• If M is identical to a marking on the path from the root to M,

then tag M "old" and go to another new marking.• If no transitions are enabled at M, tag M "dead-end".• While there exist enabled transitions at M, do the

following for each enabled transition t at M:− Obtain the marking M' that results from firing t at M.− If, on the path from the root to M, there exists a

marking M'' such that M'(p) ≥ M''(p) for each p and M'≠M'' (i.e., M'' is coverable), then replace M'(p) by ωfor each p such that M'(p) > M''(p).

− Introduce M' as a node, draw an arc with label t from Mto M', and tag M' "new"

t1

[p1,p2ω]

t1

[p1,p2ω][p1]

ω+k = ω-k = ω

Page 51: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 50

Example (continued)

t1

p1

p2

Step 2: While "new" markings exists, do the following:• Select a new marking M and remove the "new" tag.• If M is identical to a marking on the path from the root to

M, then tag M "old" and go to another new marking.• If no transitions are enabled at M, tag M "dead-end".• While there exist enabled transitions at M, do the following for

each enabled transition t at M:− Obtain the marking M' that results from firing t at M.− If, on the path from the root to M, there exists a marking M''

such that M'(p) ≥ M''(p) for each p and M'≠M'' (i.e., M'' is coverable), then replace M'(p) by ω for each p such that M'(p) > M''(p).

− Introduce M' as a node, draw an arc with label t from M to M', and tag M' "new"

t1

[p1,p2ω]

t1

[p1,p2ω][p1]

t1

[p1,p2ω]

t1

[p1,p2ω][p1]

Page 52: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 51

Example (complete)

t1

p1

p2

t1

[p1,p2ω]

t1

[p1,p2ω][p1]

Step 3: Output the tree.

t1

[p1,p2ω][p1]t1

Coverability graph:

Page 53: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 52

Another example

t1

p1

p2

t2

p3

p4

[p1,p3]

[p1,p3]

t1

[p1,p2ω,p3]

[p1,p3,p4ω]

t2

Step 1: Label the initial marking M0 as the root and tag it "new" (indicated by green color).

Step 2 ...

Page 54: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 53

Example (continued)

t1

p1

p2

t2

p3

p4

[p1,p3]

t1

[p1,p2ω,p3]

[p1,p3,p4ω]

t2

[p1,p3]

t1

[p1,p3,p4ω]

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p3]

t1

[p1,p2ω,p3]

[p1,p3,p4ω]

t2

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

Page 55: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 54

Example (continued)

t1

p1

p2

t2

p3

p4

[p1,p3]

t1

[p1,p3,p4ω]

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p3]

t1

[p1,p3,p4ω]

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p3]

t1

[p1,p3,p4ω]

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

Page 56: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 55

Example (continued)

t1

p1

p2

t2

p3

p4

[p1,p3]

t1

[p1,p3,p4ω]

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p3]

t1

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2[p1,p3,p4ω]

[p1,p3]

t1

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p3,p4ω]

Page 57: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 56

Example (continued)

t1

p1

p2

t2

p3

p4

[p1,p3]

t1

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p3,p4ω]

4x

[p1,p3]

t1

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p3,p4ω]

Step 3: Output the tree.

Page 58: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 57

Example (complete)

t1

p1

p2

t2

p3

p4

[p1,p3]

t1

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p3,p4ω]

Coverability graph

t1

t2

t2

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t1

t1

t2

t2

t1[p1,p3,p4ω]

[p1,p3]

Page 59: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 58

Coverability graph

• Take the coverability tree and simply merge nodes with identical labels

t1

[p1,p2ω]

t1

[p1,p2ω][p1]

t1

[p1,p2ω][p1]t1

[p1,p3]

t1

t2

t1

[p1,p3,p4ω]

t2

[p1,p2ω,p3]

t1

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p2ω,p3,p4ω]

[p1,p2ω,p3,p4ω]

t1

t2

[p1,p3,p4ω] t1

t2

t2

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t1

t1

t2

t2

t1[p1,p3,p4ω]

[p1,p3]

Page 60: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 59

Another example

t1

p1

p2

(1,0)

t1

(1,2)

t1

(1,1)

(1,0)

t1

(1,ω)

t1

(1,ω)

t1

...

t2

(0,0)

(0,1)

t2

t2

(0,ω)t2

(1,0)t1

(1,ω) (0,ω)t2

t1

marked net reachability graph

coverability tree

coverability graph

ps. (n,m) is a shorthand for [p1n,p2m]

Page 61: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 60

ω-markings

t1

t2

t2

[p1,p2ω,p3]

[p1,p2ω,p3,p4ω]

t1

t1

t2

t2

t1[p1,p3,p4ω]

[p1,p3]

Page 62: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 61

Properties

• The coverability tree/graph is always finite.

• The marked Petri net is bounded if and only if the corresponding coverability tree/graph contains only ω-free markings.

• The coverability tree/graph gives an over-approximation.

• Different Petri nets may have the same coverability tree/graph.

Page 63: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 62

Basic relation between reachable markings and coverability tree/graph

t1

p1

p2

t2

(1,0)

t1

(1,ω)

t1

(1,ω) (0,ω)t2

Let n=180. There is a reachable marking with 0 tokens in p1 and at least 180 tokens in p2.

Page 64: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 63

Example (readers and writers)

t1 t2

p1

p2

t3 t4

p5p3

p4

construct coverability graph ...

Page 65: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Initial part

PAGE 64

t1 t2

p1

p2

t3 t4

p5p3

p4

[p1,p5][p2,p4]

[p1,p4]t1 t4

[p1,p3ω,p4]t1 t4

t2

[p2,p5]

t4

t2

[p2,p5]t1 t2 [p1,p3ω,p5]

[p2,p3ω,p5]t2 t3

t1 t3

Page 66: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 65

Coverability tree

t1 t2

p1

p2

t3 t4

p5p3

p4

[p1,p5][p2,p4]

[p1,p4]t1 t4

[p1,p3ω,p4]t1 t4

[p2,p3ω,p4] [p1,p3ω,p5]

t2

t2[p1,p3ω,p4] t4

[p2,p3ω,p5]t2 t3

[p1,p3ω,p5] [p2,p3ω,p4]t1

t3[p2,p3ω,p5] [p1,p3ω,p4]

t1 t3

[p2,p3ω,p5] [p1,p3ω,p4]

t2t3

[p1,p3ω,p5] [p2,p3ω,p4]t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]

[p2,p5]

t4

t2

[p1,p3,p5]

[p2,p3ω,p5] [p1,p4]

t2

[p1,p3ω,p5] [p2,p3ω,p4]t3

[p2,p3ω,p5] [p1,p3ω,p4]t1 t3

t1[p2,p3ω,p4] [p1,p3ω,p5]

t4

t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]

t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]

t1 t4[p2,p3ω,p4] [p1,p3ω,p5]

t1 t3

[p2,p3ω,p5] [p1,p3ω,p4]

[p2,p5]t1 t2 [p1,p3ω,p5]

[p2,p3ω,p5]t2 t3

[p1,p3ω,p5]

[p1,p3ω,p4]

t1

t4

[p1,p3ω,p5]

t1 t3

[p2,p3ω,p4]t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]

t1 t4[p2,p3ω,p4] [p1,p3ω,p5]

[p2,p3ω,p4]t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]t2 t3

[p1,p3ω,p5] [p2,p3ω,p4]

Page 67: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 66

Coverability graph

t1 t2

p1

p2

t3 t4

p5p3

p4

t1 t4

t4 t1

t1 t4

t4 t1

t2

t2

t2

t2

t3

t3

t1

t2

t3[p1,p5][p2,p4]

[p1,p4]

[p2,p5]

[p1,p3,p5]

[p1,p3ω,p4]

[p2,p3ω,p4] [p1,p3ω,p5]

[p2,p3ω,p5]

Page 68: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 67

[p1,p5][p2,p4]

[p1,p4]t1 t4

[p1,p3ω,p4]t1 t4

[p2,p3ω,p4] [p1,p3ω,p5]

t2

t2[p1,p3ω,p4] t4

[p2,p3ω,p5]t2 t3

[p1,p3ω,p5] [p2,p3ω,p4]t1

t3[p2,p3ω,p5] [p1,p3ω,p4]

t1 t3

[p2,p3ω,p5] [p1,p3ω,p4]

t2t3

[p1,p3ω,p5] [p2,p3ω,p4]t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]

[p2,p5]

t4

t2

[p1,p3,p5]

[p2,p3ω,p5] [p1,p4]

t2

[p1,p3ω,p5] [p2,p3ω,p4]t3

[p2,p3ω,p5] [p1,p3ω,p4]t1 t3

t1[p2,p3ω,p4] [p1,p3ω,p5]

t4

t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]

t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]

t1 t4[p2,p3ω,p4] [p1,p3ω,p5]

t1 t3

[p2,p3ω,p5] [p1,p3ω,p4]

[p2,p5]t1 t2 [p1,p3ω,p5]

[p2,p3ω,p5]t2 t3

[p1,p3ω,p5]

[p1,p3ω,p4]

t1

t4

[p1,p3ω,p5]

t1 t3

[p2,p3ω,p4]t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]

t1 t4[p2,p3ω,p4] [p1,p3ω,p5]

[p2,p3ω,p4]t2 t4

[p1,p3ω,p4] [p2,p3ω,p5]t2 t3

[p1,p3ω,p5] [p2,p3ω,p4]

t1 t4

t4 t1

t1 t4

t4 t1

t2

t2

t2

t2

t3

t3

t1

t2

t3[p1,p5][p2,p4]

[p1,p4]

[p2,p5]

[p1,p3,p5]

[p1,p3ω,p4]

[p2,p3ω,p4] [p1,p3ω,p5]

[p2,p3ω,p5]

t1 t2

p1

p2

t3 t4

p5p3

p4

Page 69: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 68

Coverability graph (vector notation)

(1,0,0,1,0)

(0,1,0,1,0) (1,0,0,0,1)

t1

(0,1,0,0,1)

t4

t4 t1

(1,0,ω,1,0)

(0,1,ω,1,0) (1,0,ω,0,1)

t1

(0,1,ω,0,1)

t4

t4 t1

(1,0,1,0,1)t2

t2

t2

t2

t3

t3

t1

t2

t3

t1 t2

p1

p2

t3 t4

p5p3

p4

Page 70: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 69

Analysis results

• p1, p2, p4, p5 are safe• p3 is unbounded• [p2,p5] is reachable• [p1,p2] is not reachable• [p1,p3180,p5] is coverable

t1 t2

p1

p2

t3 t4

p5p3

p4

t1 t4

t4 t1

t1 t4

t4 t1

t2

t2

t2

t2

t3

t3

t1

t2

t3[p1,p5][p2,p4]

[p1,p4]

[p2,p5]

[p1,p3,p5]

[p1,p3ω,p4]

[p2,p3ω,p4] [p1,p3ω,p5]

[p2,p3ω,p5]

Page 71: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 70

Additional properties

• A transition t is dead if and only if if does not appear in the coverability graph.

• The coverability graph and reachability graph are identical if the marked Petri net is bounded (i.e., only ω-free markings).

• The marked Petri net is safe if only 0's and 1's appear in nodes.

• Any firing sequence of the marked Petri net can be matched by a "walk" through the coverability graph.

• The reverse is not true!!!!

Page 72: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 71

Limitation: Loss of information

t1

p1

p2 t1

[p1,p2ω][p1]t1

t1

p1

p2

Two nets with the same coverability graph!

{[p1],[p1,p23], [p1,p26], [p1,p29], [p1,p212], ...}

{[p1],[p1,p21], [p1,p22], [p1,p23], [p1,p24], ...}

Page 75: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 74

Variants

• Construct the coverability graph on the fly (i.e., do not first construct the coverability tree): the graph may become smaller but process is typically non-deterministic.

• Several approaches have been proposed to construct "minimal" coverability graphs/sets(see "Alain Finkel: The Minimal Coverability Graph for Petri Nets. Applications and Theory of Petri Nets 1991: 210-243", and "Gilles Geeraerts, Jean-François Raskin, Laurent Van Begin: On the Efficient Computation of the Minimal Coverability Set for Petri Nets. ATVA 2007: 98-113")

Page 76: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Conclusion

Page 78: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 77

After this lecture you should be able to:

• Understand the formalizations, i.e., (P,T,F,W), M, (N,M)[t>(N,M'), etc.• Determine whether a concrete marked net is terminating, deadlock-

free, live, bounded, safe, and/or reversible, whether a transition is live and/or dead, whether a place is k-bounded, etc.

• Construct a Petri net that has a set of desirable properties, e.g., a net that is live and bounded but not reversible.

• Construct the reachability graph of a marked net.• Construct the coverability tree of a marked net.• Construct the coverability graph of a marked net.• Tell which properties can(not) be derived from the coverability

tree/graph.• Understand the limitations of the coverability tree/graph (loss of

information, inability to decide liveness, etc.).• Derive conclusions from a concrete coverability tree/graph.

Page 79: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Appendix: Formalization of Coverability Graph based on Desel & Reisig

Page 80: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 79

Coverability tree & graph

• Idea: cut-off unbounded behavior using omega (ω) markings

(1,0, ω,1, ω ,1,2,0)

Page 81: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 80

Trivial example

t1

p1

p2

(1,0)

t1

(1,2)

t1

(1,1)

(1,0)

t1

(1,ω)

t1

(1,ω)

t1

...

(1,0)t1

(1,ω)

t1

marked net reachability graph

coverability tree

coverability graph

Page 82: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 81

Extended example

t1

p1

p2

(1,0)

t1

(1,2)

t1

(1,1)

(1,0)

t1

(1,ω)

t1

(1,ω)

t1

...

t2

(0,0)

(0,1)

t2

t2

(0,ω)t2

(1,0)t1

(1,ω) (0,ω)t2

t1

marked net reachability graph

coverability tree

coverability graph

Page 83: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 82

Approach

1. Define omega (ω) occurrence sequences.2. Show that these are finite.3. Construct coverability tree4. Construct coverability graph

t1

p1

p2

(1,0)

t1

(1,ω)

t1

(1,ω)t2

(0,ω)t2

(1,0)t1

(1,ω) (0,ω)t2

t1

marked netω-occurrence

sequencescoverability

treecoverability

graph

(1,0)t1

(1,ω)

(1,0)

t1

(1,ω)

t1

(1,ω)

(1,0)

t2

(0,ω)

t1

(1,ω)

Page 84: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 83

Example of a ω-occurrence sequence

• ω-occurrence sequence: t1 t1• (1,0) -t1-> (1,ω) -t1-> (1, ω)

t1

p1

p2

t2

marked net

(1,0)

t1

(1,ω)

t1

(1,ω)

Page 85: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 84

Page 86: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 85

(1) Transitions need to be enabled

t1

p1

p2

t2

marked netω-occurrence

sequences

(1,0)t1

(1,ω)

(1,0)

t1

(1,ω)

t1

(1,ω)

(1,0)

t2

(0,ω)

t1

(1,ω) Only t1 is enabled in (1,0), not t2.

Page 87: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 86

(2) For non-ω place markings: business as usual

t1

p1

p2

t2

marked netω-occurrence

sequences

(1,0)

t1

(0,1)

Page 88: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 87

(3) Introducing omegas

t1

p1

p2

t2

marked netω-occurrence

sequences

(1,0)t1

(1,ω)

(1,0)

t1

(1,ω)

t1

(1,ω)

(1,0)

t2

(0,ω)

t1

(1,ω)

(1,ω) is "reachable" from (1,0) because there is a j (j=0) such that ...

Page 89: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 88

(4) Stop after second identical marking

t1

p1

p2

t2

marked netω-occurrence

sequences

(1,0)t1

(1,ω)

(1,0)

t1

(1,ω)

t1

(1,ω)

(1,0)

t2

(0,ω)

t1

(1,ω)

(1,0)

t1

(1,ω)

t1

(1,ω)

t2

(0,ω)

Marking (0,ω) is dead while (1,ω) markings are not continued after second occurrence.

Page 91: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 90

Dickson's Lemma (1874-1954)

1000

1100

0110

0011

0011

1001

1101

0111

0012

0012

1002

1102

0112

0013

φ1 φ2 φ3 φ4 φ5 φ6 φ7 φ8 φ9 φ10 φ11 φ12 φ13 φ14

1000

1100

0110

0011

0011

1001

1101

0111

0012

0012

1002

1102

0112

0013

φ1 φ2 φ3 φ4 φ5 φ6 φ7 φ8 φ9 φ10 φ11 φ12 φ13 φ14

Page 92: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 91

Page 93: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 92

Page 94: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 93

Coverability tree(1,0)

t1

(1,ω)

t1

(1,ω) (0,ω)t2

ω-occurrence sequences

coverability tree

(1,0)t1

(1,ω)

(1,0)

t1

(1,ω)

t1

(1,ω)

(1,0)

t2

(0,ω)

t1

(1,ω)

Diagrams are a bit misleading: vertices labeled with a ω-marking are really sequences, e.g., initial node is ε rather than (1,0).

Page 95: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 94

Finiteness

Page 96: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 95

Example

Page 97: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 96

Marking graph (i.e., reachability graph)

Page 98: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 97

Coverability tree

find the error (also in paper)...

Page 99: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 98

Relation ω-markings and normal markings

t1

p1

p2

t2

(1,0)

t1

(1,ω)

t1

(1,ω) (0,ω)t2

Let b=180. There is a marking reachable with 0 tokens in p1 and at least 180 tokens in p2.

Page 100: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 99

Boundedness = "all ω-markings are ω-free"

Page 101: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 100

b-boundedness

t1

p1

p2

t2

(1,0)

t1

(1,ω)

t1

(1,ω) (0,ω)t2

p1 is 1-boundned (safe)p2 is unbounded

Page 102: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 101

Dead transitions do not appear in cov. tree

Page 103: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 102

Coverability graph (versus cov. tree)

(1,0)

t1

(1,ω)

t1

(1,ω) (0,ω)t2

(1,0)t1

(1,ω) (0,ω)t2

t1

coverability tree

coverability graph

Page 104: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 103

Boundedness implies equivalence

Page 105: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

Appendix: Examples taken from Murata

Page 106: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 105

Coverability tree

(same as before)

Page 107: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 106

Example

Page 108: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 107

Properties

Page 109: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 108

Coverability graph

Page 110: State Space Analysis: Properties, Reachability Graph, and …cpntools.org/wp-content/uploads/2018/01/covgraph.pdf · 2018. 1. 16. · represented in BPMN, BPEL, EPCs, Petri nets,

PAGE 109