reading petri net tutorial zurawski zhou

Upload: asdqwerty2778

Post on 14-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    1/17

    IEEE. TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 41, NO. 6, DECEMBER 1994 56 1

    Petri Nets and Industrial Applications: A TutorialRichard Zurawski and MengChu Zhou

    Abstract-This is a tutorial paper on Petri nets. Petri nets, as agraphical and mathematical tool, provide a uniform environmentfor modelling, formal analysis, and design of discrete eventsystems.

    The main objective of this paper is to introduce the fundamen-tal concepts of Petri nets to the researchers and practitioners,both from academia and industry, who are involved in the work inthe areas of modelling and analysis of industrial types of systems,as well as those who may potentially be involved in these areas.

    The paper begins with an overview of applications of Petrinets, mostly industrial ones. Then, it proceeds with a descriptionof Petri nets, properties, and analysis methods. The discussionof properties is put in the context of industrial applications. Theanalysis methods are illustrated using an example of a simplerobotic assembly system. The performance analysis, using Petrinets, is discussed for deterministic and stochastic Petri nets. Thepresented techniques are i llustrated by examples representingsimple production systems. In addition, the paper introduceshigh-level Petri nets, fuzzy Petri nets, and temporal Petri nets.This is done in the context of applicat ion prospects. The paperalso briefly discusses some of the reasons restricting the use ofPetri nets, mostly, to academic institutions.

    I. INT R ODUC T IONHE growth in the complexity of modem industrial sys-T ems, such as production, process control, communication

    systems, etc., creates numerous problems for their developers.In the planning stage, one is confronted with increased ca-pabilities of these systems due to the unique combination ofhardware and software. which operate under a large numberof constraints arising from the limited system resources. Inview of the capital intensive and complex nature of modemindustrial systems, the design and operation of these systemsrequire modeling and analysis in order to select the optimaldesign alternative, and operational policy. It is well-knownthat flaws in the modeling process can substantially contributeto the development time and cost. The operational efficiencymay be affected as well. Therefore special attention shouldbe paid to the correctness of the models that are used at allplanning levels.

    Petri nets, as graphical and mathematical tools, providea uniform environment for modeling, formal analysis, anddesign of discrete event systems. One of the major advantagesof using Petri net models is that the same model is usedfor the analysis of behavioral properties and performance

    Manuscript received Decemher 12, 1993; revised July 22 , 1994. Partialfinancial support was given hy the Center for Manufacturing Sy stems at theNew Jersey Institute of Technology.R . Zurawski is with Laboratory for Robotics k Intelligent Systems.Swiburne University of Technology, Melbourne. Vic. 3122. Australia.M . C . Zhou is with the Laboratory for Discrete Event Syst ems, Departmentof Elcctrical and Computer Engineering, New Jcrsey Institute of Technology.Newark, NJ 07102 USA.I E t E Log Number 9405099.

    evaluation, as well as for systematic construction of discrete-event simulators and controllers. Petri nets were named afterCarl A. Petri who created in 1962 a net-like mathematical toolfor the study of communication with automata. Their furtherdevelopment was facilitated by the fact that Petri nets canbe used to model properties such as process synchronization,asynchronous events, concurrent operations, and conflicts orresource sharing. These properties characterize discrete-eventsystems whose examples include industrial automated systems,communication systems, and computer-based systems. These,and other factors discussed in this paper, make Petri nets apromising tool and technology for application to IndustrialAutomation.Petri nets as graphical tools provide a powerful commu-nication medium between the user, typically requirementsengineer, and the customer. Complex requirements specifi-cations, instead of using ambiguous textual descriptions ormathematical notations difficult to undersland by the customer,can be represented graphically using Petri nets. This combinedwith the existence of computer tools allowing for interactivegraphical simulation of Petri nets, puts in hands of the develop-ment engineers ii powerful tool assisting in the developmentprocess of complex systems.

    As a mathematical tool, a Petri net model can be describedby a set of linear algebraic equations, or other mathematicalmodels reflecting the behavior of the system. This opens apossibility for the formal analysis of the model. This allowsone to perform a formal check of the properties relatedto the behavior of the underlying system, e.g., precedencerelations amongst events, concurrent operations. appropriatesynchronization, freedom from deadlock, repetitive activities.and mutual exclusion of shared resources, to mention some.The simulation based model validation can only produce alimited set of states of the modeled system. and thus can onlyshow presence (but not absence) of errors in the model, and itsunderlying requirements specification. Tht: ability of Petri netsto verify the model formally is especially important for real-time safety-critical systems such as air-traffic control systems.rail-traffic control systems, nuclear reaclor control systems.etc. Petri nets %ere used to model real-time fault tolerantand safety-critical systems in [ I I ] -[ 121, 1651. Fault detectionand in-process monitoring were modeled and analyzed in1271, 1961, I l O l l .One of the most successful application areas of Petri netshas been modeling and analysis of communication protocols[14-15], [22], 1381. 1371, [42] , 1531, [84]. The work in thisarea can be dated back to the early 1970s. In the past fewyears, a number of approaches have been proposed whichallow for the construction of Petri net rnodels of protocols

    0278-0046/94$04.00 G 1994 IEEE

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    2/17

    5hX IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 41, NO. 6, DECEMBER 1994

    from specifications written in a relatively skill-free languages[62], 1991.Methods were also proposed for transforming SDL1331, Lotos [9], and Estelle [1061 based protocol specificationsinto Petri nets for performance and reliability analysis.

    Petri nets have been used extensively to model and analyzemanufacturing systems. In this area, Petri nets were usedto represent simple production lines with buffers, machineshops, automotive production systems, flexible manufacturingsystems, automated assembly lines, resource-sharing systems,and recently just-in-time and kanban manufacturing systems.Some of the most recent developments involving modeling andqualitative analysis were reported in [I], 151, IO]. [ 1101-[113].The deadlock avoidance was studied in [7], [ 5 2 ] , 103].The application of Petri nets to modeling sequence con-trollers is another success story. Programmable Logic Con-trollers are commonly used for the sequence control in auto-mated systems. They are designed using ladder logic diagrams,which are known to be very difficult to debug and modify.Petri net based sequence controllers, on the other hand, areeasy to design, implement, and maintain. In the early So's,Hitachi Ltd. developed a Petri net based sequence controller[78] which was successfully used in real applications to controlparts assembly system, and automatic warehouse load/unloadsystem. The use of Petri nets, as reported, substantially reducedthe development time compared with the traditional approach.Numerous approaches to the synthesis and implementation ofPetri net based sequence controllers have been reported in thepast few years [35],41 , [541, [791, [109]-[111 I.

    Petri nets have been extensively used in software devel-opment. The work in this area focused on modeling andanalysis of software systems using Petri nets 1881. The mostmature developments involve the use of colored Petri nets.Colored Petri nets have been demonstrated in [57] to bea useful language for the design, specification, simulation,validation and implementation of large software systems.An integrated software development methodology based onhierarchical colored Petri nets was described in [82]. Thisapproach allows for automatic translation of SADT diagramsinto colored Petri nets for formal analysis, and for convertingthe nets into executable code. The design and analysis ofAda systems have also attracted a considerable attention1641, 1771, 1931.Petri nets, as a mathematical tool, allow for the performanceevaluation of the modeled systems. Both deterministic andstochastic performance measures can be evaluated by usinga broad class of Petri net models incorporating in theirdefinitions deterministic and/or probabilistic time functions.The performance evaluation can be conducted using eitheranalytical techniques, based on solving the underlying (semi)-Markov processes, or discrete event simulation. The use ofmodels which incorporate time functions having probabilis-tic distributions allows one to obtain production rates formanufacturing system models, throughput, delays, capacityfor communication and microprocessor system models, aswell as critical resource utilization and reliability measuresfor these and other systems. In recent years, this class ofPetri net models has been extensively used to model andstudy analytically performance of multiprocessor systems [3 ] ,

    [ S O ] , (681, multiprocessor system buses [46]. [59]-[60], DSPcommunication channels [48], parallel computer architectures1241, [IOS], as well as parallel distributed algorithms 161.

    Another area of applications was communication networks.Work was conducted on Fiber Optics Local Area Networkssuch as Expressnet, Fastnet, D-Net, U-Net. Token Ring [67].Fieldbuses, such as FIP and ISA-SP50, have attracted lots ofattention in the last two years 1131, [26], [SS]. This is notsurprising, since they are very important networks for factoryautomation. The interest steadily grows in modeling andevaluation of High Speed Networks, crucial for the successfuldevelopment of Multimedia Systems [23], [25].

    The performance of production systems, involving simpleproduction lines, job shops, robotic assembly cells, flexiblemanufacturing systems, etc., was studied in [4], [191, [43],[49], 1611. 1711, [110]. When a state explosion problem arises,or the underlying stochastic models are not amenable fortractable mathematical analysis, simulation may be conductedfor the analysis of both qualitative and quantitative properties[39], [74], [104]. The discrete-event simulation can be drivenfrom the model, sometimes using complex algorithmic strate-gies representing real-time scheduling and control policies ofproduction systems [701, [891.Petri nets with time extensions, combined with heuristicsearch techniques, were used to model and study schedulingproblems involving manufacturing systems [3], [63], [91], aswell as robotic systems [901, 11081. The robotic assembly andtrajectory planning using Petri nets were presented in [72].

    Petri nets with time extensions were also used to modeland analyze dynamics of continuous chemical processes [36].The continuous time and discrete-event process control wasmodeled and analyzed in [17], 1181, [47], [SI], 11071.

    This brief overview of applications of Petri nets focusedmainly on selected industrial areas. The references used wereeither the most representative in the area, or the most re-cent ones. The bibliography of Petri nets [83], published in1991, contains 4099 entries dealing with Petri net theory andapplications.

    The main objective of this paper is to introduce the fun-damental concepts of Petri nets to the researchers and prac-titioners, both from academia and industry, who are activelyinvolved in the work in the areas of modeling and analysisof industrial type of systems, as well as those who maypotentially become involved in these areas in the future.The presentation focuses on the ordinary Petri nets, althoughother types of Petri nets are also introduced in the contextof the application driven developments. Additional tutorialmaterial on Petri nets may be found in [38], [43], [76],1811, [86]. This paper is organized as follows. The Petrinet description and definitions are presented in Section 2.This section, also, includes an example illustrating the use ofPetri nets in the modeling of a simple multirobot assemblysystem. Some of the most fundamental properties of Petrinets, such as reachability, boundedness, conservativeness, andliveness, are discussed in Section 3. The analysis methodsare presented in Section 4. The methods covered in thissection are based on the coverability tree, and the incidencematrix and state equations. The two methods are, then, used

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    3/17

    ZURAWSKI AND ZHOU: PETRI NETS AND INDUSTRIAL APPLICATIONS: A TUTORIAL

    f i

    569

    Iig. I . Example of graphical representation of a Petri net

    to analyze the model of the multirobot assembly system. Theperformance analysis of Petri nets is presented in Section 5.Section 5 introduces the fundamental concepts instrumentalin performance evaluation of timed, and stochastic timedPetri net models. The application prospects of Petri nets arediscussed in Section 6, including the application driven Petrinets development.

    11. DESCRIPTION OF PETRI NETSA Petri net may be identified as a particular kind of bipartite

    directed graph populated by three types of objects. Theseobjects are places, transitions, and directed arcs connectingplaces to transitions and transitions to places. Pictorially,places are depicted by circles and transitions as bars or boxes.A place is an input place to a transition if there exists adirected arc connecting this place to the transition. A placeis an output place of a transition if there exists a directedarc connecting the transition to the place. In its simplestform, a Petri net may be represented by a transition togetherwith its input and output places. This elementary net may beused to represent various aspects of th e modeled systems. Forinstance, input (output) places may represent preconditions(postconditions), the transition an event. Input places mayrepresent the availability of resources, the transition theirutilization, output places the release of the resources. Anexample of a Petri net is shown in Fig. 1 . This net consists offive places, represented by circles, four transitions, depictedby bars, and directed arcs connecting places to transitionsand transitions to places. In this net, place p1 is an inputplace of transition t l . Places p 2 , and 113 are output places oftransition t l .

    Fig. 2 . (a) Multiple cuc5.(b) Compact representation of multiple arcs

    In order to study dynamic behavior of the modeled sys-tem, in terms ot its states and their changes, each placemay potentially hold either none or a positive number oftokens, pictured by small solid dots, a:i shown in Fig. 1. The presence or absence of a token in a. place can indicatewhether a condition associated with th-is place is true orfalse, for instance. For a place representing the availabilityof resources, the number of tokens in this place indicates thenumber of available resources. At any given time instance,the distribution of. tokens on places, called Petri net marking,defines the current state of the modeled system. A marking of aPetri net with V Lplaces is represented by an ( r n x 1) vector h l ,elements of which, denoted as M ( p ) ,are nonnegative integersrepresenting the number of tokens in the corresponding places.A Petri net containing tokens is called a marked Petri net.For example, in the Petri net model shown in Fig. 1, M =(1 ,O3U,U,O)?Formally, a Petri net can be defined as follows:

    PN = (P? . . 0:AdO);where1 . P = ( p 1 p 2 , ....p n t } is a finite set of places,2. 7 = { t l , ,2 . .... tTL}s a finite set of transitions, PUT #8, and P n T = 8,3. I : ( P x T) H N is an input function that defines

    directed arcs from places to transitions, where N is a setof nonnegative integers,

    4. 0 : ( P x f) H N is an output function which definesdirected arcs from transitions to places, and

    5 . M O P +- :V is th e initial marking.If I ( p , ) = k ( O ( p , ) = k ) . then there exist k directed(parallel) arcs connecting place p to transition f. (transitiont to place p ) . I f I ( p . t ) = 0 ( O ( p : / , ) = U), then there

    exist no directed arcs connecting p to t ( b to p ) . Frequently,in the graphical representation, parallel arcs connecting aplace (transition) to a transition (place) are represented bya single directed arc labeled with its multiplicity, or weightk . This compact representation of multiple arcs is shown inFig. 2.

    By changing distribution of tokens on places. which mayreflect the occurrence of events or execution of operations,for instance, one can study dynamic behavior of th e modeledsystem. The following rules are used to govern the flowof tokens.Enabling Rule . A transition t is said to be enabled if eachinput place p of 1 contains at least the number of tokens equalto the weight of the directed arc connecting p to t .

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    4/17

    57 0 IEEE TKANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 41. NO. 6, DECEMBER 1994

    n A

    (a) (b)( a ) Transition f I enabled. (b) Enabled transition tl fires.ig. 3.

    p21Fig. 4. Petri net with an inhibitor arc

    P3

    P2Fig. 5 . Self-loop removal

    Firing Rule:(a) An enabled transition f may or may not fire dependingon the additional interpretation, and(b) A firing of an enabled transition t removes from eachinput place 1 the number of tokens equal to the weight

    of the directed arc connecting p to t . It also deposits ineach output place p the number of tokens equal to theweight of the directed arc connecting t to p .

    The enabling and firing rules are illustrated in Fig. 3. InFig. 3(a), transition t l is enabled as the input place p1 oftransition t l contains two tokens, and I ( p l ! l ) = 2. The firingof the enabled tran5ition t l removes from the input place p ltwo tokens as I ( p 1 . l ) = 2, and deposits one token in theoutput place p 3 , O ( p 3 . f . 1 )= 1, and two tokens in the outputplace p 2 , O ( p 2 . f l ) = 2. This is shown in Fig. 3(b).The modeling power of Petri nets can be increased byadding the zero testing ability, i.e., the ability to test whether aplace has no token. This is achieved by introducing an inhibitorarc. The inhibitor arc connects an input place to a transition,and is pictorially represented by an arc terminated with a smallcircle. A Petri net with an inhibitor arc is shown in Fig. 4.The presence of an inhibitor arc connecting an input placeto a transition changes the transition enabling conditions. Inthe presence of the inhibitor arc, a transition is regarded asenabled if each input place, connected to the transition bya normal arc (an arc terminated with an arrow), contains at

    Fi g. 6. Petri net inodel of a multirobot system.

    TABLE I1NTERPRI:TATION OF PI.ACI:S A N D TRANSITIONSF TH E PETRINET h f O D t L OF TH E MULIIROBOTSSEMBLYYSTEM

    [%&e (w i th t o k e n L l r - Interoretatioo Ileast the number of tokens equal to the weight of the arc,and no tokens are present on each input place connected tothe transition by the inhibitor arc. The transition firing rulesare the same as for normally connected places. The firing,however, does not change the marking in the inhibitor arcconnected places.A Petri net is said to be pure or self-loop free if no placeis an input place to and output place of the same transition. APetri net that contains self-loops can always be converted toa pure Petri net as shown in Fig. 5.

    In order to illustrate how Petri nets can be used to modelproperties such as concurrent activities, synchronization, mu-tual exclusion etc., we consider a simple example of a mul-tirobot system. This system is represented by a Petri netmodel shown in Fig. 6, and Table I. In this model, two robotarms perform pick-and-place operations accessing a commonworkspace at times to obtain or transfer parts. In order toavoid collision. it is assumed that only one robot can accessthe workspace at a time. In addition, it is assumed that thecommon workspace contains a buffer with a limited spacefor products. This could represent an operation of two robotarms servicing two different machining tools, with one robotarm transferring semiproducts from one machining tool to thebuffer, and the other robot atm transferring semiproducts fromthe buffer to the other machining tool.In this model, places p 1 , p 2 : p s and transitions l l , t 2 , t 3model activities of robot arm E l l . Places p4 , ; . p~ and transi-tions t ~ ,s ! s model activities of robot arm 11'2. Transitions t land 14 represent concurrent activities of X 1 and R2. Either

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    5/17

    ZURAWSKI AN D ZHOU: PETRI NETS AND INDU STRIAL APPLICATIONS: A TUTORIAL 57 I

    of these transitions can fire before or after, or in parallelwith the other one. The access to the common workspacerequires synchronization of the activities of the arms in order toavoid collision. Only one robot arm can access the commonworkspace at a time. This synchronization is accomplishedby the mutual exclusion mechanism implemented by a subnetinvolving places p 7 . p 3 , p 6 and transitions 1 2 , t 3 , 5 . 6 . Firingtransition f 2 disables t 5 , ssuming t:, s enabled, and vice versa.Thus only one robot arm can access the common workspace ata time. In addition, i t is assumed that the buffer space is b.Thus, for instance, if pH s empty, then t2 cannot be enabled.This prevents R l from attempting to transfer to the buffer apart when there is 110 space in the buffer. Also, 1?2 cannotaccess the buffer if there is no part in the buffer, or place p gis empty.

    111. PROPERTIES O F PETRI NETSPetri nets as mathematical tools possess a number of prop-

    erties. These properties, when interpreted in the context ofthe modeled system, allow the system designer to identifythe presence or absence of the application domain specificfunctional properties of the system under design. Two typesof properties can be distinguished: behavioral and structuralproperties. The behavioral properties are these which dependon the initial state, or marking, of a Petri net. The struc-tural properties, on the other hand, do not depend on theinitial marking of a Petri net. These properties depend on thetopology, or net structure, of a Petri net. In this section, weprovide an overview of some of the most important, frompractical point of view, behavioral properties. The focus onthe behavioral properties is dictated by the space limitationsof this tutorial. An extensive description of the structuralproperties, and the analysis methods can be found in [76].The behavioral properties discussed in this section are reach-ability, boundedness, conservativeness, liveness, reversibilityand home state. Descriptions of other properties such ascoverability, persistence, synchronic distance, and faimess canalso be found in [ 7 6 ] . 1861.

    A . ReachabilityAn important issue in designing distributed systems is

    whether a system can reach a specific state, or exhibit a par-ticular functional behavior. In general, the question is whetherthe system modeled with Petri nets exhibits all desirableproperties, as specified in the requirements specification, andno undesirable ones.

    In order to find out whether the modeled system canreach a specific state as a result of a required functionalbehavior, it is necessary to find such a sequence of firingsof transitions which would result in transforming a markingAi,, o M z , where .Wepresents the specific state, and thesequence of firings represents the required functional behavior.It should be noted that real systems may reach a givenstate as a result of exhibiting different permissible patternsof functional behavior. In a Petri net model, this should bereflected in the existence of specific sequences of transitions

    firings, representing the required functional behavior, whichwould transform a marking M O to the required marking M; .The existence in the Petri net model of additional sequencesof transitions firings which transform A40 to hf; indicatesthat the Petri net model may not be reflecting exactly thestructure and dynamics of the underlying system. This mayalso indicate the presence of unanticipated facets of the func-tional behavior of the real system, provided that the Petri netmodel accurately reflects the underlying system requirementsspecification. A marking M , is said to be reachable from amarking MO f there exists a sequence of transitions firingswhich transforms a marking M O o Mi . .4 marking M1 is saidto be immediately reachable from a marking Af~~f a firingof an enabled transition in h f ~ ~esults in marking MI. Forinstance, in the Petri net model of the multirobot assemblysystem shown in Fig. 6, the state in which robot arm R1performs tasks in the common workspace, with robot armR2 waiting outside, is represented by the marking vectorM i = ( O , O , l . O . l , O : O , 2 . l )T .Mi can be reached from theinitial marking M(, , where 1140 = (1,O.0 .1.0, . 1.3.by the following sequence of transitions firings--t 1 2 ~ .hemarking M 1 = (0. I , 0)1.0.0. 1,3, ) T , which represents thestate of the system in which robot arm hl waits for the accessto the common workspace and robot arm R2 performs tasksoutside the commom workspace, is immediately reachablefrom the initial marking when transition t l fires. It shouldbe noted that in transitions t.1, and L 4 are both enabled. Theset of all possible markings reachable from AZ,, is called thereachability set. and denoted by R(M0).This will be discussedin more detail in Section 4.1. The set of all possible firingsequences from M ,, is denoted by L ( h f ( , ) .Thus th e problemof identifying the existence of a specific state M i , the systemcan take on, can be redefined as the problem of finding if M ; E R(1Lf).

    B. Boundedness and SafenessPlaces are frequently used to represent information stor-

    age areas in communication and computer systems, productand tool storage areas in manufacturing systems, etc. It isimportant to be able to determine whether proposed controlstrategies prevent from the overflows of these storage areas.The information storage areas can hold, without corruption,only a restricted number of pieces of data. In manufacturingsystems, attempts to store more tools? for instance, in thetool storage area may result in the equipment damage. ThePetri net property which helps to identify in the modeledsystem the existence of overflows is the concept of bound-edness. A Petri net is said to be I;-bounded if the numberof tokens in any place p , where p E P, is always less orequal to I; ( k is a nonnegative integer number) for everymarking M reachable from the initial marking M(,.M ER(M0) . A Petri net is safe if it is I-bounded. A Petri netshown in Fig. 7 is safe. In this net 110 place can containmore then one token. An example of a Petri net whichis unbounded IS shown in Fig. 8. This net is unboundedbecause place p4 can hold an arbitrarily large number oftokens.

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    6/17

    IEEE TRANSACTIONS O N INDUSTRIAL ELECTRONICS, VOL. 41, NO. 6, DECEMBER 1994

    Fig. 7. Petri net that I \ safe.

    i^ 3

    L

    P 4

    Fig. 8. Petri net that i \ unboundedC . Conservativeness

    In real systems, the number of resources in use is typicallyrestricted by the financial as well as other constraints. If tokensare used to represent resources, the number of which in asystem is typically tixed, then the number of tokens in a Petrinet model of this system should remain unchanged irrespectiveof the marking the net takes on. This follows from the fact thatresources are neither created nor destroyed, unless there is aprovision for this to happen. For instance, a broken tool maybe removed from the manufacturing cell, thus reducing thenumber of tools available by one.

    A Petri net is conservative if the number of tokens isconserved. From the ne t structural point of view, this canonly happen if the number of input arcs to each transitionis equal to the number of output arcs. However, in realsystems resources are frequently combined together so thatcertain tasks can be executed, then separated after the task iscompleted. For instance, in a flexible manufacturing system anautomatic guided vehicle collects a pallet carrying productsfrom a machining cell, and subsequently delivers it to theunload station where the vehicle and pallet are separated. Thisscenario is illustrated in Fig. 9.Transition t l models loadinga pallet onto a vehicle; transition t 2 represents the pallet beingdelivered to the unload station and subsequently removed fromthe vehicle. Although the number of tokens in the net changesfrom two to one when t i fires, and then back to two tokenswhen f.2 fires, the number of resources in the system does notchange. In order to overcome this problem, weights may be

    Palletp3 ,3 4

    "', A G V + P a i l e t I\-

    AGVP -? 5

    Fig. 9. Petri net conservative wi th rcspect to c c = [ l . , 2 . 1. 11.

    P3t2

    tlt3

    Fig. 10. Petri net that is str idy conservative.

    associated with places allowing for the weighted sum of tokensin a net to be constant. A Petri net is said to be conservativeif there exists a vector W . 111 = [ 7 u1 ~112, ....iwrrL] ,here nr. isthe number of places, and ~ ( p ) 0 for each p E P, suchthat the weighted sum of tokens remains the same for eachmarking A4 reachable from th e initial marking M,,. A Petrinet is said to be strictly conservative if all entries of vector UJare unity. The Petri net shown in Fig. 9 is conservative withrespect to vector 71' = [ l , . 2 . 1. 11 as the weighted sum oftokens in each marking is two. An example of a Petri net whichis not conservative is shown in Fig. 8; place p~ can hold anarbitrarily large number of tokens. If a Petri net is conservativewith respect to a vector with all elements equal to one. thenthe net is said to be strictly conservative. An example of aPetri net which is strictly conservative is shown in Fig. 10.D. Liveness

    The concept of liveness is closely related to the deadlocksituation, which has been studied extensively in the contextof operating systems. Coffman et al . [34] showed that fourconditions must hold for a deadlock to occur. These fourconditions are:

    1. Mutual exclusion: a resource is either available or allo-cated to a process which has an exclusive access to thisresource.

    2. Hold and wait: a process is allowed to hold a resource(s)while requesting more resources.3 . No preemption: a resource(s) allocated to a processcannot be removed from the process, until it is released

    by the process itself.4. Circular wait: two or more processes are arranged in achain in which each process waits for resources held by

    the proce\s next in the chain.For instance, in a flexible manufacturing system, a deadlockoccurs when the inputhutput buffer of a machining tool holds

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    7/17

    ZURAWSKI AND ZHOC- PETRI NETS AND INIXSTRIAL. APPLICATIONS: A TUTORIAL 51 3

    Fig. 1 I .

    tl tt3w PIPetri net with different levels of l iveness of transitionsE. Reversibiliiy an d Home Stute

    An important issue in the operation of real systems, suchas manufacturing systems, process control systems, etc., isthe ability of these systems for an error recovery. Thesesystems are required to return from the failure states to thepreceding correct states. This requirement is closely related tothe reversibility and home state properties of a Petri net. APetri net, for the initial marking M O , s said to be reversible iffor each marking M in f?(i\4(l), O s reachable from M. hehome state property is less restrictive, and more practical, thenth e reversibility property of ;I Petri net. A Petri net state M ; issaid to be a home state if for each marking k.1 n R(M0) ,i isreachable from M. he Petri net shown in Fig. 7 is reversible.The Petri net shown in Fig. 8 is nonreversible.

    a pallet with already machined products, and another palletwith products to be machined has been delivered to the buffer.Assuming that the buffer can hold one pallet only at a time, andan automated guided vehicle (AGV), for instance. has a spacefor one pallet, a deadlock occurs. The pallet with machinedparts cannot be moved from the buffer to the AGV. The palletwith parts to be machined cannot be moved from the AGVto the buffer. In this example, all four conditions hold, withthe buffer and AGV space for pallets regarded as resources.Unless there is a provision in the control software for deadlockdetection and recovery, a deadlock situation. initially confinedto a small subsystem. may propagate to affect a large portionof a system. This frequently results in a complete standstillof a system. A Petri net modeling a deadlock free systemmust be live. This implies that for all markings iVf, whichare reachable from the initial marking MO, t is ultimatelypossible to fire any transition in the net by progressing throughsome firing sequence. The Petri net shown in Fig. 10is live.This requirement, however, might be too strict to representsome real system5 or scenarios which exhibit deadlock-freebehavior. For instance, the initialization of a system can bemodeled by a transition (or transitions) which fires a finitenumber of times. After initialization, the system may exhibit adeadlock free behavior. although the Petri net representing thissystem is no longer live as specified above. For this reason,different levels of liveness for transition 1, and marking M u ,were introduced. A transition t in a Petri net is said to be:

    LO-live (or dead) i f there is no firing sequence in L ( M 0 )in which f can fire,Ll-live (potentially firable) if f can be fired at least oncein some tiring sequence i n L ( M o ) ,L2-live if t can be fired at least X: times in some firingsequence in f , ( A f ( ) )given any positive integer k ,L3-live if f can be tired infinitely often in some tiringsequence in L ( M ( 1 ) .andL4-live (or l ive) i f / is Ll-live (potentially firable) inevery marking in X(A.;k,) .

    Following this classification, a Petri net is said to be L % -live, for marking M(1, if every transition in the net is L,i-live.Different levels of liveness of transitions are shown in Fig. 1 1.In this example. transitions t u . I1 1 2 , and /,:I are LO, L1. L2 ,and LS-live, respectively, and strictly.

    IV. ANALYSIS ETHODSIn the prelious section. we defined a number of proper-

    ties of Petri nets which are useful for analyzing modeledsystems. An important issue to be considered during analysisis whether there exists one-to-one functional correspondencebetween the Petri net model and the original requirementsspecification; typically expressed in an informal way. Theconstruction of Petri net models from informal requirementsspecifications is not a trivial task, which requires a great dealof modeling experience, as well as the knowledge of thetechniques assisting in the model construction. As a result,a Petri net model may differ considerably from its originalspecification. This is especially true when large Petri netmodels of complex systems are involved. The existence ofthe one-to-one functional correspondence between an originalrequirements specification and its Petri net representationallows projection of the analysis results, obtained for thePetri net model. onto the original description. This providesfeedback to the customers which can, in many instances,help the customers clarify their perception of the system.Another important issue to be addressed during the analysisstage is the completeness of the requirements specitication. Inmost cases, the requirements specification defines the externalfunctional behavior of a system. This is typically expressedin terms of the system input output relationships. Inputsare generated by the environment of the system. Outputsare responses of the system to these inputs. If some inputs,generated by the environment of the system, are not includedin the requirements specification, then the system will beunable to respond to these inputs properly when they occurduring the system normal operation. The completeness of therequirements is especially important in the case of safety-critical systems. In these systems, the incompleteness of therequirements specification may lead to catastrophic eventsto occur in the environment of the system. For instance,the occurrence of unanticipated states in the operation ofa nuclear reactor may result in the failure of the controlsystem to respond to them properly, or at all, thus potentiallyleading to the reactor system failure. The consistency of therequirement specification is another issue to be consideredduring analysis. The inconsistency occurs when for a givenuermissible. temDoral combination of inputs. a requirements

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    8/17

    514 1Eb.E TKAI ISACTIONS ON INDUSrRlAL ELECTRONICS, VOL. 41, NO . 6. DECEMBER 1994

    Fig. 12. A Petri net model.

    specification allows for two or more different permissibletemporal combinations of outputs. It is mainly due to avague, incomplete, and frequently incorrect perception ofthe system functionality. I n this paper, we are going topresent an overview of two fundamental methods of analysis.One is based on the reachability tree, and the other onthe matrix equation representation of a net. In addition tothe two methods, a number of techniques were proposedto assist in the analysis of Petri net models. These ap-proaches allow fo r a systematic transformation of a Petrinet, by reducing the number of places and transitions in anet, and at the same time preserving the properties such asboundedness, conservativeness, liveness, etc. Smaller nets areeasier to analyze. Some of these techniques were discussedin 1761.

    A. Th e Covernhi l i r [v TreeThis approach is based on the enumeration of all possible

    markings reachable from the initial marking MO .Starting withan initial marking Mu. one can construct the reachability set bytiring all possible transitions enabled in all possible markingsreachable from the initial marking MO. In the reachabilitytree, each node is labeled with a marking; arcs are labeledwith transitions. The root node of the tree is labeled with aninitial marking M O .The reachability set becomes unboundedfor either of two reasons: The existence of duplicate markings,and a net is unbounded. I n order to prevent the reachabilitytree from growing indefinitely large, two steps need to betaken when a tree is constructed. The tirst step involveseliminating duplicate markings. If on the path from the initialmarking Mc, to a current marking M there is a markingM , which is identical to the marking M , then the markingM , as a duplicate marking, becomes a terminal node. Theoccurrence of a duplicate marking implies that all possiblemarkings reachable from M have been already added to thetree. For unbounded nets, in order to keep the tree finite,the symbol w is introduced. The symbol UI can be thought

    I t3

    (1, U, 1, 0ITFig. 13. The coverability tree of the Petri net model shown in Fig. 9.

    of as the infinity. Thus, for any integer T I , , w + 71 = w,w - n = w , < w. n this case, if on the path fromthe initial marking MO o a current marking M there is amarking M, with its entries less or equal to the correspondingentries in the marking M , then the entries of hl , which arestrictly greater than the corresponding entries of M, shouldbe replaced by the symbol w. In some paths the existence ofmarkings with the corresponding entries equal or increasing(as we move away from the root node) indicates that thefiring sequence which transforms M to M can be repeatedindefinitely. Each time this sequence is repeated, the numberof tokens on places labeled by the symbol w increases. Thecoverability tree is constructed according to the followingalgorithm:

    1.0) Let the initial marking MO e the root of the tree2.0) While new markings exist do the following:3.0) Select a new marking M .3.1) If M is identical to another marking in the tree,

    then tag A 4 old, and go to another new marking.3.2) If no transitions are enabled in M , ag M terminal.4.0) For every transition t enabled in marking M do

    the following:4.1) Obtain the marking M which results from firing1. in M .4.2) If on the path from the root to M . there exists amarking M uch that M ( p ) 2M ( p ) for eachplace p , and M A then replace M ( p ) by wfor each p . wherever M(p) > M(p).labeled t , and tag M new.

    and tag it new.

    4.3) Introduce as a node, draw an arc from M o MThe following exainple will illustrate the approach. Con-

    sider the net shown in Fig. 12, and its coverability treein Fig. 13. For the given initial marking, the root node isMO = ( l , O , L , O ) . In this marking, transition I- 3 is enabled.

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    9/17

    ZURAWSKI A ND ZHOU: PETRI NETS AND INDUSTRIAL APPLICATIONS: A TUTORIAL 575

    When t 3 fires a new marking is obtained: MI = (1,O.0, l )T .This is a new marking in which transition t 2 is enabled.Firing 12 in M I results in M 2 = (1.1. , O ) T . Since h f 2 =(1.1, , O ) T 2 Ad,, = ( l , O , l ,O) T , he second componentshould be replaced by the symbol w . This reflects the factthat the firing sequence t 3 t 2 may be repeated arbitrarilylarge number of times. In marking M 2 = ( l , ~ , l , O ) ~wotransitions are enabled: transition 1 1 and transition t 3 . Firingb , results in marking AT3 = ( 1 , ~ . 0 , 0 ) ~ ,hich is a ter-minal node. Firing t 3 results in a new marking M A =( L , 3 , 0 : l ) T ,which enables transition f ~ . iring / 2 in A4 4results in an old node: , I f 5 = (1:w . 1, O ) T which is identicalto M 2 .

    A number of properties can be studied by using the cov-erability tree. For instance, if any node in the tree containsthe symbol U , then the net is unbounded since the symbol wcan become arbitrarily large. Otherwise, the net is bounded.If each node of the tree contains only zeros and ones, thenthe net is safe. A transition is dead if it does not appearas an arc label in the tree. If a marking M is reachablefrom a marking Ala, then there exists a node Ad, such thatA4 5 M . However, since the symbol w can become arbitrdrilylarge, certain problems, such as coverability and liveness,cannot be solved by studying the coverability tree only. For abounded Petri net, the coverability tree contains, as nodes, allpossible markings reachable from the initial marking M O . nthis case, the coverability tree is called the reachability tree.For a reachability tree any analysis question can be solved byinspection.

    B. The Incidence Matrix and Stute EquationAn alternative approach to the representation and analysis of

    Petri nets is based on matrix equations. In this approach matrixequations are used to represent dynamic behavior of Petrinets. The fundamental to this approach is the incidence matrixwhich defines all possible interconnections between places andtransitions in a Petri net. The incidence matrix of a pure Petrinet is an integer r!, x 7 n matrix A, where 71 is the numberof transitions. and 7ri. is the number of places. The entries ofthe incidence matrix are defined as follows: U;,, = (I,; - a; ,where (I,: is equal to the number of arcs connecting transitionI , to its output place p , ((1, ; = O(p, . L ) ) , nd (1; ; is equal tothe number of arcs connecting transition t i to its input placepJ ( a , = l ( p , . , ) ) .When transition t ; fires, U,:. representsthe number of tokens deposited on its output place; p ) ,represents the number of tokens removed from its input place;p j . a i j represents the change in the number of tokens in placep ,. Therefore, transition I , is said to be enabled in marking121 if

    For Petri nets with self-loop?, aLJ= 0 for a place p , andtransition t , which belong to a self-loop. For this reason, inorder to make sure that the incidence matrix properly reflectsthe structure of a Petri net, the net is assumed to be pure, or

    made pure by introducing two additional places (see Fig. 5 ) .The state equation for a Petri net represents a change in thedistribution of tokens on places (marking) as a result of atransition firing. This equation is defined as follows:

    :Lfk is an rri x 1 column vector representing a marking n / ! kimmediately reachable from a marking M - 1 after firingtransition t i . The k-th firing vector u k , an r t . x 1 columnvector, has only one nonzero entry. This entry. a 1 in thei-th position, represents a transition t ; firing in the k-th firingof the net firing sequence starting with an initial marking M .This entry corresponds to the i-th row of the incidence matrixA which represents a change of a marking as a result of afiring transition t , . The matrix equation is useful in studyingthe reachability problem. However, this issue is outside thescope of this tutorial. For details see [76],181 1, 1861.

    Two concepts related to the incidence matrix are especiallyuseful in studing properties of Petri net models. They areT-invariant. and P-invariant.

    An integer solution :I of A T . r : = 0 is called a 7-invariant.The nonzero entries in a ?-invariant represent the firingcounts of the corresponding transitions which belong to afiring sequence transforming a marking Ad,]back to MO.Although a I invariant states the transitions comprising thefiring sequence transforming a marking M,nto AT[,, nd thenumber of times these transitions appear i n this sequence, itdoes not specify the order of transitions firings.

    An integer solution ;i/ of l l y = 0 i s called a P-invariant.The P-invariants can be explained intuitively in the followingway. The nonzero entries in a P-invariant represent weightsassociated with the corresponding places so that the weightedsum of tokens on these places is constant for all markingsreachable from an initial marking.

    The subset of places (transi tions) corresponding to thenonzero entries of a ?-invariant (P-invariant) is called thesupport of an invariant, and denoted by I [:/;I 1 ( 1 I;yl ) . A supportis said to be minimal if no proper nonempty subset of thesupport is also a support.

    C. An ExampleIn this section, we demonstrate how the coverability treeand invariant based techniques can be used to analyze the

    Petri net model of the multirobot system which is shown inFig. 6. Without losing the discussion generality, we assumeb = 1 . The coverability tree, in this case a reachability tree, isshown in Fig. 14. The incidence matrix of this net is shownin Fig. 15.

    The P-invariants obtained for this net are as follows:y 1 = (1 1 1 0 0 0 0 0 0 ) T, t / 2 = ( 0 0 0 1 1 1 0 0 o ) =y j = ( O 0 1 0 0 1 1 0 O ) T. l / 4 = ( 0 0 0 0 0 0 0 1 l ) ?

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    10/17

    57 6 IEEE TRANSACTIONS ON lNDUYTKlAL LLECTKONICS, VOL 41, NO. 6,DECEMBER 1994

    M o = ( 1 0 0 1 0 0 1 10)

    M 4 = ( O 0 1 1 0 0 0 o i ) ~ 3 = ( 0 1 0 0 1 0 1

    M g = (0 1 0 0 1010 I) T M ~ o = ( l O O O O 1 O 1 O ) Tk y \MOi1 = (0 1 0 0 0 1 0 1 O )T

    M IFig. 14 . Coverability tree of th e Petri nrl model shown in Fig. 3.

    PI P2 P3 P4 PS P6 ?7 P8 P9- 1 1 0 0 0 0 0 0 0

    0 - 1 1 0 0 0 - 1 - 1 11 0 - 1 0 0 0 1 0 00 0 0 - 1 1 0 0 0 00 0 0 0 - 1 1 - 1 1 - 10 0 0 1 0 - 1 1 0 0

    Fig. 15.cell. Incidence matrix of the Petri net model of (he multirobot assembly

    The following are the corresponding invariant supports:l l ? / l l = {P1~1)2?1):3)l lvn l l = {p 4 . P ; . P C ; )I I : Y ~ { ; u s . P s , P ~ }/ / : ? / - 1 l / = ( P 8 ; P Y ) .

    Boundedness and Sajeness: The Petri net shown in Fig. 6is bounded. This is evident from the reachability tree: nomarking reachable from the initial marking M O contains thew symbol. In addition, since for each marking, no entry isgreater than one, the net is safe. These properties can be alsoeasily established using P-invariants. Since each place in thenet belongs to some invariant support, and the net starts froma bounded initial marking, the net i s bounded. In addition,since the token count in each invariant support in the initialmarking is one, th e net is also safe. Two propcrtics relatedto the operation of thc actual system can be deduced fromthe boundedness propel-ty of the Petri net model. There is nobufler overflow, no provision for R1 to access the buffer areawhen it is full. Also, there is no buffer underflow, no provisionfor IC2 to access thc buffer area when i t is empty. Whenusing the reachability tree, these properties follow from thc

    Fig. 16.

    net safeness. The entries i n each marking, which represent thenumber of tokens in places p8 and p y , are either zero or one.Using invariants: The invariant support ))y/-1) covers places p a ,and p9 . Since the token content in lIy/-11/ n the initial markingis one, there is only one token either on p x , or p y at a time.Therefore there ISneither buffer overflow nor underflow.

    ConservativenP.F.v.ie.~.~: The Petri net shown in Fig. 6 is conser-vative. From the reachability tree, the net is conservative withrespect to vector tu = [ l , . 2 . 1 , 1 , 2 , 1: 1: 11. The weightedsum of tokens remains the same for each marking reachablefrom the initial marking, and equal s four. Using invariants: Thetoken content in each invariant support in the initial marking isone. The invariant supports 11y1II, Il;ylll, and Ily411 are mutuallyexclusive. The invariant supports II:qI 1 and 11;y:J contain placep: $as acommon element. The invariant supports l l ~ y ~ l lnd /l;y311contain place as a common element. Thus the weight ofplaces p s and p1; should be two for the net to be conservative.The implication of this property is that the number of robotarms operating in the assembly system is two and does notchange. Also, the number of the space resources in the bufferarea is one and does not change.Liveness: The Petri net shown in Fig. 6 is live; all transi-tions are live.

    Fig. 16shows a reachability graph of the Petri net of Fig. 6.The reachability graph shown in Fig. 16 is a directed graphconsisting of a set of nodes, and a set of directed arcs. The setof nodes represents all distinct labeled nodcs in the reachabilitytrec. The set of directed arcs, where each arc is labeled witha transition, represents all possible transitions between alldistinct labeled nodes in the reachability tree.

    By inspection. the net is U-live, since for any markingreachable from making M,,, it is possible to ultimately tire anytransition by executing some firing sequence. The invariantscould be used to demonstrate manually that the net is live.

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    11/17

    7URAWSKI AND ZHOCI: PETRI NETS AND INDUSTRIAL APPLJCATIONS: A TUTORIAL S I 7

    However, for the net of this size, this would be a tediousprocedure. As the net is live, the system cannot come to astandstill where no operation is possible.

    Reversibility: The Petri net shown in Fig. 6 is reversible.Also by inspection, using the reachability graph, IW" is reach-able from any marking AT E R ( M 0 ) .

    V . PERFORMANCENALYSISThe development of man-made systems requires that both

    functional and performance requirements are met. Dependingon the development stage of a system, the knowledge ofeither an approximate or exact (or both) performance may berequired. For example, at the design stage, the approximateperformance of the alternative design models is required inorder to eliminate these proposals which are highly unlikelyto meet the performance requirements when fully developedand implemented. Analytical techniques play an important roleat this stage. They allow the designer to obtain the requiredperformance measures, involving a relatively small time in -vestment needed for the model construction and its solution.The selected design altematives are then refined by increasingthe level of details in order to include in the model the actualoperational policies and time characteristics. As a result, themodel complexity or the presence of heuristic algorithms mayprohibit the use of the analytical techniques. The discrete-event simulation is, then. the only viable alternative for theperformance evaluation. Although, it is an expensive and timeconsuming technique.

    The ordinary Petri nets do not include any concept of time.With this class of nets, it is possible only to describe the logicalstructure of the modeled system, but not its time evolution.Responding to the need for the temporal performance analysisof discrete-event systems, time has been introduced into Petrinets in a variety of ways. In this section two fundamentaltypes of timed Petri nets are discussed in the context of theperformance evaluation. These are deterministic timed Petrinets, and stochastic ones. An example of a simple productionsystems is used to illustrate the basic solution techniques forthese classes of nets. The focus of the discussion in this sectionis on the analytical performance evaluation of Petri net models.This choice wa s motivated mainly by th e recognition of theimportance of using the analytical techniques for performanceevaluation.

    A. Deterministic Timed Petri NetsTime may be associated with transitions (timed transition

    Petri net-TTPN). TTPN's can be classified into three-phasetiring TTPN's, and atomic firing TTPN's. In the former class,tokens are removed from the input places when a transitionbecomes enabled. The transition fires after a certain period oftime (time delay), depositing tokens on the output places. Inthe latter class, tokens remain on the input places of a transitionwhich is enabled. After a certain period of time (time delay),the transition fires removing tokens from the input places, anddeposits tokens on the output places.

    The presence of the conflict structures (a structure involvinga place having two, or more output transitions) in a Petri net,execution of which leads to conflicts (in the conflict structureonly one transition can fire, others become disabled), requiresa conflict resolution mechanism to be introduced. Since thismechanism is, typically, based on a probabilistic function, thenet becomes stochastic. For this very reason, the use of thedeterministic timed Petri nets for the performance evaluation,as reported to date, has been restricted to the choice-free orconflict-free nets, which can be further modeled as markedgraphs, or event-graphs.

    A marked graph is a PN (P ,T , ,0 ,M O ) uch that 'd p EP , t E T , I ( p , t ) 5 1. O ( p , t ) 5 1, and given any p E P,I{t E T : ( p , t )= 1}1= 1, and I{t C T : ( p , t )= 1}1= 1.In a marked graph, each place has exactly one input tran-

    sition and exactly one output transition. Thus no conflict ispossible. The marked graph models are suitable to representand study performance of the asynchronous concurrent sys-tems which do not involve conflicts [U],95]. This classof nets has been extensively used to model and analyzeperformance of the industrial automated systems such as job-shop production systems, robotic assembly cells, and flexiblemanufacturing cells [43], [49], [ l l O J .

    A timed marked graph is a marked graph ( P , T . I , O ,Mo,y.r), here y: P h ?+ is the delay function, R+ isthe set of nonnegative real numbers, and 7 : T H R+ is thefiring time function.

    In a timed marked graph, deterministic time delays areassociated with places and transitions. A token in a place. withan associated delay time, can be available or not-availableto enable its output transition. The previous tiring rules forordinary PN's are expanded to include the following:

    1 . At any time instance, a transition t becomes enabled ifeach input place p of t contains at least one availabletoken,

    2 . Once transition t is enabled, it starts tiring by removingone token from each input place. It completes firingafter the time delay ~ ( t ) ,nd deposits one token intoeach output place p . These tokens become available aftertime ~ ( p ) .

    A marked graph is strongly connected if there is a directedpath from any node to any other node, where a node can beeither a transition or place.

    An elementary path is a sequence of nodes: z1x2...zn,TI, 2 1, such that there is an arc from .c i to .x,+l, where1 5 ,i < r i . If 71 > 1, I; ; = : K ~ mplies that 1: = j . 1 5 , i : ; j 5 71 .

    An elementary loop, or circuit, is a sequence of nodes::c1:c2 . . c ri > 1, such that z; = : I ; . ; , where 1 5 ,I < j 5 7 1 ,implies that i = 1 and j = TI , .

    The fundamental approach to studying timed marked graphsis based on two concepts: The total time delay in a loop,and the total number of of tokens in a loop. A strongly-connected marked graph consists of a number of elementaryloops. The total time delay in a loop is obtained as a sumof delays introduced by all transition and places comprisingthe loop. The total number of tokens in a loop is obtainedas a sum of lokens present in the places which belong to the

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    12/17

    578 IEEE T R A N S A C I I O N S ON INDUS [ 'RIAL kLECTRONICS. VO L 41, N O 6. DhCEMBkR lY94

    Robot 1 Machrne 1 Robot 2 Machine2-

    Fig. 17.convcyers.A production line consisting of tw o machines, two robots, and two

    Slots in ConveyorM I dvai lable available M2 avai lable

    vK1 avniiahle RZ avai lable ,'Fig. 18. Dete rmin istic tirned Petri net model I'or the prod uctio n line

    loop. Then, the minirnum cycle time of the marked graph is1851. 1951:K = I l l ~ t X { U , / N ,

    where D , is the time delay associated with the i-th loop. l l i iis the total number of tokens present in the places of the i-thloop. The ratio DL/N , s called the cycle time of loop %.

    The upper and lower cycle times can be derived for thetimed (deterministic or random) marked graphs using themethods proposed in 1201 and 1431. Linear programming wasdemonstrated to be ii computationally efficient method forcomputing the cycle times 1201, 1491, 1751.

    An example of a siniple production line will be usedto demonstrate the method for obtaining cycle times of amarked graph.

    The production line consists of two machining tools (A41and M 2 ) , wo robot arms, and two conveyors. Each machiningtool is serviced by a dedicated robot arm which performsload and unload tasks. One conveyor is used to transportworkpieces, a maximum of two at a time. The other conveyoris uaed to transport empty pallets. There are three palletsavailable in the system. The arrangement is shown in Fig. 17.Each workpiece is machined on A41 and M 2 , in this order.The machining on 1\41 takes I O time units. The machining onM 2 takes 16 time units. The load and unload tasks require 1time unit. The conveyors transportation times are negligible.

    The deterministic timed Petri net model of this system isshown in Fig. 18. Table 11 provides a description of the placesand transitions involved, as well as the associated time delays.The initial marking of the net is (3000121 l l ) T . he Petri netmodel contains four loops. The time delays associated withthese loops, as well as their token contents, are shown inTable 111. Then, the minimum cycle time is 18 time units, asdetermined by the loops 1 ,pA14p;(or p 9 ) f : 3 . his means that i ttakes a miiiimum of I8 time units to trdnsform a raw workpieceinto a final product.

    TABLE 111LOOPSA ND T H E I R) E I .AYS , T O K E N [rus. A N D Cuc1.1: T I M ~ SOR FIG 18

    I t should be noted that the increase in the number ofavailable pallets is not going to make the minimum cycle timeof the system any shorter. This is because of the time involvedin machining at M 2 . Thus, Petri net analysis can also helpdecide the appropriate number of pallets and/or fixtures.

    B. Stochastic Tirned Petri NetsWhen time delays are modeled as random variables, or

    probabilistic distributions are added to the deterministictimed Petri net models for the conflict resolution, stochastictimed Petri net models are yielded. In such models, ithas become a convention to associate time delays withthe transitions only. When the random variables are ofgeneral distribution or both deterministic and randomvariables are involved, the resulting net models cannot besolved analytically for general cases. Thus simulation orapproximation methods are required. The stochastic timedPetri nets in which the time delay fo r each transition isassumed to be stochastic and exponentially distributed arecalled stochastic Petri nets (SPN) 1731. The S P N modelswhich allow for immediate transitions, i.e., with zero timedelay, are called generalized SPN (GSPN) 1681, 1691. Bothmodels, including extensions such as priority transitions,inhibitor arcs, and probabilistic arcs can be converted intotheir equivalent Markov process representations, and analyzedanalytically.

    To demonstrate the methodology, we consider the exampleof the system shown in Fig. 17. Suppose that the machiningtool A 41 is faster than M 2 , however subject to failures. A4 2and the two robots are failure-free. Given the processing ratesof the machining tools and robots, as well as the failure andrepair rates of M I , we are interested in obtaining the averageutilization of A f t , and the production rate of the system(throughput), assuming that only one pallet is available.

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    13/17

    ZURAWSKI AND ZHOlr: PETRI NETS AND INDUSTRIAL APPLICATIONS: A TUTORIAL 519

    M1 idle Slotsin Conveyor available

    (a)

    & = (1 0 00 1 2) '- (O 1O OO 2)T ~ M 2 = ( O 0 1 0 1 1 ) Tf 4 1 I t 5

    M3= (0 0 0 1 0 2) T(b )

    (C )Fig. 19.bility graph. (c) Markov chain.(a ) Stochastic Petri ne t model fo r the production line. (b) Reacha-

    The SPN model of the system is shown in Fig. 19(a). Anumber of modeling assumptions were made for the conve-nience of the presentation:

    1. The tasks performed by M 2 and R2 were aggregatedinto a single transition representing loading, processingand unloading at M 2 .

    2 . The time associated with the unloading tasks performedby R1 is incorporated into transition t a .3. The failure-repair loop is added to MI.4. The time delays are associated with transitions only.

    In the model, A; is used to represent the firing rate of atransition t , . A firing rate of a transition equals to the reciprocalof the average firing delay time of the corresponding event oroperation. The description of places and transitions is given inTable IV , together with the adopted values of the firing rates.

    The reachability graph of th e model is shown in Fig. 19(b).The graphical representation of the corresponding embeddedcontinuous time Markov chain is shown in Fig. 19(c). In thisrepresentation, the links between states are labeled with thefiring rates of the corresponding transitions.

    The transition rate matrix ( ~ . ~ . , ) ( i , , j 0, 1:2 :3 ) fo r theembedded continuous time Markov chain, which is shown inFig. 19(c), is as follows:

    - A 1 A10 -A 2 -X.1 A ::j= 1 0 -A 3 0 .30 A; 0 -A;,The steady-state probabilities, denoted as 7 r 1 , can be ob-tained by solving the following equations:(TO 7r1 7r 2 T;3)C= 0

    TO + 7r1 + 7r2 + 7r:3 = 1.

    TABLE IVINTERPRETATION . ~ N D IRINGATES F PLACESND TRA N S I TI O N SN FIG. 9(a).

    Place Interpretationpl Workpieces and pallets avadablepz M I processing a workpiecep3 Workpiece ready for processing at M2M I in repair

    ~ ~ ~ ! ~ ! k t svailable Firing RateProcessing and unloading involving M1 , and R IM1 breaks down AI = 0.5

    A5 = 4~-M I is repaired

    This yields7 i , = X 2 X 3 X j / X .TL'= X 1 X 2 X 5 / X .

    7r1 == X1X3X5/X.7r 3 == X1X3X.1/X

    where X = X z X 3 X j + X l X 3 X j + X1X:!X5 + X l X : j X 4 .When using the firing rates from Table IV , and the derived

    formulas for the steady-state probabilities, the following valuesare obtained 70= 0.05, 7r1 = 0.40, 7r;: = 0.50, and 7r 3 = 0.05.

    I . The M 1 executing a task is modeled by the presence ofa token on place p' . This corresponds to the markingM1, and state 7 r l , The expected utilization of M1 isthen 40%.2. The completion of a product is modeled by firing tran-sition / 3 . This transition is enabled in marking h f 2 .Thus, the system production average rate is given bythe product of the probability that t3 is enabled and thefiring rate of tJ , i.e., ~ 2 X : j 2.0 workpieces/time unit.

    The analysis of a Markov model may involve the steady-state (as shown in the example) or transient analysis (thestudy of the system evolution from its initial state to thesteady state), or both depending on the requirements andthe Markov process itself. For example, if the net is notdeadlock-free, i.e., the underlying Markov process has anabsorbing state(s), then the steady-state analysis makes nosense. General-purpose software packages are available forsolving the above stochastic net models, including GreatSPN[30] and SPNP 1321.

    VI. PETRINETS: APPLICATIONSROSPECTSThe development of Petri nets has been, to a large extent,

    motivated by the need to model the industrial systems. Or-dinary Petri nets are not always sufficient to represent andanalyze complex industrial and other systems. This promptedth e development of new classes of nets, some of which areintroduced briefly in this section.

    Tokens in the ordinary nets have no identity. This posessome problems for modeling systems such as manufacturingand communication systems, which require the physical re-sources or messages, if represented by tokens, to have identity.Without this identity, i t is impossible to trace the flow ofdifferent resources or messages in the system. A potentialsolution is to construct a model in such a way that the flow ofeach resource or message is associated with a dedicated subnet.Since the resources or messages share, in most cases, the samesystem, all these subnets are identical. This approach increases

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    14/17

    58 0 IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 41. NO. 6. DE CE M Bh R 1YY4

    the graphical complexity of the model. In order to addressthis issue, Petri nets which allow for tokens to have distinctidentity were proposed. These nets, referred to as high-levelPetri nets, include predicate-transition nets [45 colored nets[56] , and nets with individual tokens 1871. In high-level Petrinets, a token can be a compound object carrying data. Thisdata can be of arbitrary complexity involving integers, reals,text strings, records, lists and tuples. A detailed discussion ofthis class of nets is beyond the scope of this paper. However, itshould be noted that ordinary and high-level Petri nets have thesame descriptive power. High-level Petri nets provide muchbetter structuring facilities than ordinary nets. The coloredand predicate-transition nets are almost identical with respectto their description and simulation. However, there are someconsiderable differences with respect to formal analysis. Thecolored Petri nets were used in numerous application areas.These areas include communication protocols [ 5 3 ] ,productionsystems 1701, VLSI [92], etc. An important development in thearea of high-level Petri nets was the introduction of object-oriented Petri nets, which are described in detail in 1941.Object-oriented Petri nets can be considered as a special kindof high level Petri nets which allow for the representationand manipulation of an object class [ 161. In this class of nets,tokens are considered as instances or tuples of instances ofobject classes which are defined as lists of attributes [102].This type of net was used to model and analyze FM S systems121, [ I O ] , assembly tasks [SI, and assembly systems [ I ] .The recognition of the need for the qualitative specificationof the industrial control, as well as the need for representingapproximate and uncertain information has led to the devel-opment of various types of fuzzy Petri nets. The definitionsof these nets, to a large extent, were influenced by thevarious application areas. Fuzzy Petri nets have been used forknowledge representation and reasoning [29], [44],[66]. FuzzyPetri nets (Petri nets with objects [94]) have been also used tomodel monitoring and control of a FMS system [ I O l ] . FuzzyProgrammable Logic Controllers were modeled in [SO]. Tasksequence planning in robotic assembly systems using fuzzyPetri nets was discussed in 1211.Ordinary Petri nets are not powerful enough for representingand studying some of the important properties of concur-rent systems, such as eventuality (certain transitions musteventually fire; certain places must eventually have tokens),and fairness (if a transition becomes firable infinitely often,then it must fire infinitely often), for instance. In order toaddress these issues, temporal Petri nets were introduced. Inthis class of nets, the timing constraints are represented by theoperators of a variant of the propositional temporal logic oflinear time. Typical operators used in this class of nets arenext. henceforth, eventually, until, etc. Temporal Petri netswere used to model and analyze a handshake daisy chainarbiter 1971, and the alternating bit protocol [98]. The abilityof temporal Petri nets to express eventuality makes this modelsuitable to represent and study the external functional behaviorof systems. This functionality is expressed in terms of theinput-output relationship, i.e., if a certain input pattern hasbeen established, than eventually a certain output pattern willbe generated. In 11121. a method was proposed which allows

    for the construction of nets realizing the external functionalityusing less places and transitions then the original models.This allows for the construction of the verification models ofcomplex systems using less places and transitions, and thusreducing the difficulty of the formal verification tasks.

    Although attempts to combine Petri nets with other tech-niques, such as neural networks, fuzzy logic, etc., seem to beon the increase, it appears that the use of Petri nets is stillrestricted to research laboratories and academic institutions.This situation, to a large extent, results from the lack ofwidely available inexpensive software tools suitable for thedevelopment of industrial type of systems. These types of toolswould be required to provide facilities for dealing with theapplication domain specific problems at a relatively skill-freelevel which would not require the knowledge of Petri nets,and the analysis methods. The facility for translating Petri netmodels to the executable code will be also essential. Theywill allow for rapid prototyping of the developed systems inthe operational environment. In the past few years, a largenumber of tools have been reported in the Petri net literature.However, a majority of these tools are used mostly for researchand educational purposes. An overview of some of the Petrinet tools can be found in 1401.Another reason why the use of Petri nets is largely confinedto academic and research institutions is the difficulty involvedin constructing Petri net models. Constructing Petri net modelsof systems, especially large scale systems, is not a trivialtask. It requires a great deal of experience. No methodologyis available yet, which would allow for a fully automaticconstruction of Petri net models. From our observations, inmost cases, Petri net models are constructed in an ad hocmanner. However, attempts have been recently made to makethis particular approach more systematic. These were reportedin [381, [ 1 1 1 1 . In the past two decades, numerous approachesto the systematic construction of Petri net models have beenproposed, and the work in this area still continues. Theseapproaches, using the terms of software engineering, can

    ified into bottom-up, top-down, and hybridapproaches [ 1091, [ 1 I I I . A comprehensive discussion of theseapproaches can be found in [55] . The reuse of Petri netmodels is also restricted. This is mainly due to the factthat Petri net models are, typically, constructed on a one-offbasis. The development is, in most cases, not supported byproper documentation. It is clear that if Petri nets were tobe widely used, especially by the industry people, methods,and the supporting tools, allowing for an automatic or semi-automatic construction of Petri net models from requirementsspecifications would have to be developed. In the past fewyears, a number of approaches have been reported which allowfor the automatic construction of restricted classes of Petri netmodels from requirements specifications expressed using pro-duction rules, flow diagrams, 5tate machines, temporal logic,application domain dependent semi-formal languages, etc.

    ACKNOWLEDGMENTThe authors greatly appreciate the comments given by A.

    D. Robbi, K. Venkatesh, and H. H. Xiong.

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    15/17

    ZURAWSKI A ND ZHOC. PETRI NETS AN D INDUSTRIAL APPLICATIONS: A TUTORIAL 58 1

    REFERENCES[ I ] M. Adamou, A. Bourljault, and S . Zerhouni, Modelling and controlof flexible manufacturing assembly systems using object oriented Petrinets, in Proc. IEEE Int. Workshop on Emerging Technol. and FactoryAutomation, Palm-Cove, Cairns, Australia, 1993, pp. 164-168.[2 j S . A. Ben, M . Moalla, M . Courvoisier, and R. Valette, Flexiblemanufacturing production system modelling using object Petri nets andtheir analysis, IMACS Symp. MCTS, Lille, France, 1991, pp. 553-560.[ 3 ] M. Akaza, D.-I . Lee, S . Kumagai, and S. Kodama, Application of

    timed marked graphs to a scheduling problem of production systemsincluding repetitive processes with set-up times, in Modern Tools forManufacturing Svstems, R. Zurawski, T. Dillon, Eds. Amsterdam:Elsevier, 1 993, pp. 263-277.[4 ] R. Y. Al-Jaar and A. A. Desro chers, Performance evaluation ofautomated manufacturing systems using generalized stochastic Petrinets, IEEE TranF. Robotics and Automat., vol. 6, no. 6, pp. 621-639,1990.151 S. Amar, E. Crnye, and J.-C. Gentina, A method for hierarchicalspecification and prototyping of flexible manufacturing systems, inProc. IEEE Workshop on Emerging Technol. and Factory Automution,Melbourne, Australia, 1992, pp. 44-59.[6] H. H. Ammar, S. M. Islam and S. Deng, Performability analysis ofparallel and distributed algorithms in Proc. IEEE Int. Workshop onPetri Nets and Pi~rfornicrnceModels, Kyoto, Japan, 1989.[7] Z. A. Banaszak and B. H. Krogh, Deadlock avoidance in flexiblemanufacturing systems with concurrency competing process flows,IEEE Trans. Robotics Automat., vol. 6, no. 6, pp. 724-734, 1990.

    [8] 0. Barakat, L. Paris, J. Bourrieres, and F. Lhote, Object orientedmodelling of assembly tasks, IMACS Symp. M C T S , Lille. France, 1991,pp. 638-643.[91 M . Barbeau and G. Bochman, A subset of Lotos with the computationalpower of place/transition-nets, in Adirznces and Theory of Petri Nets1993, Lecture hotes in Compurer Science. A. Marsan, Ed. Berlin:Springer-Verlag, vol. 691, pp. 49-68.

    [ I O ] R. Bastide and C . Silbertin-Blanc, Mo delling of flexible manufacturingsystem by means of cooperative objects, in Computer Applicationsin Production and Engineering. G. Doumeingts, J. Browne, M. Toml-janovich, Eds.11 11 J. Bechta-Dugan and K. S. Trivedi, Coverage modelling for depend-ability analysis of fault-tolerant systems, IEEE Trans. Comput., vol.38, no. 6, pp. 775-787. 1989.I 21 F. Belli and K.-E . Grosspietsch, Specification of fault- lolerant systemsissues by predicate/transition n ets and regular expres sions -appro ach andcase study, IEEE Trans. sofhvare Eng.. vol. 17, no. 6, pp. 513-526,

    1991.[ 131 N. Berge, M. Samaan. G. Juanole, and J. Atamna, Methodology forLAN modelling and analysis using Petri net based models, in Proc.

    In! . Workshop o n Modellinq, Analysis an d Simulation in Telecomm. S!.st.,MASCOT94, Durham, NC, 1994, pp. 335-342.[ 141 B. Berthomieu and M. Diaz, Modelling and verification of timedependent systems, IEEE Truns. Sofhcnrc. Eng., vol. 17, no. 3 , pp .259-273. 1991.1 151 J. Billington, G. R. Wheeler , and M. C . Wilbur -Ham. PROTEAN :A high-level Petri net tool for the specification and verification ofcommunication protocols. IEEE Trms. Sofrware Eng., vol. 14, no. 3,pp . 301-31, 1988.I161 G. Booch, Object-oriented development. IEEE Trans. SofhMre E n g , ,vol. 12, no. 2, pp. 21 1-221. 1986.I 171 K. Brand and J . Kopainsky. Principles and engineering of processcontrol with Petri nets, IEEE Tran.r.. Autom at. Cont., vol. 33, no. 2.pp . 138-149, 1988.I 181 G. Bru no and G. M archetto, Process-translatable Petri nets for the rapidprototyping of process control systems, IEEE Trans. Software Eng.,vol . 12 , no . 2 , pp . 3463 57 , 1986.1191 G. Bundell, Multi-facet modelling of flexible manufacturing systemsusing a minimax algebraic Petri net rcprcsentation, in Proc. /EIn/. Workshop on EmerginR Technol. and Factor! A utoma t., Palm-Cove,Cairns, Australia . 1993. pp. 178-187.1201 J. Campos , G. Chiola , J . M . Colom, and M. Silva. Properties andperformance bounds for timed marked graphs, IEEE Trans. Circuityand Syst.-l: Fundameritul Theory rind Applicut., vol. 39, no. 5 , pp .3 8 6 4 0 1 , 1 9 9 2 .1211 T. Cao and A. C. Sanderson. Task decomposition and analysis ofassembly scquen ce plans using Petri nets, Proc. .?rd I n t . Conf: onComput. Integrated Munufacturing. Troy, NY, 1992, pp. 138-147.1221 C. Cap ellma nn and H. Dibold, Petri net hased specifications of servicesin an intelligent network-experiences gained from a test casc applica-

    Amsterdam: Elsevier, 1991, pp. 593-600.

    tion, in Applications and Theory of Petri Nets 1993, Lecture Notes inComputer Science, A. Mars an, Ed. Berlin: Springer-Verlag, 1993, vol.691, pp. 543-551.1231 L. R. Carmo and G. Juanole, Modelling and evaluating the DQDBprotocol with stochastic timed Petri nets, in Proc. Int. Workshop onModelling, Analysis and Simulation in Elecom m. Syst., MASCOT94,Durham, NC, 1994, pp . 269-275.[24] S . Caselli and G. Conte, GSPN models of concurrent architectureswith mesh topology, in Proc. IEEE International Workshop onPetri Nets und Performance Models, Melbourne, Australia, 1991, pp.280-289.1251 V. Cata nia, A. Puliafito, and L. Vita, A modeling fram ework to evalua teperformability parameters in gracefully degrading systems, IEEE Trans.Ind. Electron., vol. 40, no. 5, pp. 4 6 1 4 7 2 , 1993.[26] S . Cavalieri, A. Di St efano, and 0. Mirab ella, Optimization of acyclicbandwith allocation exploiting the priority mechanism in the Fieldbusdata link layer, IEEE Truns. Ind. Electron., vol. 40, no. 3 , pp. 297-306,1993.1271 A . Chaillet, M. Com bacau, and M. Cour voisier , Specification of FMSreal-time control based on Petri nets with objects and process failuremonitoring, in Proc. IECON93, Hawaii.. 1993, pp . 144-149.1281 G. Cheh aibar, Validation of phase-executed protocols modelled withcoloured Petri nets, in Proc. 11th Int. Con6 on Applicat. and Theory ofPetri Nets, Paris, France, 1990, pp . 84-103.1291 S . Chen, J . Ke , and J. Chang, Kno wledge representation using fum yPetri nets, IEEE Trans. Kno\vledge and Data Eng., vol. 2, no. 3, pp.311-319. 1990.[30] G. Chiola, A software package for the analysis of generalized stochasticPetri net models in Proc. IEEE h t . Workshop on Timed Petri Nets,Torino, Italy, 1985.[ 31] G. Chiola . C. Dutheillet, G . Franceschinis and S. Haddad, Stochasticwell-formed coloured nets and symmetric modelling applications, IEEETrans. Comput., vol. 42, no. I I , pp . 134:1-1360, 1993.1321 G . Ciardo, Manual fo r the SPNP Package, Duke University. 1989.[ 3 3 ] F. Cindo, C. Lanzarone and A. Torgano, A Petri net model of SDL,in Proc. 5th European Workshop on Applicat. and Theory of Petri Nets,Aarhus, Denmark, 1984 , pp . 272-289.[34] E. G. Coffman, M. J. Elphick, and A. Shoshani, System deadlocks,Computing Surveys, vol. 3, pp. 67-78.1351 D. Crock ett, A. Desrochers. F. DiCesare, :and T. Ward, Implementationof a Petri net controller for a machining workstation, in Proc. o f l E E EInt. Conj: Robotics and Automut., Raleigh, NC, 1987, pp. 1861-1867.I361 R . David and H. Alla, Autonomous and timed continuous Petri nets,in Advan ces in Petri Nets 199.1, Lecture Notes in Com puter Science, G .Rozenberg Ed.1371 M. Diaz, Petri net based models in the specification and verificationof protocols, in Applications o Petri Nets 1986 Part 11, Lecture Notesin Computer Science, W. Brauer , W. Reisig and G. Rozenberg, Eds.Berlin: Springer-Verlag. vol. 255, pp. 135-170. 1987.

    [38] F. DiCesare and A. A . Desrochers, Modeling, co ntrol, and performanceanalysis of automated manufacturing systems using Petri nets, Controland Dynainic Sy.stems, C. T. Leondes, Ed. New York: Academic, I99 ,1391 P. Dubois. A flexible work3hop design and optimization usingSEDRIC: A Petri net simulator, in Pro(.. 10th Int. Conf: on Appliccit.und Theor) of Petri Nets. Bonn, Germany, 1989, pp . 378-393.[40] F. Feldbrugge, Petri net tools overview 1989, n Advances in Pefri Nets1989, Lecture Notes In Computer Science, G. Rorenberg. Ed. Berlin:Springer-Verlag. 1990, vol. 424, pp , 15 1-178.(411 L. Ferra rini, An incremental approach to logic controller design withPetri nets. IEEE Tran.7. Syst.. Man, and Cybern., vol. 22, no. 3 , pp .4 6 1 4 7 3 , 1 9 9 2 .[42] G. Florin, C. Keiser, and S. Natkin, Petri net models of a distributedelection protocol on unidirectional ring, in Proc. 10th Int. Coflf o nApplicat. mid Theor3 ofpe tri Nets, Bon , Germany , 1989 , pp. 154-173.[43] P. Freedman, Time, Petri nets, and robotics. IEEE Truns. Robotics andAutomut., vol. 7, no . 4 , pp . 417433, 1991 .[44] M. L . Garg , S . I. Ahson, and P. V. Gupta, A fuzzy Petri net for

    knowledge representation and reasoning, I+-m. Process ing Lett., vol.39 , pp. 165-171, 1991.(451 H. J. Genrich and K. 1.autenbach. System modelling with high-lecelPetri nets. Theoret. Comp. Sci. , v o l . 13, pp , 109-136, 1991.1461 H . J. Genrich and R. M. Shapiro, Formal verification of an arbitercascade, in Advances und T h e o n of Petri Nets 1992, Lecture Notesin Computer Science. Berlin: Springer-Verlag. vol. 6 16, pp. 205-223,1992.1471 H:M. Hanisch, Analysis of place/transition nets with timed arcs andits application to batch process co ntrol, in App1ictrrion.s arid Theon. of

    Berlin: Springer-Verlag, 1993, vol. 674, pp. 71-90.

    vol. 47. pp . 121-172.

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    16/17

    58 2 IEEE TRANSACTIONS ON INDU SrKlAL, ELECTRONICS. VOL. 41, NO 6, DECEMBER I994

    Petri Nets 1993,Lecture Note.\ in Computer Science, M. A. Marsan, Ed.Berlin: Springer-Verlag. 1993, vol. 691. pp. 282-299.1481 D. A . Hartley and D. M. Harvey, Analysis of the TMS320C40coinm unicatio n channe ls using timed Petri nets, in Advance., an dTheory of Petri Nets 1993, Lecture Notes in Computer Science. A .Marsan, Ed.1491 H. P. Hillion and J. M . Proth, Performance evaluation of job-shopsystems using timed-event-graphs, IEEE Trans. Automat. Cont., vol.34, no . I , pp. 3-9, 1989.1501 M . A. Holliday and M. K. Vernon, Exact performance estimates formultiprocessor memory and bus interface, IEEE Trans. Comput .. vol.36, no . I , pp . 76-85. 1987.

    15 11 L. E. Holloway and B. H. Krogh, Synthesis of feedback control logicfor a class of controlled Petri nets, IEEE Trans. Automat . Cont .. vol.35, no . 5, pp . 5 1 6 5 2 3 , 1990.1521 D.-Y. Hsieh and S.-s t . ,vol. I , no . 4, pp . 424-441, 1990.[941 C. Sibe rtin-Bla nc, High level Petri nets with da ta structures, in Proc.6t h European Worksh~ip n Applicut. arid Theoty ($Petri Nets, Helsinki,Finland, 198.5.

    [95l J . Sifakis, Y J w of Petri nets for pertorm ance evaluation. in Mecisuring.Modelling, and ElvA.ut ing Computer Sy.stcm.s. Amsterdam: 1977, pp .75-93.1961 V. S. Srinivasan and M. A . Jafari, Fault detectiodmonitoring usingtime Petri nets, IE-EE Triins. Svst.. Man, and Cybern., vol. 23, no . 4,pp . 1155-1162, 1993.I971 I.Suzuki and H. Lu , Tempotal Petri nets and their application tomodelling and analysis of a handshake daisy chain arbiter,IEE-E Trans.Cornput., vol. 38. no . 5, pp . 6 9 6 7 0 4 , 1989.

    New York: Springer-Verlag. 1985, vol. 4.

  • 7/27/2019 Reading Petri Net Tutorial Zurawski Zhou

    17/17

    ZURAWSKI AND ZHOU: PETRI NETS AND INDUSTRIAL APPLICATIONS: A TUTORIAL 5x 3

    1981 I. Suzuki, Formal analysis of the alternating bit protocol bytemporal Petri nets, IEEE Trans. Sofhtrre Eng . , vol. 16, no. 1 I ,pp. 1273-1281, 1990.1991 T. Suzuki, S. Shatz, and T. Murata, A protocol modelling and verifi-cation approach based on specification language and Petri nets, IEEETrans. Software Eng., vol. 16, no. 5 , pp. 523-536, 1990 .[ 1001 C-J. Tsai and L-C. Fu, Modular approach for Petri net modelling offlexible manufacturing systems adaptable to various task-flow require-ments, in Pro( . . o j 1992 IEEE Conf Robotics and Automat., Nice,France, 1992, pp. 1043-1048.[I01 R. Valette, J. Cardoso, and D. Dubois, Monitoring manufacturingsystems by means of Petri nets with imprecise markings, in Proc. IEEE

    I n t . Symp. Inrell. Cont.. pp. 233-237, 1989.[ 1021 R. Valette and M . Cou rvoisier , Petri nets and artificial intelligence,in Modern Tool.\ for Munufacturing System.c,R. Zurawski and T. Dillon,Eds.[ 1031 N. Viswanadham, Y . Narahari, and L. Johnson, Deadlock preventionand avoidance in flexible manufacturing systems using Petri net mod-els, IEEE Trans. Robotics and Automat, , vol. 6, no. 6, pp. 713-723,1990.[ 1041 N. Viswanadhain and S. Sundar, Distributed simulation of flexiblemanufacturing systems, in Proc. IEEE IECONXX, Singapore, 1988,[ 1051 C . J. Wang and V. P. Nelson, Petri net performance modelling of amodified mesh-connected parallel computer, Para lk l Comput ing, vol.17, no. I , pp. 75-84, 1991.[ 1061 C.-Y. Wang and K. Trivedi, Integration of specification for modellingand specification for system design, in Advances and Theory of PetriNers 1993, Lecture Notes in Computer Science. A. Marsan, Ed. Berlin:Springer-Verlag. 1993, vol. 691, pp. 47 34 91 .[ 1071 E. C. Ydmalidou and J. Kantor, Modelli ng and optimal control of

    Amsterdam: Elsevier , pp. 38 54 05 , 1993.

    pp. 895-900.

    discrete-event chemical processes using Petri nets, Comput. and Chem-ical Eng., vol. 15, pp. 503-519, 1990.[I081 D. Zhang. Planning using timed Pr/T Nets, in Proc. Japan U.S.A.Symp. Nesibk Automat. , San Francisco, CA , 1992, pp. 1179-1 184.11091 M. C. Zhou, F. DiCesare, and A. A. Desroch ers, A hybrid methodologyfor synthesis of Petri nets fo r manufacturing systems, IEEE Trans.Robotics and Automat., vol. 8 , no. 3, pp. 350-361. 1992.[ I 101 M . C. Zhou, K. McDermott, and P. A. Patel. Petri net synthesis andanalysis of an FMS cell, IEEE Trans. Syst., Man. nnd Cyhern., vol. 23,no. 2, pp. 523-531, 1993.[ I 1 I ] M. C. Zhou and F. DiCesare, Petri Net Synthesis J;vDiscrete EventControl oj Manufacturing Systems.[ 1 121 R . Zurawvki and T. Dillon , Sys tem atic construction of functionalabstractions of Petri net models of typical components of flexiblemanufacturing systems, in Proc. Int. Workshop on Petri Nets andPerjormance M odels, Melbourne, Australia , 1991, pp. 248-257.11 131 -, Modelling and verification of flexible manufacturing systemsusing Petri nets, Modern Tools or Manufacturing Systems, R . Zurawskian d T. Dillon, Eds.

    Boston, MA: Kluwer, 1993.

    Amsterdam: E lsevier, 1993, pp. 237-261.

    Richard Zurarsk i (M85). for a photograph and biography please see page5 66 of this issue.

    MengChu Zhou (S88-M90-M90-SM 93), for a photograph and biographyplease see page 566 of this issue.