Petri Nets (PNs) are an effective structure for modeling and analyzing asynchronous systems with concurrent and parallel activities. A Petri net models the static properties of a discrete event system concentrating on two basic concepts: events and conditions. Most of the theoretical work on Petri nets is a formal definition of Petri nets structures, which consist of a set of places, representing conditions, a set of transitions, representing events, an input function and an output function. For practical purposes, a graphical representation is more useful. Two types of nodes portray places and transitions. A circle is a place and a bar is a transition. There is no inherent measure of time in a classical Petri net. To approach time-based evaluation of system performances, Timed Petri Nets (TPNs) were introduced. Modeling the notion of time is not straightforward. There are several possibilities for introducing time in PNs, among them timed transitions and timed places. This paper reviews several published examples where Petri Nets were used in different circumstances such as estimating expected utilization of processing resources at steady state in open queueing networks, verifying computerized simulations and batch planning in textile industry.
The fundamental concepts and characteristics of Petri Nets (PNs) made them a significant tool for modeling and analyzing asynchronous systems with concurrent and parallel activities. A Petri net is both a graphical and an analytical modeling tool. Carl Adam Petri from Bonn University, Germany, developed it as a special class of generalized graphs or nets. The chief attraction of a Petri net is the way in which it identifies the basic aspects of various systems, conceptually, through a graphical representation, and mathematically, eventually supported by formal programming languages. As a graphical tool, PNs are a visual-communication aid similar to flow charts, block diagrams, and networks. In addition, tokens (or markers) in these nets can simulate the dynamic activities of systems. As a mathematical tool, it allows setting up algebraic equations for formally analyzing the mathematical models governing the systems’ behavior, similarly to other approaches to formal analysis, e.g. occurrences nets and reachability trees. Using Petri nets to model and analyze asynchronous systems with concurrent and parallel activities is simple and straightforward making them a valuable technique for analyzing such complex real time systems. They are capable of modeling material and information flow phenomena, detecting the existence of deadlock states and inconsistency and are well suited for the study of Discrete Event Systems (DES). As such, they have been applied in manufacturing and logistics, hardware design and business processes, as well as in distributed databases and DES simulation [
There is no time measure in the original PNs. Hence, their modeling capability was limited and models often became excessively large, because all data manipulation had to be represented directly into the net structure. To overcome these drawbacks, over the years PNs have been extended in many directions including, time, data and hierarchy modeling. To adapt Petri nets to the study of systems’ performances, Timed Petri Nets (TPNs), allowing for delays in the system, were introduced. There are several possibilities for introducing time in PNs, thus transforming them into TPNs, among them timed transitions and timed places (see e.g. [
The objective of this paper is to show different ways to utilize this modeling frame. The paper reviews several published papers where the framework was used in different circumstances such as, estimating expected utilization of resources at steady state in open queueing networks, verifying computerized simulations and batch planning in textile industries.
The paper is organized as follows. Section 2, entitled “From Petri Nets to Timed Petri Nets”, presents basic PN modeling and describes a technique for modeling TPNs, which associates time with places. Section 3 entitled “Decomposing TPNs” reviews a method for decomposing Timed Petri Nets of Open Queuing Networks. Section 4 describes the decomposition application for verifying computerized simulation. Section 5 entitled “Application of TPNs to textile processing” describes an additional published example. Section 6 concludes the paper.
The guiding principles of net theories concern states/conditions and changes/events, two fundamentally intertwined concepts. In a Petri Net the relationships between these two concepts are both graphically and analytically described. A PN consists of two parts: 1) its structure and 2) its marking representing the system overall state on the defined structure. The net structure describes its possible states (places) and events (transitions). When one or more markers (tokens) reside in a place, those tokens mark it and thus determine its local state. The state of the entire system is determined by the net marking, which is the distribution of markers to the net places. Tokens move according to firing rules. Firing of transitions and flows of tokens, model the dynamic behavior of the net. Let us first present PNs as a graphical tool and then as an analytical tool.
A Petri net is a graph,
T is a set of transitions
P is a set of places
I(T) denotes the set of all input places of transition T. Similarly, O(T) denotes the set of all output places of transition T.
A is a set of directed arcs (T*P) U (P*T) derived through an incidence matrix (see Section 2.2). A “marking”, M of a Petri net is a distribution of tokens (or markers) to the places of a Petri net.
A transition can “fire” (meaning the respective event occurs) if there is at least one marker in each of its input places (the necessary conditions for its occurrence). Following the firing of a transition, the number of tokens in the corresponding input places is depleted by one.
Its structure is as follows:
We see that the original marking of the net contains one token in place P0. The firing of transition T1 will insert one token in P1. As P0 and P1 are the two input places of transition T3, they will enable its firing. Firing of transition T3 will remove the tokens in P0 and P1 and insert a token in P3. Then, transition T4 will fire and will thus remove the token in P3 and insert a token in P0. This process describes a firing sequence. Another firing sequence will take place if following the current initial state of the system, transition T2 fires introducing a token in place P2. The respective tokens in places P0 and P2 will enable the firing of transition T5 that will remove the tokens in P0 and P2 and will add a token to place P4. This will be followed by the firing of transition T6 removing the token in P4 and inserting a token in P0.
Assume now that the initial state of the net contains not one token but three tokens, one in each of the three places P0, P1 and P2. This situation represents a conflict as both transitions T3 and T5 are enabled. Which transition should fire, T3 or T5? A rule for solving the conflict should be introduced, or the system should be redesigned to eliminate the conflict.
Formal analysis of the model can be carried out when a PN is described by linear algebraic equations.
Incidence MatrixThe structure of a PN is an integer matrix C, called an incidence or flow matrix. C is an m × n matrix whose m rows correspond to the places of the net and whose n columns correspond to the transitions. In ordinary PNs an element of this matrix is defined as follows:
It means that upon firing transition
By convention, the flow of tokens through transition
According to the version, introduced in [
Our approach uses timed places to model processing of multiple part classes within a mix, repairs following machine breakdowns and eventually set-ups ensuing a change in mix. Since most of these variables are stochastic by nature, the actual values are their respective expected values. For instance, the input of parts to the system and the machine breakdowns are respectively the expected time between arrivals and the expected time between failures. It is worth mentioning that the current method is not Stochastic Petri Nets, which deal with non-primi- tive events whose duration is assumed to be exponentially distributed [
Let us now turn our attention back to
To convert PN1, illustrated in
The graphical representation of TPN1 is also
The flow of tokens through transition
The author of [
The essence of the approach consists in proving that, under steady state conditions as defined in [
An important strategy for managing complex systems is breaking them down into appropriate subsystems and providing means for integrating them.
A TPN model of an n-part type open queueing network with M workstations can be decomposed into M independent TPNs, provided steady state conditions are fulfilled at each work station m,
As stated in [
Z is the delay matrix (on places) defined as a square diagonal matrix with elements
Q(0) is a vector representing the initial marking of the net.
(C+) is obtained by replacing the “−1” elements in the incidence matrix C by zeros.
Intuitively Equations (1) and (2) can be respectively associated with conservation of flow and conservation of tokens.
Let us now apply the decomposition rules to the queueing network in
Equations (1) and (2), should be fulfilled by each of the three stations.
Here, we shall only analyze workstation 1. This station processes two part types, type 1 and type 2, thus matching TPN1 in
Applying Equation (1) to the incidence matrix of
It is thus seen that under steady state conditions the entering (exogenous) flow of type 1 parts to the system,
In this example, one generator of the set of solutions of Equation (1) is J1,
The “1” values in J1 represent all the possible steady states of workstation 1: P0-idle, P3-processing part type 1, P4-processing part type 2.
Substituting Equation (4) in Equation (2) and using Equation (3) leads to:
Q0, Q3, Q4 represent the token content of places P0, P3, P4 for any firing sequence. Hence, the Left Hand Side (LHS) of Equation (5) represents the sum of tokens over the steady states of station 1. Since these three states represent all the mutually exclusive states of workstation 1, LHS equals 1. The three summation components of the Right Hand Side (RHS) represent the respective proportion of time station 1 spends in each state under steady-state conditions or, in probabilistic terms, it represents the steady state distribution over the three states. After substitution, Equation (5) becomes:
We may now use the above results to estimate the utilization of a station.
Based on the application of the decomposition rules presented in the previous section, the procedure for computing the utilization of a station is summarized as follows:
The total expected steady-state utilization rm of station m,
where
Provided the constraint rm < 1 is satisfied for each
In the next section, we shall use Equation (8) for verifying simulation models results of computerized open queueing network at steady state.
This section is a simplified version of a paper describing the usage of decomposed Timed Petri Nets as an analytical approach for verification of simulation models [
An important and difficult task in any simulation project is the validation and verification of the simulation model. Validation is commonly defined as the process intended to substantiate that the conceptual simulation model, within its domain of applicability, is an accurate representation of the real world system it describes. The verification process seeks to determine that the computerized simulation model was built right, and operates as intended. There is a rich literature on these topics, see e.g. [
From an output analysis perspective, system simulation is typically classified into terminating or steady state. While terminating simulations aim to estimate system parameters for periods well defined in terms of starting and ending conditions, steady state simulations aim to estimate system parameters as limits obtained for infinite simulation time. Before reaching steady state conditions when the system parameters attain stable values, the system behavior undergoes transition periods, reflecting the initial system operating conditions (see e.g. [
The TPN approach puts into evidence the flow realization along a variety of network paths and may consider different network structures. Such a decomposed TPN model of a resource enables a quick calculation of its expected utilization at steady state thus providing a stick yard against which to verify the long run simulation based utilization estimate of the same resource. In other words, it represents a verification method.
There are three stations (M = 3) and four part types (n = 4).
1) The inter-arrival time for part j, j = 1, 2, 3, 4 is Erlang distributed with mean Aj (time units)
The reciprocal of the inter-arrival mean serves to estimate the average input flow of parts. Hence the input flows (in parts per time unit, pptu) are:
2) The service times (in time units) of parts j, j = 1, 2, 3, 4 at stations m = 1 and m = 3 are normally distributed, while the service time at station m = 2 is Uniformly distributed, each with their respective mean,
We shall first use Equation (9) to calculate
The simulation project used Siman V software and the Arena framework. As the published example investigated the effect of several factors such as the planned utilization of the stations and the queue discipline, forty-eight simulation runs were carried out. Here we do not investigate such effects. We solely compared the TPN calculated estimates with the simulation average results after we deleted the transient period (about 400 minutes).The simulation average estimating the station utilizations were close to those calculated using TPN and their differences were no higher than 2%.
The relatively low differences obtained between the numerical results of the two methods provide evidence that the TPN technique is able to verify simulation models. Observed discrepancies between the TPN based and the results of the computerized simulation model can thus detect eventual flaws in the simulation model.
We shall briefly present an additional example dealing with the application of TPNs to textile batch planning [
The need for advanced methods to model and characterize the performance of planning and scheduling is especially apparent in the textile dyeing and finishing operations. There is a huge number of process combinations that a fiber, yarn or fabric may go through on its way to the final product. Well organized planning and control of the entering materials, flowing through the intricate manufacturing operations to reach their final state is critical for meeting customers due dates and thus provide on time delivery. The TPN decomposition approach has been developed and applied to calculate long run resource utilization for manufacturing systems of discrete items. The textile manufacturing conditions are different. Workstations (machines) are of two types: batch processing (especially for dyeing) and continuous processing (for finishing operations such as squeezing or drying). The discrete items entering the system are orders. Orders vary in size, fabric type, fiber blend, color and the kinds of required operations. For batches, an order “size” is measured in weight units while for continuous processing it is measured in length units. An order is characterized by its specific processing requirements and by its specific attributes such as fiber blend and Machine Direction (MD) weight (kg/m). Incoming orders are stored and wait for processing. There are two main operation categories: equipment oriented operations and work force oriented operations such as lot transporting, loading and unloading operations. As the relative duration of the latter is insignificant, here these operations are disregarded.
To apply the TPN decomposition approach for calculating the expected (long run) utilization at steady state of the equipment used in the textile processes, we shall adapt the basic assumptions in [
This section is an extension of Section 3.3, which estimates a station utilization of discrete systems.
Orders of type j, arrive at the system with given flow of weights,
- The dyeing operations are performed in batches, not exceeding the given manufacturing capacity of the dyeing machines. We assume that all dyeing machines have the same manufacturing capacity, G (kg/batch).
- A batch of type j is the maximal accumulated weight of type j orders in store, since the starting of the last batch, not exceeding the machine capacity, G.
- The average input flow of type j weights,
- A dyeing machine, m, has a batch processing duration,
The duration of this operation is dependent on the required “basic dyeing operation”, such as washing, bleaching or dyeing to a specific shade as well as on the specific order attribute in terms of “fiber blend”.
Let
for
The total expected steady-state utilization rm of station m,
Provided the constraint
The example is based on a real textile dyeing and finishing mill which performs about 25 - 30 specific processes. We have selected eight among these processes, whose accumulated input flow in kg/hour represents about 77% of the total input flow to the system.
The average overall input order rate is 2 orders per hour and the mean weight per order is 170 kg. Accordingly, the total input flow of weights of the selected processes to the first processing machine, which is a dyeing machine (DM) is 262 kg/hour. There are 10 DM machines assigned to the selected processes and the manufacturing capacity of each is G = 250 Kg.
A type j order arriving at a dyeing machine where its first operation (k = 1) will be performed, is characterized by its “basic dyeing operation” (washing, bleaching, pale shade or dark shade, i.e. four possibilities) and by its specific fiber blend (cotton/viscose, cotton/lycra, cotton/polyester, polyamide or acetate, i.e. five possibilities). The batch processing duration at any dyeing machine is dependent on the above combinations.
A type j batch comprises fabrics requiring the same type of basic operation and the same dyeing duration. Following this rule, eight types of batches were defined, each with a given weight flow
To switch from one basic dyeing operation to another requires a complete cleaning operation of the machine whose duration is 4 hours. To switch between fiber blends within the same basic dyeing operation requires partial cleaning whose duration is 2 hours. It is to be noted that j = 2, 3 need the same basic dyeing operation and so do j = 4, 5, 6 and j = 7, 8.
Considering these set-ups as additional types of customers, we shall calculate their contribution to the machine utilizations using Equation (8) as well.
To obtain a feasible planning solution to our problem (less than 11 machines) we have to select at least two batch types to be processed by the same machine while keeping the expected utilization of each machine below 1. Batch types 5 and 6, respectively allocated to machines 5 and 6, contribute to a low utilization of these two machines and they need only partial cleaning for switching, 2 hours.
Hence we may select batch types j = 5 and j = 6, to be performed by machine 5. The set-up duration for cleaning,
Accordingly, the expected utilization of machine 5 is calculated as follows:
In the same manner, we may further reduce the number of operating machines.
In this example, we extended the TPN decomposition approach as applied to manufacturing systems of discrete items to accommodate conditions existing in textile processing systems. Under these conditions, the input to the system is through flows of orders. These were transformed into flows of batches, which now replace the flows of discrete items. The procedure also assists in planning the allocation of different types of batches to machines.
j | ||||
---|---|---|---|---|
1 | 26.2 | 0.105 | 1 | 0.105 |
2 | 30.0 | 0.12 | 3 | 0.36 |
3 | 51.0 | 0.204 | 4 | 0.816 |
4 | 17.0 | 0.068 | 6 | 0.408 |
5 | 4.6 | 0.018 | 5 | 0.09 |
6 | 5.4 | 0.021 | 3.5 | 0.077 |
7 | 26.0 | 0.104 | 4.5 | 0.468 |
8 | 102 | 0.408 | 8.0 | 3.264 |
All | 262 | 1.048 |
The reviewed published papers showed that Petri nets are a versatile modeling structure. Section 2 of this paper presented the important extension of Petri nets to Timed Petri Nets (TPNs), which are able to time-base evaluate system performances. The section described in some details a technique for introducing time in Petri nets, by associating it with places. Section 3 showed how timed petri nets of open queuing networks were decomposed. Through decomposition, complex networks systems became easier to manage. Long run expected utilization of workstations at steady state, could be quickly calculated using decomposed TPNs. This enabled to use TPNs as a simulation verification method, as described in Section 4. The reviewed paper compared simulation results with TPN easily calculated estimates of stations utilizations. The low differences between the two techniques showed the advantages of TPNs as a simulation verification method. In the last presented paper, the decomposition approach to TPNs was applied to textile industry. Orders of different types are customary input to textile process- ing. The described procedure transformed the input flows of different types of orders into input flows of different types of batches, enabling to estimate the long run machines utilizations. The procedure also assisted in planning the allocation of different types of batches to operating machines.
Miryam Barad, (2016) Petri Nets—A Versatile Modeling Structure. Applied Mathematics,07,829-839. doi: 10.4236/am.2016.79074