80
Performance modeling and analysis using Petri Nets Lecture notes By Dr. Tafesse Gebresenbet AAU, Technology Faculty Mechanical Engineering Department References 1.Zurawuski et al. Petri Nets and Industrial applications: a tutorial 2. Murata, Petri Nets: properties analysis and applications 3. Zhou et al. Modeling, simulation and control of FMS, a PN approach 4. Lecture notes by Yuna Park and Renat Kopach TGS-AAU- Modeling of ManufSystems

Petri nets for manufacturing modeling

  • Upload
    tafesse

  • View
    123

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Performance modeling and analysis using Petri Nets

Lecture notes By Dr. Tafesse GebresenbetAAU, Technology Faculty Mechanical Engineering DepartmentReferences

1.Zurawuski et al. Petri Nets and Industrial applications: a tutorial

2. Murata, Petri Nets: properties analysis and applications

3. Zhou et al. Modeling, simulation and control of FMS, a PN approach

4. Lecture notes by Yuna Park and Renat Kopach

Page 2: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Petri Nets: Graphical and Mathematical modeling tools◦ graphical tool

visual communication aid◦ mathematical tool

state equations, algebraic equations, etc concurrent, asynchronous, distributed,

parallel, nondeterministic and/or stochastic systems

Petri Nets-Introduction

Page 3: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

• The graphical presentation of a Petri net is a bipartite graph

• There are two kinds of nodes– Places: usually model resources or partial state of the

system– Transitions: model state transition and synchronization

• Arcs are directed and always connect nodes of different types

Petri Nets- Informal Definition

Page 4: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

1962: Adams. Petri’s dissertation (U. Darmstadt, W. Germany)

1970: Conf. on Concurrent Systems and Parallel Computation (MIT, USA)

1975: Conf. on Petri Nets and related Methods (MIT, USA) 1979: Course on General Net Theory of Processes and

Systems (Hamburg, W. Germany) 1980: First European Workshop on Applications and Theory

of Petri Nets (Strasbourg, France) 1985: First International Workshop on Timed Petri Nets

(Torino, Italy)

Petri Nets-History

Page 5: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

In order to represent the dynamic behavior of the modeled system, each place may hold either none or a positive number of tokens, pictured by small solid dots

A token in a place can indicate whether a condition associated with this place is true or false, therefore the state of the system is modeled by marking the places with tokens

The distribution of tokens on places called PN marking, defines the current state of the modeled system. A PN containing tokens is called a marked PN

Petri Nets- State

Page 6: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Basics of Petri Nets Petri net consist two types of nodes: places

and transitions. And arc exists only from a place to a transition or from a transition to a place.

A place may have zero or more tokens. Graphically, places, transitions, arcs, and

tokens are represented respectively by: circles, bars, arrows, and dots.

p2 p1

t1

Petri Nets - Basics

Page 7: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

The graphical representation of a Place-Transition net comprises the following components:

Places, drawn by circles. Places model conditions or objects, e.g., a program variable. Places might contain

Tokens, drawn by black dots. Tokens represent the specific value of the condition or object, e.g., the value of a program variable.

Transitions, drawn by rectangles. Transitions model activities which change the values of conditions and objects.

Arcs, specifying the interconnection of places and transitions thus indicating which objects are changed by a certain activity.

Place-Transition nets are bipartite graphs, i.e. we may only connect a place to a transition or vice versa, but we must not connect two places or transitions. This also would not make sense, if we keep the interpretation of the components of a Place-Transition net in mind.

Petri Nets - Basics

Page 8: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

A black-and-white Petri net or ordinary PN can be formally defined as a four-tuple1: PN = (P, T, I, O) where:

P is a finite non-empty set of places. P = {p1, p2, ..., pn}T is a finite non-empty set of transitions. T = {t1, t2, ..., ts}I is an input function. I: (T x P) → {0,1}, I(t, p) = 1 if there exists an arc from p to t. If so, p is an input place for t; O is an output function. O: (T x P) → {0,1}, O(t, p) = 1 if there exists an arc from t to p. If so, p is an output place for t;

M: P → N is a marking that assigns a non-negative integer to each place. Such a number represents the number of tokens in the place. <P, T, I, O, M> represents a marked Petri net. Figure below shows a simple PN mode

Petri Nets -Definitions

Page 9: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Places (p): ◦ a place is an input to a transition if there is a directed arc connecting

this place to a transition.◦ Input places may represent the availability of resources, the transition

may represent their utilization,◦ A place is an output to a transition if there is a directed arc connecting

the transition to the place◦ Output places may represent the release of resources

Transitions (t): Directed arcs connecting places to transitions and

transitions to places

Petri Nets -Definitions

Places p1 is an input place of transition t1

Places p2 and p3 are outputplaces of transition t1

Page 10: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Places: P = {p1, p2, p3}; Transitions: T = {t1, t2, t3};Input places: I(t1) = {}, I(t2) = {p1, p2}, I(t3) = {p3};Output places: O(t2) = {p1}, O(t2) = {p3}, O(t3) = {p2};Initial Marking Mo = [1 1 0]

Petri Nets -Definitions

Page 11: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

.

An example

Page 12: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

.

Multiple arcs

Page 13: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

• A transition t is called enabled in a certain marking, if:– For every arc from a place p to t, there exists a

distinct token in the marking• An enabled transition can fire and result in

a new marking• Firing of a transition t in a marking is an

atomic operation

Enabling and Firing rule

Page 14: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Below is an example Petri net with two places and one transaction.

Transition node is ready to fire if and only if there is at least one token at each of its input places

state transition of form (1, 0) (0, 1)p1 : input place p2: output place

p2 p1

t1

Page 15: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

• Firing a transition results in two things:1. Subtracting one token from the marking of any

place p for every arc connecting p to t2. Adding one token to the marking of any place p

for every arc connecting t to p

Enabling and Firing rule (cont.)

Page 16: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

The enabling and firing rule are illustrated further in the figure below. In Fig a, transition t1 is enabled as the input place p1 of transition t1 contains two tokens, and I (p1,t1)=2.

The firing of the enabled transition t1 removes from the input place p1 two tokens as I (p1,t1)=2, and deposits one token in the output place p3, O(p3,t1)=1, and two tokens in the output place p2, O(p2,t1)=2.

Enabling and firing rules (example)

Page 17: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

The following rules are used to govern the flow of tokens in a Petri net:

Enabling Rule: A transition, t, is enabled if and only if all the input places of transition t contains at least one token. Firing Rule: An enabled transition t may fire at marking Mo. Firing an enabled transition t removes one token from each input place of t and adds one token to each output place of t.

A Petri net from stage k to stage k+1 can be expressed by the following state equation: Mk+1 = Mk + Cuk

Where, Mk is the current marking state vector, uk is the control vector and C = O - I is the incident matrix.

Enabling and firing rules (example)

Page 18: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Using this notation, Petri nets can model discrete event systems and can capture important system characteristics that occurs in a sequence, actions that occur concurrently, actions that compete for resources, actions that must be synchronized, actions that occur in cycles, and actions that cannot occur simultaneously.

Enabling and firing rules (example)

The evolution of Petri net marking

Page 19: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

.

example

Page 20: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

More about Petri Nets

..

Page 21: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

System State: Tokens and Net Marking

Page 22: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Initial State: (1,1,2,1)

t2 is enabled

Page 23: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Fire t2, New State: (1,0,3,2)

Page 24: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Fire t3, New State: (2,0,2,2)

Page 25: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Fire t1, New State: (1,2,2,2)

Page 26: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Fire t4, New State: (1,3,2,0)

Page 27: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

In the context of DES

Marking of the SPN = state of the system Firing of a transition = occurrence of an

event

Page 28: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Notation…

A Petri net is a 5-tuple , where S is a set of places T is a set of transitions F is a set of arcs s.t. M0 is an initial marking W is the set of arc weights/transition

matrix/incidence matrix

Page 29: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

…allows for many things

The state of a net is an M vector so

State equations are possible

◦Where is how many times each transition fires

◦ WT state transition matrix

Page 30: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

.

S={p1,p2,p3,p4} T={t1,t2,t3,t4}

F={(p1,t1) (p2,t2) (p3,t3) (p4,t4) (t1,p2)(t2,p3)(t2 p4) (t3,p1) (t4,p2)}

2010

0110

1012

0101

CW

M0 Initial state (1,1,2,1)σ Firing sequence (t2 t3 t1 t4)Mn Final state (1,3,2,0)

Page 31: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

The modeling power of Petri nets can be increased by adding the zero testing ability, i.e., the ability to test whether a place has no token. This is achieved by introducing an inhibitor arc.

The inhibitor arc connects an input place to transition, and is pictorially represented by an arc terminated with a small circle.

The presence of an inhibitor arc connecting an input place to a transition changes the transition enabling conditions.

In the presence of the inhibitor arc, a transition is regarded as enabled if each input place, connected to the transition by a normal arc ( an arc terminated with an arrow)

Enabling and firing rules -Inhibitor arc

Page 32: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

A Petri net is said to be a pure or self-loop free if no place is an input place to and output place of the same transition .

A Petri net that contains self-loops can always be converted to a pure Petri net as shown in Figure 5

Enabling and firing rules – Self loop

Page 33: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Representational Power of Petri netsPNs exhibited suitable for modeling activities such as concurrency, decision making, synchronization and priorities are modeled very effectively with Petri nets.

These characteristics are represented using a set of simple constructs Sequential actions Dependency Conflict (decision, choice) Concurrency Cycles Synchronization (mutually exclusive actions, resource

sharing, communication, queues)

Properties of Petri nets

Page 34: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Properties of Petri Nets Sequential Execution

Transition t2 can fire only after the firing of t1. This impose the precedence of constraints "t2 after t1."

SynchronizationTransition t1 will be enabled only when a token there are at least one token at each of its input places.

MergingHappens when tokens from several places arrive for service at the same transition.

p2

t1

p1 p3

t2

t1

Page 35: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Properties of Petri Nets

Concurrency t1 and t2 are concurrent. - with this property, Petri net is able to model systems of distributed control with multiple processes executing concurrently in time.

t1

t2

-continued

Page 36: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Properties of Petri Nets

Conflictt1 and t2 are both ready to fire but the firing of any leads to the disabling of the other transitions.

t1

t2

-continued

t1

t2

Page 37: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Properties of Petri Nets

Conflict - continued

◦ the resulting conflict may be resolved in a purely non-deterministic way or in a probabilistic way, by assigning appropriate probabilities to the conflicting transitions.

there is a choice of either t1 and t2, or t3 and t4

-continued

t1 t2

t3 t4

Page 38: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Sequential actions, Dependency

Page 39: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

.

Conflict resolution, concurrency

Page 40: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

.

Cycles

Page 41: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

synchronization

Page 42: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Buffer (Queue)

Page 43: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Communication

Page 44: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

State Machines A state machine is a PN in which each transition has exactly one input and one output place. This can be concisely expressed as ; |.t|=|t.| = 1 for all t Є T .

Recalling that one limitation of Marked graphs was that they could not represent conflict. State machines can represent conflict because they permit the basic conflict or decision-making structure.

Behavioral Properties of PN

Page 45: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Properties of Petri NetsReachability.

From the model point of view, this property determines whether a given (vector) marking is reachable from the initial marking. From the real system point of view, this property indicates whether a system state is reachable from the initial configuration.

It can be used to answer question such as the following: it is possible to reach a state where machine M is processing two parts while robot R is busy and machine M’ is free? It is possible to reach a state in which buffer B is full? The answers to a set of well-defined questions can be used to establish a correct system design. A second related property is coverability.

From the Petri net point of view, this determines whether a reachable marking is greater than or equal to another given marking. From this kind of property, less complete information can be obtained; but this information can be used in a similar way that provided by reachability properties.

Behavioral Properties of PN

Page 46: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Reachability Reacahability is a fundamental basis for studying the dynamic properties of any system. The firing of an enabled transition will change the token distribution (marking).A sequence of firing will result in a sequence of markings. A marking Mn is said to be reachable from a marking Mo if there exists a sequence of firings that transforms Mo to Mn.

A firing or occurrence sequence is denoted by σ = Mo t1 t2 M2 … tn Mn or simply σ = t1 t2 …. tn.

In this case, Mn is reachable from Mo by σ and we write Mo{σ>Mn}.

The set of all possible markings reachable from Mo in a net (N,Mo). The set of all possible firing sequence from Mo in a net (N, Mo) is denoted by L(N,Mo) or simply L(Mo)

Behavioral Properties of PN

Page 47: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Boundedness and safeness

This property determines whether the number of tokens in a given place is always smaller than or equal to a given constant k.

Usually in FMS/AMS domains, using the possible meanings of a place as stated previously, all places must be

bounded; the model is perhaps, incorrect.

If a model is correct and a place is detected to be unbounded, some overflow problems may arise. A

related property is safeness (1-boundedness).

Behavioral Properties of PN

Page 48: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

BoundednessA PN (n, Mo) 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 Mo, i.e., M(P)≤k for every place p and every marking M Є(Mo). A PN (N, Mo) is said to be safe if is 1-bounded.

Eg the nets shown below (fig b) is 2-bounded.

Behavioral Properties of PN

Page 49: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Reversibility

When verified, this property determines that the initial state can be reached from each reachable state.

In the application domain considered, this property means that each possible erroneous situation has been considered by means of some error recovery strategy.

The erroneous situations include the case of system deadlocks and the case of resource failures.

Petri Nets-Properties

Page 50: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Deadlock-freeness/livenessA Petri net system is said to be deadlock-free if at each reachable marking there exists at least one transition that is enabled. In our application domain this means that it is always possible to make some production activity.

Deadlock-freeness is not enough for this domain. It is possible to have a part of a system that can always run correctly, but also another part of the system that is in a deadlock. For instance, it is possible to have one type of part being correctly processed, as well as other parts whose processing has been started but cannot be finished.

Petri Nets – Properties

Page 51: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Thus deadlock-freeness cannot be strong enough for highly automated systems; liveness is a stronger property. A Petri net system is said to be live if for each reachable marking it is always possible to fire any transition.

In the application domain considered, this mean that it is always possible to execute the system actions modeled by any transition.

As a consequence the processing of each part, once started, can always be finished: the transitions “driving” a token (modeling a part) to the system output can be fired.

Thus the processing of the part can be finished. This also means that if there are always new raw materials, their processing can be carried out.

Petri Nets – Properties

Page 52: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

LivenessThe concept of liveness is closely related to the complete absence of deadlocks in operating systems. A PN (N,Mo) is said to be live (or equivalently Mo is said to be a live marking for N), if no matter what marking has been reached from Mo, it is possible to ultimately fire any transition of the net by progressing through some further firing sequence.This means that a live PN guarantees deadlock-free operation, no matter what firing sequence is chosen(eg figure 6)

Behavioral Properties of PN

Page 53: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

PN Properties Meanings in the modeled Manufacturing System

Reachability A certain state can be reached from the initial condition

Boundness No capacity (of, e.g., buffer, storage area, and work station) overflow

Safeness Availability of a single resource; or no request to start an ongoing process

Conservativnes Conservation of non-consumable resources, e.g., machines and AGVs

Liveness Freedom from deadlock and guarantee the possibility of a modeled event,operation, process or activity to be ongoing.

Reversibility Re-initialization and cycle behavior

Repetitiveness Existence of repetitive operations/activities/events for some markings

Consistency Existence of cyclic behavior for some marking

Petri Nets-Properties

Page 54: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Original model of Petri Net was timeless. Time was not explicitly considered since

Timed Petri NetsOne major extension over the past in PN modeling is inclusion of time into the net. Time is included in a PN model; such a net is referred as Timed Petri Nets (TPNs).

Timed Petri nets have been used for the performance evaluation of concurrent systems and, in particular, of communication protocols and multiprocessor computer systems.

Time is associated with the transitions and when enabled or fired, the firing delay of the transitions can be either deterministic or stochastic in nature.

Timed Petri Nets

Page 55: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Even though there are arguments against the introduction of time, there are several applications that require notion of time.

First attempt was made by Ramchandani at MIT in 1974, and since then there have been many different approaches of extending petri net by the integration of time, however not a systemic introduction.

Time in Petri Net -continued

Page 56: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

General approach: ◦Transition is associated with a time for

which no event/firing of a token can occur until this delay time has elapsed.

◦ This delay time can be deterministic or probabilistic.

◦Number of servers should be specified. Different outcomes resulted from plural/single server.

Timed Petri Net - Overview

Page 57: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Due to this nature of transition firing, Timed Petri Nets are grouped into

Deterministic Timed Petri Nets (DTPNs), and Generalized Stochastic Petri Nets (GSPNs).

Transitions called immediate transitions that take zero time or no time to fire are another extension to the nature of Timed Petri Net transitions.

Deterministic Timed Petri Nets (DTPNs)When time delays for operations or activities in a concurrent conflict or choice-free system are fixed, we can model the system as a deterministic timed Petri net.

Petri Nets - SPN

Page 58: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Deterministic Timed Petri Nets (DTPNs)When a choice is involved in such a system and the system is allowed to make a choice freely, and then its behavior becomes non-deterministic.

For the class of choice-free Petri nets, marked graphs or event graphs are suitable and sufficient, which can represent concurrent activities but not choices.

The performance index for such a model is cycle time. Transitions, places, and arcs all can be associated with time delays in a marked graph, resulting in a timed marked graph. These elements with time delays can be converted into each other.

Petri Nets - SPN

Page 59: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Deterministic Timed Petri nets are a class of timed Petri nets where a constant delay is augmented to the transitions of the net. Then a DTPN is defined as,

N=(P, T, I, O) alternatively N= (S, T, F, MO, W)

N = (P, T, E, W, H, D) where,

P: Finite nonempty set of places

T: Finite nonempty set of transitionsE: A set of directed arcs that connects places to transitions and vice versa;W: Weight of the arcsH: Finite set of inhibitor arcs

D: Duration of firing

A place is an input (or an output) place of a transition t if and only if there exists an arc from (p to t) or from (t to p) respectively in the set E. The sets of all input and output places of a transition t are denoted by Inp(t) and Out(t), respectively. Similarly, the set of all input and output transitions of a place is denoted by Inp(p) and Out(p) respectively.

Petri Nets - SPN

Page 60: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Stochastic Petri NetsClassical Petri nets are useful in investigating qualitative or logical properties of concurrent systems, such as mutual exclusion, existence and absence of deadlocks, boundedness and fairness. However for quantitative evaluation the concept of time needs to be incorporated in to the definition.

A convenient way of achieving this is that for every state (marking) has associated with it a time for which no event (i.e. a transaction) can occur until this time has elapsed. An event is the result of activities performed by the system when it is in the situation specified by the marking.

Time is therefore naturally associated with transactions, such that they can only fire some time after they have been enabled. The association of time with transactions is the most common form of timed Petri nets although associating time with places is exactly the same.

Petri Nets - SPN

Page 61: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

A stochastic Petri net (SPN) is essentially a high level model that generates a stochastic process.

SPN performance evaluation is simply the modeling of the given system using SPNs and generating the stochastic process that governs the systems behavior.

This stochastic process is then further analyzed using known techniques such as Markov Chain models and Semi-Markov chain models.

The use of SPNs is considerably useful to the modeler as it is a graphical model and is convenient in the obtaining a credible high-level model of a system.

Petri Nets - SPN

Page 62: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

As a modeling tool SPNs offer several advantages:

1. They provide a convenient framework for correctly and faithfully describing an AMS and for generating the underlying stochastic process.

2. Their analysis can be automated and there are available several software tools for this purpose.

3. They can exactly model non-product form features, such as priorities, synchronization, forking, blocking and multiple resource holding.

4. They can be used a both logical and quantitative analysis.

5. Even if their analysis is intractable, they serve as a ready simulation model.

Petri Nets

Page 63: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

As a method of representation SPNs are very powerful, on a par with Markov chain models. They suffer on the other hand on the computational front as they suffer from state space explosions.

Definition: A Stochastic Petri Net is a six-tuple (P, T, I, O, M, F) where (P, T, I, O, M) is a petri net and F is a function, which associates with each transition in each reachable marking, a random variable. This is a very general definition of a stochastic Petri net.

The basic philosophy underlying the use of various classes of stochastic Petri net in performance evaluation is the equivalence of their marking process, under appropriate distributional assumptions, to a Markov or Semi-Markov process with discrete state space.

Petri Nets - SPN

Page 64: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

The typical steps in stochastic Petri net evaluation include:

1. Modeling the given system by a stochastic Petri net.2. Generating the marking process.3. Computing the steady state probability distribution of states

of the marking process4. Obtaining the required performance measures from the

steady state probabilities.

All steps in the evaluation can be automated and this constitutes an important reason for the popularity of stochastic Petri net performance modeling.

Stochastic Petri nets fall into two subsets, these are: 1. Exponential Timed Petri Nets, and 2. Generalized Stochastic Petri Nets

Petri Nets - SPN

Page 65: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Colored Petri nets

Colored Petri nets (CP-nets or CPN) are extensions of ordinary Petri nets and graphical modeling languages that

model both the states of a system and the events that change the system from one state to another.

CP-nets combine the strengths of ordinary Petri nets (PN) and programming languages.

The formalism of Petri nets is well suited for describing concurrent and synchronizing actions in distributed

systems.

Petri Nets-CPN

Page 66: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Programming languages can be used to define data types and manipulation of data.

Large and complex models can be built using hierarchical CP-nets in which modules, which are called pages in CPN terminology, are related to each other in a well-defined way.

Without the hierarchical structuring mechanism, it would be difficult to create understandable CP-nets of real-world systems. CP-nets can be used in practice only because there are mature and well-tested tools supporting them.

CPN Tools has a new GUI with state-of-the-art interaction techniques such as two-handed input, tool glasses and marking menus, and an improved simulator.

Petri Nets-CPN

Page 67: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Petri net model is a network of interconnecting resources and actions representing a real system.

By modelling manufacturing systems, performance analysis can be performed to help the operations manager to plan resources, schedule jobs and predict overall throughput rate and system capacity.

The resulting parameters can be recorded and compared to form measures of the operations’ efficiency and effectiveness.

This assists managers to quantify system performance, as opposed to pure judgement, which is subjective and difficult to compare.

Petri net also serves as a communication aid to both higher management and people on the shop floor, showing the abstract aspects of work cells coordination and resource cycles graphically.

Petri Nets application in Manufacturing Systems

Page 68: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

The hierarchical nature of Petri net enables it to manage, display and analyse large and small models in different scales and levels of detail.

Although it potentially suffers from state space explosions when dealing with complex manufacturing systems, various extensions of Petri net add richness and flexibility to the modelling language.

Reduction theorems and data fusion methods exist to facilitate analysis on such complex models.

For the efficient running of a factory, many issues are required to be solved: ranging from integration among different processes to system capacity planning.

Petri Nets application in Manufacturing Systems

Page 69: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Petri net is one of various analytical tools to solve these issues.

In modern production plants, where flexible manufacturing systems are used to achieve factory automation, Petri nets can be applied to capture the essence and details of the plant processes.

It provides the means to model common manufacturing operations, such as concurrent assembly lines, synchronisation, unreliable machines and resource contention.

The behavioural properties of the model provide useful information to the engineer in controller design and managers in job scheduling and capacity planning.

Petri Nets application in Manufacturing Systems

Page 70: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Manufacturing processes often occur in parallel, such as multiple assembly lines and these concurrent operations can be modelled by drawing separate chains of place and transition in the graph.

Synchronisation occurs in assembly lines where parts resulting from various processes are brought together to form a final product. Synchronising products from concurrent processes is an important aspect in manufacturing operations.

An element of uncertainty exists in operations, such as machine tool failures and these non-deterministic processes can be modelled by using stochastic timed Petri nets, where random time delay can be associated with each place. As the machines breakdown, bottlenecks and deadlocks may occur, which engineers strive to eliminate or prevent.

Petri Nets application in Manufacturing Systems

Page 71: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Input Places Transition Output Places Preconditions Event Post conditions Input data Computation Step Output data Input signals Signal Processor Output Signals Resources needed Task or Job Resources

released Conditions Clause in Logic Conclusions Buffers Processor Buffers

Petri Nets -example

Page 72: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Places/Transitions DescriptionP1 Raw material availablep2 Robot Availablep3 Milling machine (WS1) is availablep4 WS1 loaded with raw material by robotP5 Milling operation performed on raw materialp6 Semi-finished part loaded on WS2 by robotp7 Drilling operation performed on the partp8 Drilling machine (WS2) availablep9 Out going conveyor loaded by robott1 Starting to load WS1t2 Initiation of milling operationt3 Termination of milling operationt4 Initiation of drilling operationt5 Termination of drilling operationt6 Completion of action in p9

Petri Nets –example-1

Page 73: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

.

Petri Nets –example-1

Page 74: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

.

Petri Nets –example-1

Page 75: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Petri Nets –example-2

Page 76: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Petri Nets –example-2

Page 77: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

A Flexible Assembly cellConsider the assembly cell shown in the figure below . A conveyor and two neighborhooding robots are needed to carry out an assembly task. Each conveyor (C) requests the left robot (R) first, and after acquiring it, requests the right one. Then the assembly operation starts. When the task is completed, the conveyor releases both robots.

Petri Nets –example-3 (FMC)

Robot 1

Robot 3

Robot 2Conveyor

1

Conveyor 3Conveyor 2

A flexible assembly cell

Page 78: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

Requesting and releasing a robot are two events that can occur concurrently and asynchronously. For eg, the three conveyors could simultaneously request their left robots (concurrently). Also there is a release of two allocated robots occur when the assembly task is over but the time of this event cannot be accurately predicted due to possible delays or errors (asynchronously). The petri net model must capture the concurrent and asynchronous behavior of the system. For the above shown assembly cell;

P1, conveyor C1 requesting its left robot R1P4, conveyor C2 requesting its left robot R2P7, conveyor C3 requesting its left robot R3P2, conveyor C1 requesting its right robot R2P5, conveyor C2 requesting its right robot R3P8, conveyor C3 requesting its right robot R1P3, conveyor C1 and its two robots R1 and R2 are in useP6, conveyor C2 and its two robots R2 and R3 are in useP9, conveyor C3 and its two robots R3 and R1 are in use

Petri Nets –example-3 (FMC)

Page 79: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

P10 the robot R1P11 the robot R2P12 the robot R3

Next, transition are assigned that represent the activities in the system

t1 conveyor C1 acquires its left robot R1t4 conveyor C2 acquires its left robot R2t7 conveyor C3 acquires its left robot R3t2 conveyor C1 acquires its right robot R2t5 conveyor C2 acquires its right robot R3t8 conveyor C3 acquires its right robot R1t3 conveyor releases R1 and R2 t6 conveyor releases R2 and R3t9 conveyor releases R3 and R1

Petri Nets –example-3 (FMC)

Page 80: Petri nets for manufacturing modeling

TGS-AAU- Modeling of ManufSystems

At the start of the assembly task, all conveyors and robots are free, and the three conveyors are concurrently requesting their left robots,. This produces the initial marking Mo =(1 0 0 1 0 0 1 0 1 1 1)T

The initial marking along with the logical requirements of the assembly task leads to the Petri net model

The initial marking has enabled transitions t1, t2 and t7. If these transtions are allowed to fire concurrently, the new marking will be

M’ = (o 1 0 0 1 0 0 1 0 0 0 0 ) T

Petri Nets –example-3 (FMC)