Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net...

48
Petri Nets Lecturer: Roohollah Abdipour

Transcript of Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net...

Page 1: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

Petri Nets

Lecturer: Roohollah Abdipour

Page 2: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

2

Agenda

• Introduction • Petri Net• Modelling with Petri Net• Analysis of Petri net

Page 3: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

3

Introduction

• Techniques for Evaluating SW / HW:– Simulation– Testing– Deductive Verification– Model Checking

Page 4: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

4

Introduction (2)

• Simulation & Testing:– Needs experiments before system deployment– Simulation is performed on an abstraction of a

model of the system– Testing is performed on the real system.– It is very diffucult to evaluate all possible

interactions / faults / behaviors / states–

Page 5: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

5

Introduction (3)

• Deductive Verification:– Validate a system’s performance based on

deductive rules– Applicable to infinite-state systems– A time-consuming process– Needs expert people with good experiments– Usually is used for critical systems (e.g., security

protocols)

Page 6: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

6

Introduction (4)

• Model Checking:– An automated technique to evaluate finite-state

systems– Perform a thorough search in the state space of

the system in order to determine some properties of the system.

Page 7: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

7

Introduction (5)

• The process of Model Checking:

• Modeling: Transform a design to formalism (e.g., a state-transition graph of the system)

• Verification: Perform a thorough search in the state space of the system in order to determine whether some properties of the system are true or not.• Is performed automatically

Page 8: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

8

Petri Net

• A ‘Petri Net’ was introduced by a German mathematician and used to model a system– Condition: a Boolean description of the state of the

system – Event: an action that depends on the state of the system

• Petri net is a graphical and mathematical tools for the analysis of discrete event dynamic systems.– The system model is represented by a set of conditions

and a set of events – A condition is represented by a place and an event by

transition.

Page 9: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

9

Petri Net: Building Blocks

place

counter

transition

Place for user input

Basic Elements

• PN 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.

arcs

inhibitor

Page 10: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

10

Petri Net

• Building Blocks:

• An example:

t2 t3t1

p1 p3

p2

Page 11: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

11

Petri Net: Marks (Tokens)

• A marking M is an assignment of tokens (dots) to places of a petri net.

• Dots are placed in the circle to represent place in which its condition is satisfied – e.g. a resource is available or operation in a

process

• The marking can be represented as M = (1,1,0)

Page 12: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

12

Petri Net: Marks (Tokens)

• A place can have more than one token and therefore can represent a queue – (e.g. a buffer holding several processes).

t2 t3t1

p1 p3

p2

Page 13: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

13

Petri Net : Firing a transition

• Executing a marked Petri net causes the number and positions of the token to change. The rules for the execution are:– A transition is enabled if all its input places contain at least one

token. – Any enabled transition may fire– Firing of a transition results in one token being removed from

each of its input places and being deposited of its output places

– Execution halts when there are no enabled transitions. – Each time a transitions fires, the marking of the petri net will

change.

Page 14: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

14

Petri Net : Example

t2 t3 t1

p1 p3

p2

1 1 0

0 0 1

t2t1

0 1 0

t3

M2

M0

M1

Page 15: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

15

Petri Net: Formal Definition

A Petri net (PN) is a 5 tuplePN (P,T,IN,OUT,M)where:

P = {p1,p2,....,p~} is a finite set of places, T = {t1, t2, …,tn} is a finite set of transitions

IN:(PxT)S OUT: (TxP)S M: Marking vector

Page 16: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

16

Petri Net: Formal Definition (cont’d)

• IN are input functions defining directed arcs from

• places to transitions • OUT are output functions defining directed arcs• from transitions to places• S is a set of all nonnegative integers k such

that:• If k = 1 a directed arc is drawn without a label• If k > 1 a directed arc is drawn with label k. • If k = 0 no arc is drawn.

Page 17: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

17

Petri Net: Formal Definition (cont’d)

• An example:

Page 18: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

18

Petri Net: Firing Rules for Transitions

• A specific transition ti is said to be firable or enabled if each input place pi is marked with at least w(pi,ti) tokens where w(pi,ti) is the weight of the arc from pi to ti.

• An enabled transition may or may not fire depending on whether or not the event actually takes place .

• The firing of an enabled transition ti removes w(pi,ti) tokens from each input place pi of ti, and adds w(pj,ti) tokens to each output place pj of ti where w(pi,ti) is the weight of the arc from input place pi to ti, and w(pj,ti) is the weight of the arc from ti to output place pj

Page 19: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

19

Petri Net: Firing Rules for Transitions

Page 20: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

20

Petri Net: Firing Rules for Transitions

• Firing Examples

Page 21: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

21

PN: Firing Rules for Transitions

• Firing Examples

Page 22: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

22

PN: Firing Rules for Transitions

• Firing of a sequence of transitions:

Page 23: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

23

PN: Firing Rules for Transitions

• Firing of a sequence of transitions:

Page 24: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

24

PN: Firing Rules for Transitions

• Firing of a sequence of transitions:

Page 25: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

25

PN: Firing Rules for Transitions

• Firing of a sequence of transitions:

Page 26: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

26

PN: Change of States (1)

• is denoted by 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 or an action taken.

• The firing is subject to the input conditions, denoted by token availability.

Page 27: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

27

PN: Change of States (2)• A transition is firable or enabled when

there are sufficient tokens in its input places.

• After firing, tokens will be transferred from the input places (old state) to the output places, denoting the new state.

• Note that the examples are Petri nets representation of a finite state machine (FSM). PNs are much more powerful to model systems beyond FSMs.

Page 28: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

28

Modelling with petri net

• Petri net is mainly used for modelling. – Many systems can be modelled by petri net.

• The system may be of many different kinds like computer hardware, computer software, physical system and so on. – Petri net is used to model the occurrence of

various events and activities in the system.

Page 29: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

29

Modelling with petri net

• Sequential Execution:

Page 30: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

30

Modelling with petri net

– Concurrency: two events could take place in parallel, without interfering with one another.

Page 31: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

31

Modelling with petri net

• Synchronisation: By having two places as input conditions to the same transition, these two conditions become synchronised.

Page 32: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

32

Modelling with petri net

• Example : Concurrency and Synchronisation

t2

t3

t1

p1

p3

p2 p4

p6

p7

p5

t5

t4

Concurrency Synchronization

Page 33: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

33

Modelling with petri net

• Confilincts:• Two transitions t1 and t2 are

said to be conflict if either t1

or t2 can occur but not both of

them, – i.e., when there is one place

that is acting as input condition to a number of transitions.

– Therefore, only one transition can be fire.

tk

Pi

tj

Page 34: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

34

Modelling with petri net

• Merging:

Page 35: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

35

Modelling with petri net

• Example: Font Selection

Bold on

Bold off

User presses bold

T1 T2

Italic on

User presses italic

T3 T4

User presses italic

Page 36: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

36

Modelling with petri net

• Another Example: a finite-state machine – Consider a vending machine • It accepts either nickels or dimes • Sells 15c or 20c candy bars• The vending machine can hold up to 20c• Coin return transitions are omittedthe next slides are the state diagram of this

vending machine which represented by the Petri net Any finite-state machine (or its state diagram) can bemodeled with a state machine.

Page 37: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

37

Modelling with petri net

• Another Example: a finite-state machine Get 15c candy

Deposit 5c 5c Deposit 10c

15c

Deposit 5c Deposit 5c

0c

p1 Deposit 5c

Deposit 10c 10c Deposit10c 20c

Get 20c candy

Page 38: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 38© LJMU, 2004

Modelling with petri net

• Mutual exclusion – Recall: Mutual exclusion is a technique of defining

entry and exit code so that at most one process is allowed to access the critical region at the same time.

• The idea is that no process is allowed to enter the critical region, unless it checks that no other process is executing its own critical region.

– Mutual exclusion can be represented in Petri net using conflict.

Page 39: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 39© LJMU, 2004

Mutual exclusion• The place s represents the

permission to enter the critical region and there must be token in p1 and p2. – If both processes want to

enter the critical region simultaneously, then transition t1 and t2 are in conflict

– i.e., only one of them can fire.

t1 t2

p2 p1

s Critical

section

Critical

section

Process 2 Process 1

Page 40: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 40© LJMU, 2004

Producer consumer problem

• bounded buffer

n

Produce

Put in

buffe

B

Consume

Remove

from buffer

ProducerConsumer

Page 41: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 41© LJMU, 2004

Analysis of Petri net

• Petri nets are capable of modelling a large variety of systems and properly representing the interactions between the various actions which can occur. – The strength of Petri net is its capability to model

the system. • However, modelling by itself is of little use and its

necessary to analyse the modelled system. This could lead to important insights into the behaviour of the modelled system.

Page 42: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 42© LJMU, 2004

Reachibility• Given a Petri net, one would like to know

which marking Mr can be reached from an initial marking M0.

• Example: For the Petri net of the bounded buffer consumer producer problem, M0 = (1, 0, 1, 0, 0, n) and M1 = (0, 1, 1, 0, 0, n) – is immediately reachable from the marking of M0.

Page 43: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 43© LJMU, 2004

Analysis of Petri net : Safeness

• A place in a Petri net is safe if the number of tokens in that place never exceeds one.– A petri net is same if all

its places are safe.

what does this Petri net do? Is it safe?

E2

M2

C2 M3

E3

C3

M4

E4

C4

M5

E5 C5

M1

E1

C1

Page 44: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 44© LJMU, 2004

Analysis of Petri net : Boundedness

• A place is k-safe or k-bounded if the number of tokens in that place cannot exceed an integer k.– Therefore a place is 1-bounded is simply a safe place.

• Example: – The Petri net for the producer/consumer problem

with a bounded buffer, is it safe? Bounded?

– The Petri net for the producer/consumer problem with a unbounded buffer, is it bounded? Why?

Page 45: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 45© LJMU, 2004

Analysis of Petri net : Conservation

• A Petri net with an initial marking M0, is strictly conservative, – if for all the reachable marking, the total number of tokens

in each marking is exactly the same as the initial marking. • A Petri net can be used to model resource allocation

systems. In this systems some tokens may represents the resources. – Therefore, in such Petri nets conservation is an important

property such that resources can neither be created nor destroyed.

Page 46: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 46© LJMU, 2004

Analysis of Petri net : Liveness• Another problem that could occur in resource

allocation is deadlock.

– A deadlock in a Petri net is a transition (or a set of transition) which cannot fire.

– A transition is alive if it is not deadlock. – A transition is live in a marking M if it is potentially

fireable in every marking in the Petri net.

Page 47: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 47© LJMU, 2004

Exercises

• For the above Petri net, indicate whether each is bounded, live, and conservative or not and show why?

p1

p2 p4

p3

p1

p2

p3

t1

t2 t3

t1

t2

t3

p1

p2 p3

p4

t1

t2

t3

t4

Page 48: Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.

CY2003- Week 7 48© LJMU, 2004

Summary

• Petri net– concepts– Petri net representation– Firing a transition– Marks (Tokens)

• Modeling with Petri net – Events and condition