Ling-IntroToPetriNet..

Download Report

Transcript Ling-IntroToPetriNet..

An Introduction to Petri Nets
By
Chris Ling
Introduction
 First introduced by Carl Adam Petri in
1962.
 A diagrammatic tool to model concurrency
and synchronization in distributed systems.
 Used as a visual communication aid to
model the system behaviour.
 Based on strong mathematical foundation.
(C) Copyright 2001, Chris Ling
Example: EFTPOS System (FSM)
Initial
1 digit
d1
1 digit
d2
1 digit
d3
1 digit
d4
OK
OK
OK
OK
Rejected
Initial state
Final state
(C) Copyright 2001, Chris Ling
OK
OK
pressed
Reject
Approved
Example: EFTPOS System (A Petri net)
1 digit
Initial
1 digit
d1
1 digit
d2
1 digit
d4
d3
OK
OK
OK
OK
OK
OK
pressed
Rejected!
Reject
approve
approved
(C) Copyright 2001, Chris Ling
EFTPOS Systems
 Scenario 1: Normal
 Scenario 2: Exceptional (Enters only 3
digits)
(C) Copyright 2001, Chris Ling
Example: EFTPOS System (Token Games)
1 digit
Initial
1 digit
d1
1 digit
d2
1 digit
d4
d3
OK
OK
OK
OK
OK
OK
pressed
Rejected!
Reject
approve
approved
(C) Copyright 2001, Chris Ling
A Petri Net Specification ...
 consists of three types of components:
places (circles), transitions (rectangles) and
arcs (arrows):
– Places represent possible states of the system;
– Transitions are events or actions which cause
the change of state; And
– Every arc simply connects a place with a
transition or a transition with a place.
(C) Copyright 2001, Chris Ling
A Change of State …
 is a movement of token(s) (black dots) from
place(s) to place(s); and is caused by the
firing of a transition.
 The firing represents an occurrence of the
event.
 The firing is subject to the input conditions,
denoted by the tokens available.
(C) Copyright 2001, Chris Ling
A Change of State
 A transition is firable or enabled when there
are sufficient tokens in its input place.
 After firing, tokens will be transferred from
the input places (old state) to the output
places, denoting the new state.
(C) Copyright 2001, Chris Ling
Example: Vending Machine
 The machine dispenses two kinds of snack
bars – 20c and 15c.
 Only two types of coins can be used
– 10c coins and 5c coins.
 The machine does not return any change.
(C) Copyright 2001, Chris Ling
Example: Vending Machine (Finite State Machine)
Take 15c snack bar
5 cents
Deposit 10c
15 cents
0 cent
10 cents
Deposit 10c
Take 20c snack bar
(C) Copyright 2001, Chris Ling
20 cents
Example: Vending Machine (A Petri net)
Take 15c bar
Deposit 10c
5c
15c
Deposit 5c
Deposit
0c
5c
Deposit 10c
Deposit
5c
20c
10c
Deposit 10c
Take 20c bar
(C) Copyright 2001, Chris Ling
Deposit
5c
Example: Vending Machine (3 Scenarios)
 Scenario 1:
– Deposit 5c, deposit 5c, deposit 5c, deposit 5c,
take 20c snack bar.
 Scenario 2:
– Deposit 10c, deposit 5c, take 15c snack bar.
 Scenario 3:
– Deposit 5c, deposit 10c, deposit 5c, take 20c
snack bar.
(C) Copyright 2001, Chris Ling
Example: Vending Machine (Token Games)
Take 15c bar
Deposit 10c
5c
15c
Deposit 5c
Deposit
0c
5c
Deposit 10c
Deposit
5c
20c
10c
Deposit 10c
Take 20c bar
(C) Copyright 2001, Chris Ling
Deposit
5c
Example: In a Restaurant (A Petri Net)
Waiter
free
Customer 1
Customer 2
Take
order
Take
order
wait
Order
taken
wait
eating
eating
Serve food
(C) Copyright 2001, Chris Ling
Tell
kitchen
Serve food
Example: In a Restaurant (Two Scenarios)
 Scenario 1:
– Waiter takes order from customer 1; serves
customer 1; takes order from customer 2; serves
customer 2.
 Scenario 2:
– Waiter takes order from customer 1; takes order
from customer 2; serves customer 2; serves
customer 1.
(C) Copyright 2001, Chris Ling
Example: In a Restaurant (Scenario 1)
Waiter
free
Customer 1
Customer 2
Take
order
Take
order
wait
Order
taken
wait
eating
eating
Serve food
(C) Copyright 2001, Chris Ling
Tell
kitchen
Serve food
Example: In a Restaurant (Scenario 2)
Waiter
free
Customer 1
Customer 2
Take
order
Take
order
wait
Order
taken
wait
eating
eating
Serve food
(C) Copyright 2001, Chris Ling
Tell
kitchen
Serve food
What is a Petri Net Structure
 A directed, weighted, bipartite graph
G = (V,E)
– Nodes (V)
• places (shown as circles)
• transitions (shown as bars)
– Arcs (E)
• from a place to a transition or from a transition to a
place
• labelled with a weight (a positive integer, omitted if
it is 1)
(C) Copyright 2001, Chris Ling
Marking
 Marking (M)
– An m-vector (k0,k1,…,km)
• m: the number of places
• ki >= 0: the number of “tokens” in place pi
(C) Copyright 2001, Chris Ling
A marking is a state ...
t8
p4
t4
p2
t1
p1
t3
t5
t7
M0 = (1,0,0,0,0)
M1 = (0,1,0,0,0)
M2 = (0,0,1,0,0)
M3 = (0,0,0,1,0)
M4 = (0,0,0,0,1)
Initial marking:M0
t6
t2
p3
(C) Copyright 2001, Chris Ling
t9
p5
Another Example
 A producer-consumer system, consist of one
producer, two consumers and one storage buffer
with the following conditions:
– The storage buffer may contain at most 5 items;
– The producer sends 3 items in each production;
– At most one consumer is able to access the storage
buffer at one time;
– Each consumer removes two items when accessing the
storage buffer
(C) Copyright 2001, Chris Ling
A Producer-Consumer Example
 In this Petri net, every place has a capacity
and every arc has a weight.
 This allows multiple tokens to reside in a
place.
(C) Copyright 2001, Chris Ling
A Producer-Consumer System
k=2
k=1
accepted
ready
p1
produce
3
t2
t1
p4
Buffer p3
2
accept
t3
t4
send
p2
k=5
p5
idle
ready
k=1
k=2
Producer
Consumers
(C) Copyright 2001, Chris Ling
consume
A Producer-Consumer System
k=2
k=1
accepted
ready
p1
produce
3
t2
t1
p4
Buffer p3
2
accept
t3
t4
send
p2
k=5
p5
idle
ready
k=1
k=2
Producer
Consumers
(C) Copyright 2001, Chris Ling
consume
A Producer-Consumer System
k=2
k=1
accepted
ready
p1
produce
3
t2
t1
p4
Buffer p3
2
accept
t3
t4
send
p2
k=5
p5
idle
ready
k=1
k=2
Producer
Consumers
(C) Copyright 2001, Chris Ling
consume
A Producer-Consumer System
k=2
k=1
accepted
ready
p1
produce
3
t2
t1
p4
Buffer p3
2
accept
t3
t4
send
p2
k=5
p5
idle
ready
k=1
k=2
Producer
Consumers
(C) Copyright 2001, Chris Ling
consume
A Producer-Consumer System
k=2
k=1
accepted
ready
p1
produce
3
t2
t1
p4
Buffer p3
2
accept
t3
t4
send
p2
k=5
p5
idle
ready
k=1
k=2
Producer
Consumers
(C) Copyright 2001, Chris Ling
consume
A Producer-Consumer System
k=2
k=1
accepted
ready
p1
produce
3
t2
t1
p4
Buffer p3
2
accept
t3
t4
send
p2
k=5
p5
idle
ready
k=1
k=2
Producer
Consumers
(C) Copyright 2001, Chris Ling
consume
Formal Definition of Petri Net
N = (P, T, F, W) is a Petri net structure
A Petri net with the given initial marking is denoted by (N, M0 )
(C) Copyright 2001, Chris Ling
Formal Definition of Petri Net
(C) Copyright 2001, Chris Ling
Inhibitor Arc
 Elevator Button (Figure 10.21)
Press
Button
Button Pressed
Elevator in
action
At Floor f
At Floor g
(C) Copyright 2001, Chris Ling
Net Structures
 A sequence of events/actions:
e1
e2
e3
 Concurrent executions:
e2
e3
e4
e5
e1
(C) Copyright 2001, Chris Ling
Net Structures
 Non-deterministic events - conflict, choice
or decision: A choice of either e1 or e3.
e1
e2
e3
e4
(C) Copyright 2001, Chris Ling
Net Structures
 Synchronization
e1
(C) Copyright 2001, Chris Ling
Net Struture – Confusion
Murata (1989)
(C) Copyright 2001, Chris Ling
Modelling Examples
 Finite State Machines
 Parallel Activities
 Dataflow Computation
 Communication Protocols
 Synchronisation Control
 Producer Consumer Systems
 Multiprocessor Systems
(C) Copyright 2001, Chris Ling
Properties
 Behavioural properties
– Properties hold given an initial marking
 Structural properties
– Independent of initial markings
– Relies on the topology of the net structure.
(C) Copyright 2001, Chris Ling
Behavioural Properties
 Reachability
 Boundedness
 Liveness
 Reversibility
 Coverability
 Etc....
(C) Copyright 2001, Chris Ling
Reachability
t8
p4
t4
M0 = (1,0,0,0,0)
p2
M1 = (0,1,0,0,0)
t1
M2 = (0,0,1,0,0)
p1
t3
t7
t5
p3
M4 = (0,0,0,0,1)
t6
t2
M3 = (0,0,0,1,0)
p5
Initial marking:M0
t9
M0
t1
M1
t3
(C) Copyright 2001, Chris Ling
M2
t5
M3
t8
M0
t2
M2
t6
M4
Reachability
A firing or occurrence sequence:
M0
t1
M1
t3
M2
t5
M3
t8
M0
t2
M2
t6
M4
 “M2 is reachable from M1 and M4 is
reachable from M0.”
 In fact, in the vending machine example, all
markings are reachable from every marking.
(C) Copyright 2001, Chris Ling
Reachability
 Reachability or Coverability Tree
M0
t2
t1
t9
t8
t3
M1
M2
t4
t5
t6
t7
M3
(C) Copyright 2001, Chris Ling
M4
Boundedness
 A Petri net is said to be k-bounded or
simply bounded if the number of tokens in
each place does not exceed a finite number
k for any marking reachable from M0.
 The Petri net for vending machine is 1bounded and the Petri net for the producerconsumer system is not bounded.
 A 1-bounded Petri net is also safe.
(C) Copyright 2001, Chris Ling
Liveness
 A Petri net with initial marking M0 is live
if, no matter what marking has been reached
from M0, it is possible to ultimately fire any
transition by progressing through some
further firing sequence.
 A live Petri net guarantees deadlock-free
operation, no matter what firing sequence is
chosen.
(C) Copyright 2001, Chris Ling
Liveness
 The vending machine is live and the
producer-consumer system is also live.
 A transition is dead if it can never be fired
in any firing sequence.
(C) Copyright 2001, Chris Ling
An Example
t1
p3
p2
p1
t2
t3
t4
p4
M0 = (1,0,0,1)
M1 = (0,1,0,1)
M2 = (0,0,1,0)
M3 = (0,0,0,1)
A bounded but non-live Petri net
(C) Copyright 2001, Chris Ling
Another Example
M0 = (1, 0, 0, 0, 0)
p1
M1 = (0, 1, 1, 0, 0)
M2 = (0, 0, 0, 1, 1)
t1
M3 = (1, 1, 0, 0, 0)
p2
p3
t2
t3
p4
p5
t4
(C) Copyright 2001, Chris Ling
M4 = (0, 2, 1, 0, 0)
An unbounded but live Petri net
Structural Properties
 Structurally live
– There exists a live initial marking for N

Controllability
– Any marking is reachable for any other marking
 Structural Boundedness
– Bounded for any finite initial marking
 Conservativeness
– Total number of tokens in the net is a constant
(C) Copyright 2001, Chris Ling
Net Structures
Subclasses of Petri Nets (PN):
•State Machine (SM)
•Marked Graph (MG)
•Free Choice (FC)
•Extended Free Choice (EFC)
•Asymmetric Choice (AC)
(C) Copyright 2001, Chris Ling
Analysis Methods
 Reachability Analysis:
– Reachability or coverability tree.
– State explosion problem.
 Incidence Matrix and State Equations.
 Structural Analysis
– Based on net structures.
(C) Copyright 2001, Chris Ling
Analysis Methods
 Reduction Rules:
– reduce the model to a simpler one. For
example:
(C) Copyright 2001, Chris Ling
Other Types of Petri Nets
 High-level Petri nets
– Tokens have “colours”, holding complex
information.
 Timed Petri nets
– Time delays associated with transitions and/or
places.
– Fixed delays or interval delays.
– Stochastic Petri nets: exponentially distributed
random variables as delays.
(C) Copyright 2001, Chris Ling
Other Types of Petri Nets
 Object-Oriented Petri nets
– Tokens are instances of classes, moving from
one place to another, calling methods and
changing attributes.
– Net structure models the inner behaviour of
objects.
– The purpose is to use object-oriented constructs
to structure and build the system.
(C) Copyright 2001, Chris Ling
My Thesis
Title: Petri net modelling and analysis of real-time systems
based on net structure [manuscript] / by Sea Ling (1998)
Monash University. Thesis.
Monash University. School of Computer Science and
Software Engineering.
Publication notes: Thesis (Ph.D.)--Monash University, 1998.
(C) Copyright 2001, Chris Ling
Other works
 Business processes and workflows
– Wil van der Aalst
 Petri net markup language (PNML)
 Agent technology
 SOA and Web services
 Grid
(C) Copyright 2001, Chris Ling
References
 Murata, T. (1989, April). Petri nets: properties, analysis
and applications. Proceedings of the IEEE, 77(4), 541-80.
 Peterson, J.L. (1981). Petri Net Theory and the Modeling
of Systems. Prentice-Hall.
 Reisig, W and G. Rozenberg (eds) (1998). Lectures on
Petri Nets 1: Basic Models. Springer-Verlag.
 The World of Petri nets:
http://www.daimi.au.dk/PetriNets/
(C) Copyright 2001, Chris Ling