• No results found

Petri Nets

N/A
N/A
Protected

Academic year: 2020

Share "Petri Nets"

Copied!
48
0
0

Loading.... (view fulltext now)

Full text

(1)

Petri Nets

(2)

Agenda

Introduction

Petri Net

Modelling with Petri Net

Analysis of Petri net

(3)

Introduction

Techniques for Evaluating SW / HW:

– Simulation – Testing

– Deductive Verification – Model Checking

(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

(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)

(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.

(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.

(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

(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

arcs

(10)

Petri Net

• Building Blocks:

(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

(12)

Petri Net: Marks (Tokens)

A place can have more than one token and

therefore can represent a queue

(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.

(14)
(15)

Petri Net: Formal Definition

A Petri net (PN) is a 5 tuple

PN (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

(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.

(17)

Petri Net: Formal Definition (cont’d)

(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 p to t , and w(p ,t) is the weight of the

(19)
(20)

Petri Net: Firing Rules for Transitions

(21)

PN: Firing Rules for Transitions

(22)

PN: Firing Rules for Transitions

(23)

PN: Firing Rules for Transitions

(24)

PN: Firing Rules for Transitions

(25)

PN: Firing Rules for Transitions

(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

(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.

(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.

(29)

Modelling with petri net

(30)

Modelling with petri net

– Concurrency: two events

could take place in parallel, without

interfering with one another.

(31)

Modelling with petri net

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

(32)

Modelling with petri net

(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.

(34)

Modelling with petri net

(35)

Modelling with petri net

Example: Font Selection

Bold on User presses bold T1 T2 Italic on User presses italic T3 T4 User presses italic

(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 omitted

the 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 be

(37)

Modelling with petri net

(38)

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.

(39)

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

(40)

Producer consumer problem

(41)

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

(42)

Reachibility

Given a Petri net, one would like to know

which marking M

r

can be reached from an

initial marking M

0.

Example:

For the Petri net of the bounded buffer

consumer producer problem, M

0

= (1, 0, 1, 0,

0, n) and M

1

= (0, 1, 1, 0, 0, n)

(43)

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?

(44)

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

(45)

Analysis of Petri net : Conservation

A Petri net with an initial marking M

0

, 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.

(46)

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.

(47)

Exercises

(48)

Summary

Petri net

– concepts

– Petri net representation – Firing a transition

– Marks (Tokens)

Modeling with Petri net

References

Related documents

20 
 •

The “SEARCH ENGINE OPTIMIZATION-SEO” Program has been designed and will be conducted by the Senior Consultants who have been the fifteen years experience in

The Informatica Platform is the safe on-ramp to big data that works with both emerging technologies and traditional data management infrastructures to minimize risk, reduce costs,

The Guarantee herein contained shall remain in full force and effect during the period that would be taken for performance of the aforesaid terms of the said contract and it

We consider the following strongly restricted case; the game arena is an arbitrary graph, the first player W occupies just one vertex which is predetermined, and the second player

The mean number of samples was not very different when considering each subgroup of patients (respectively 2.73 for cryptozoospermia; 2.46 in case of very severe oligozoospermia

Figure 8 shows the Barret-Joyner-Halenda (BJH) pore size distribution for the as-synthesized ZnO nanostructures using different volumes of palm olein.. As clearly seen from the

...are manufactured using proven techniques and high grade materials to ensure a long life in the marine environment; for example, the water cooling jacket and exhaust manifold