petri nets refresher

31
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management, Department of Information and Technology, P.O.Box 513, NL-5600 MB, Eindhoven, The Netherlands.

Upload: kenyon-oneill

Post on 31-Dec-2015

47 views

Category:

Documents


1 download

DESCRIPTION

Petri nets refresher. Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management, Department of Information and Technology, P.O.Box 513, NL-5600 MB, Eindhoven, The Netherlands. Elements. Rules. Connections are directed. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Petri nets refresher

/faculteit technologie management

PN-1

Petri netsrefresher

Prof.dr.ir. Wil van der AalstEindhoven University of Technology, Faculty of Technology Management,

Department of Information and Technology, P.O.Box 513, NL-5600 MB,

Eindhoven, The Netherlands.

Page 2: Petri nets refresher

/faculteit technologie management

PN-2

Elements

(name)

(name)

place

transition

arc (directed connection)

token

t34 t43

t23 t32

t12 t21

t01 t10

p4

p3

p2

p1

p0

place

transition

token

Page 3: Petri nets refresher

/faculteit technologie management

PN-3

Rules

• Connections are directed.

• No connections between two places or two transitions.

• Places may hold zero or more tokens.

• First, we consider the case of at most one arc between two nodes.

wait enter before make_picture after leave gone

free

occupied

Page 4: Petri nets refresher

/faculteit technologie management

PN-4

Page 5: Petri nets refresher

/faculteit technologie management

PN-5

Enabled

• A transition is enabled if each of its input places contains at least one token.

wait enter before make_picture after leave gone

free

occupied

enabled Not enabled

Not enabled

Page 6: Petri nets refresher

/faculteit technologie management

PN-6

Firing

• An enabled transition can fire (i.e., it occurs).

• When it fires it consumes a token from each input place and produces a token for each output place.

wait enter before make_picture after leave gone

free

occupied

fired

Page 7: Petri nets refresher

/faculteit technologie management

PN-7

Page 8: Petri nets refresher

/faculteit technologie management

PN-8

Play “Token Game”

• In the new state, make_picture is enabled. It will fire, etc.

wait enter before make_picture after leave gone

free

occupied

Page 9: Petri nets refresher

/faculteit technologie management

PN-9

Page 10: Petri nets refresher

/faculteit technologie management

PN-10

Page 11: Petri nets refresher

/faculteit technologie management

PN-11

Page 12: Petri nets refresher

/faculteit technologie management

PN-12

Page 13: Petri nets refresher

/faculteit technologie management

PN-13

Remarks

• Firing is atomic.

• Multiple transitions may be enabled, but only one fires at a time, i.e., we assume interleaving semantics (cf. diamond rule).

• The number of tokens may vary if there are transitions for which the number of input places is not equal to the number of output places.

• The network is static.

• The state is represented by the distribution of tokens over places (also referred to as marking).

Page 14: Petri nets refresher

/faculteit technologie management

PN-14

Non-determinism

t34 t43

t23 t32

t12 t21

t01 t10

p4

p3

p2

p1

p0

transition t23fires

t34 t43

t23 t32

t12 t21

t01 t10

p4

p3

p2

p1

p0

Two transitions are enabled but only one can fire

Page 15: Petri nets refresher

/faculteit technologie management

PN-15

Page 16: Petri nets refresher

/faculteit technologie management

PN-16

Example: Single traffic light rg

go

or

red

green

orange

Page 17: Petri nets refresher

/faculteit technologie management

PN-17

Page 18: Petri nets refresher

/faculteit technologie management

PN-18

Two traffic lights

rg

go

or

red

green

orange

rg

go

or

red

green

orange

rg

go

or

red

green

orange

OR

Page 19: Petri nets refresher

/faculteit technologie management

PN-19

Problem

Page 20: Petri nets refresher

/faculteit technologie management

PN-20

Solution

rg1

go1

or1

r1

g1

o1

rg2

go2

or2

r2

g2

o2

x

How to make them alternate?

Page 21: Petri nets refresher

/faculteit technologie management

PN-21

Page 22: Petri nets refresher

/faculteit technologie management

PN-22

Playing the “Token Game” on the Internet

• Applet to build your own Petri nets and execute them: http://is.tm.tue.nl/staff/wvdaalst/workflowcourse/pn_applet/pn_applet.htm

• FLASH animations: www.workflowcourse.com

Page 23: Petri nets refresher

/faculteit technologie management

PN-23

Exercise: Train system (1)

• Consider a circular railroad system with 4 (one-way) tracks (1,2,3,4) and 2 trains (A,B). No two trains should be at the same track at the same time and we do not care about the identities of the two trains.

Page 24: Petri nets refresher

/faculteit technologie management

PN-24

Exercise: Train system (2)

• Consider a railroad system with 4 tracks (1,2,3,4) and 2 trains (A,B). No two trains should be at the same track at the same time and we want to distinguish the two trains.

Page 25: Petri nets refresher

/faculteit technologie management

PN-25

Exercise: Train system (3)

• Consider a railroad system with 4 tracks (1,2,3,4) and 2 trains (A,B). No two trains should be at the same track at the same time. Moreover the next track should also be free to allow for a safe distance. (We do not care about train identities.)

Page 26: Petri nets refresher

/faculteit technologie management

PN-26

Exercise: Train system (4)

• Consider a railroad system with 4 tracks (1,2,3,4) and 2 trains. Tracks are free, busy or claimed. Trains need to claim the next track before entering.

Page 27: Petri nets refresher

/faculteit technologie management

PN-27

Modeling problem

Page 28: Petri nets refresher

/faculteit technologie management

PN-28

Modeling problem (1): Zero testing

• Transition t should fire if place p is empty.

t ?

p

Page 29: Petri nets refresher

/faculteit technologie management

PN-29

Solution

• Only works if place is N-bounded

tN input and output arcs

Initially there are N tokens

p

p’

Page 30: Petri nets refresher

/faculteit technologie management

PN-30

Modeling problem (2): Priority

• Transition t1 has priority over t2

t1

t2

?

Hint: similar to Zero testing!

Page 31: Petri nets refresher

/faculteit technologie management

PN-31

A bit of theory

• Extensions have been proposed to tackle these problems, e.g., inhibitor arcs.

• These extensions extend the modeling power (Turing completeness*).

• Without such an extension not Turing complete.• Still certain questions are difficult/expensive to

answer or even undecidable (e.g., equivalence of two nets).

* Turing completeness corresponds to the ability to execute any computation.