14
ORIGINAL ARTICLE Deadlock control of concurrent manufacturing processes sharing finite resources ZhiWu Li & Murat Uzam & MengChu Zhou Received: 17 July 2006 / Accepted: 6 June 2007 / Published online: 14 September 2007 # Springer-Verlag London Limited 2007 Abstract A novel deadlock control policy is developed for modeling the concurrent execution of manufacturing processes with limited shared resources through a class of nets, ES 3 PR. A relevant property of the system behavior is that it is deadlock-free. Recent work has shown that deadlock situations in a plant system can be easily characterized by the structural analysis of the system, particularly, in terms of unmarked or insufficiently marked siphons in its Petri net model. The strict minimal siphons in a plant ES 3 PR net model are divided into elementary and dependent ones. The proposed deadlock prevention policy is to make all siphons satisfy maximal cs-property when the elementary siphons in the plant Petri net model are properly supervised via explicitly adding monitors for them with appropriate initial markings. Compared with the existing approaches in the literature, the advantage of the policy is that a much smaller number of supervisory places (mon- itors) are added and unnecessary iterative processes are avoided. Finally, its application is illustrated by a flexible manufacturing example. Keywords Petri net . Deadlock prevention . Elementary siphon . Dependent siphon . Flexible manufacturing system 1 Introduction In a flexible manufacturing system (FMS), different types of raw parts enter the system at discrete points of time and are simultaneously processed, sharing a limited number of resources, such as robots, AGVs, machine tools, and buffers. In such a system, every raw part follows a preestablished sequence of production steps. Each step requires certain system resources. These sequences are simultaneously executed and have to compete for a finite set of shared resources. This competition can cause dead- locks a highly undesirable situation. A deadlock is a system state under which some production processes can never be finished. Each set of two or more jobs keeps waiting indefinitely for the other jobs in the set to release resources. Deadlock and related blocking phenomena often cause unnecessary costs, such as long downtime and low use of some critical and expensive resources, and may lead to catastrophic results in some highly automated manufac- turing systems [9], such as semiconductor production systems. Therefore, it is a necessary requirement to develop an effective FMS control policy to make sure that dead- locks will never occur in the system. This paper focuses on the deadlock problems in such FMS. Petri nets [20, 31] are a major mathematical tool to model, analyze, and control deadlocks in various resource allocation systems, including FMS, and they are well suited to exhibit FMS behaviors, such as concurrency, conflict and causal dependency. A powerful feature of Petri nets is their Int J Adv Manuf Technol (2008) 38:787800 DOI 10.1007/s00170-007-1125-6 Z. Li (*) School of Electro-Mechanical Engineering, Xidian University, No.2 South Taibai Road, Xian 710071, China e-mail: [email protected] M. Uzam Niğde Üniversitesi, Mühendislik-Mimarlik Fakültesi, Elektrik-Elektronik, Mühendisliği Bölümü, Kampüs, 51200 Niğde, Turkey e-mail: [email protected] M. Zhou Department of Electrical and Computer Engineering, New Jersey Institute of Technology, Newark, NJ 07102, USA e-mail: [email protected]

Deadlock control of concurrent manufacturing processes

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Deadlock control of concurrent manufacturing processes

ORIGINAL ARTICLE

Deadlock control of concurrent manufacturing processessharing finite resources

ZhiWu Li & Murat Uzam & MengChu Zhou

Received: 17 July 2006 /Accepted: 6 June 2007 /Published online: 14 September 2007# Springer-Verlag London Limited 2007

Abstract A novel deadlock control policy is developed formodeling the concurrent execution of manufacturingprocesses with limited shared resources through a class ofnets, ES3PR. A relevant property of the system behavior isthat it is deadlock-free. Recent work has shown thatdeadlock situations in a plant system can be easilycharacterized by the structural analysis of the system,particularly, in terms of unmarked or insufficiently markedsiphons in its Petri net model. The strict minimal siphons ina plant ES3PR net model are divided into elementary anddependent ones. The proposed deadlock prevention policyis to make all siphons satisfy maximal cs-property when theelementary siphons in the plant Petri net model are properlysupervised via explicitly adding monitors for them withappropriate initial markings. Compared with the existingapproaches in the literature, the advantage of the policy isthat a much smaller number of supervisory places (mon-itors) are added and unnecessary iterative processes areavoided. Finally, its application is illustrated by a flexiblemanufacturing example.

Keywords Petri net . Deadlock prevention .

Elementary siphon . Dependent siphon .

Flexible manufacturing system

1 Introduction

In a flexible manufacturing system (FMS), different typesof raw parts enter the system at discrete points of time andare simultaneously processed, sharing a limited number ofresources, such as robots, AGVs, machine tools, andbuffers. In such a system, every raw part follows apreestablished sequence of production steps. Each steprequires certain system resources. These sequences aresimultaneously executed and have to compete for a finiteset of shared resources. This competition can cause dead-locks — a highly undesirable situation. A deadlock is asystem state under which some production processes cannever be finished. Each set of two or more jobs keepswaiting indefinitely for the other jobs in the set to releaseresources. Deadlock and related blocking phenomena oftencause unnecessary costs, such as long downtime and lowuse of some critical and expensive resources, and may leadto catastrophic results in some highly automated manufac-turing systems [9], such as semiconductor productionsystems. Therefore, it is a necessary requirement to developan effective FMS control policy to make sure that dead-locks will never occur in the system. This paper focuses onthe deadlock problems in such FMS.

Petri nets [20, 31] are a major mathematical tool tomodel, analyze, and control deadlocks in various resourceallocation systems, including FMS, and they are well suitedto exhibit FMS behaviors, such as concurrency, conflict andcausal dependency. A powerful feature of Petri nets is their

Int J Adv Manuf Technol (2008) 38:787–800DOI 10.1007/s00170-007-1125-6

Z. Li (*)School of Electro-Mechanical Engineering, Xidian University,No.2 South Taibai Road,Xi’an 710071, Chinae-mail: [email protected]

M. UzamNiğde Üniversitesi, Mühendislik-Mimarlik Fakültesi,Elektrik-Elektronik, Mühendisliği Bölümü, Kampüs,51200 Niğde, Turkeye-mail: [email protected]

M. ZhouDepartment of Electrical and Computer Engineering,New Jersey Institute of Technology,Newark, NJ 07102, USAe-mail: [email protected]

Page 2: Deadlock control of concurrent manufacturing processes

ability to represent good behavior properties of the system,such as deadlock-freeness and boundedness [1, 5].

Many researchers use Petri nets as a formalism to describethe behavior of FMS and to develop appropriate deadlockresolution methods. The major approaches using Petri nettechniques to cope with deadlocks in FMS are deadlockdetection and recovery [14, 29], deadlock avoidance [7, 8,10] and deadlock prevention [1, 6, 11, 15, 23–27, 32].

A deadlock detection and recovery approach permits theoccurrence of deadlocks. As soon as a deadlock occurs, it isdetected and then the system is put back to a deadlock-freestate, by simply reallocating the resources. The efficiencyof this approach depends on the response time of theimplemented algorithms for deadlock detection and recov-ery. In general, these algorithms require large amounts ofdata and may become complex when several types ofshared resources are considered [1]. In a deadlock avoid-ance approach, at each system state an on-line controlpolicy is used to determine the correct system evolutionsamong the feasible ones. The main purpose of this approachis to keep the system away from deadlock states. Althoughthis approach usually leads to better use of resources andhigh throughput, many computationally feasible methodsthat fall into this type of deadlock control strategies do nottotally eliminate all deadlocks. Therefore, in this case if adeadlock arises, suitable recovery strategies are stillnecessary [4, 14, 28]. Deadlock prevention is usuallyachieved either by effective system design [12, 13, 30,31] or by using an off-line mechanism to control therequests for resources to ensure that deadlocks never occur.Monitors and related arcs are added to the original Petri net(plant model) to realize such mechanism [3, 6, 11, 15, 18,21–23, 32]. This implies that both a plant model and itssupervisor are in a Petri net formalism. Usually, eachpossibly problematic minimal siphon requires a monitor tobe added to prevent itself from being emptied or insuffi-ciently marked. Unfortunately, the number of such siphonsin a net grows quickly and in the worst case growsexponentially with the size of the net. Hence, theshortcoming of the existing methods is that they need tointroduce too many additional monitors when the numberof such siphons is large, leading to a much more complexcontrolled net system than the uncontrolled one (plantmodel). To overcome this problem, the concept ofelementary siphons in an ordinary Petri net was firstproposed in our previous work [15, 16]. Our work showsthat liveness can be enforced by explicitly adding monitorsfor only elementary siphons, whose number is bounded bythe size of a plant net model, and especially by the numberof operations in the class of FMS discussed in this work.

The objective of this paper is to propose an elementarysiphon based deadlock prevention policy for FMS that canbe modeled by ES3PR [23]. Strict minimal siphons in an

ES3PR net are divided into elementary and dependent ones.A monitor is added to each elementary siphon and thecontrollability of a dependent siphon is ensured by properlysetting the control depth variables of its elementary siphons.Finally, linear programming techniques are used to deter-mine suboptimal control depth variables of elementarysiphons in order that the liveness-enforcing Petri netsupervisor has more permissive behavior.

The rest of this paper is organized as follows. Nextsection presents briefly the basics concepts and notations ofPetri nets and ES3PR. Section 3 proposes the concept ofelementary siphons in a generalized Petri net as well astheir related results. Section 4 develops the controllabilityconditions of dependent siphons. A design method of theliveness-enforcing supervisors for ES3PR is proposed inSect. 5. Section 6 develops an algorithm to design a morepermissive liveness-enforcing supervisor for ES3PR byrearranging the output arcs of the additional monitors. InSect. 7, an ES3PR example is used to illustrate the proposedmethodology. Section 8 concludes this paper.

2 Preliminaries

2.1 Petri Nets

A (general) Petri net [20, 31] N is a 4-tuple (P, T, F, W) whereP and T are finite, nonempty, and disjoint sets. P is the set ofplaces and T is the set of transitions with P [ T 6¼ ; andP \ T ¼ ;: F � P � Tð Þ [ T � Pð Þ is called flow relationof the net, represented by arcs with arrows from places totransitions or from transitions to places. W: F→N is amapping that assigns a weight to an arc, where N= {1, 2,...}. N = (P, T, F,W) is called an ordinary Petri net, denoted asN = (P, T, F), iff ∀f∈F, W( f ) = 1. A net is pure or self-loopfree iff . Apure Petri netN = (P, T, F, W) can be alternatively representedby its flow matrix or incidence matrix [N], where [N] is a |P|×|T| integer matrix and N½ � p; tð Þ ¼ W t; pð Þ �W p; tð Þ.

LetN = (P, T, F,W) be a net. The preset of a node x∈P∪Tis defined as �x ¼ y 2 P [ T y; xð Þ 2 Fjf g. While the postsetof a node x∈P∪T is defined as x� ¼ y 2 P [ T x; yð Þ 2 Fjf g.This notation can be extended to a set of nodes as follows:given X⊆P∪T, �X ¼ [x2X �x, and X � ¼ [x2X x�. An ordi-nary net N = (P, T, F) is called a state machine if ∀t∈T,�tj j ¼ t�j j ¼ 1. A string x1, x2, ..., xn (xi∈P∪T ) is called apath of N iff 8i 2 1; 2; � � � ; n� 1f g, xiþ1 2 x�i . A simplepath from x1 to xn is a path whose nodes are all different,which is denoted by SP(x1, xn).

A marking M of net N = (P, T, F, W) is a mapping from Pto IN, where IN = {0, 1, 2, ...}. (N, M) is called a markednet or a net system. M(p) indicates the number of tokens

788 Int J Adv Manuf Technol (2008) 38:787–800

Page 3: Deadlock control of concurrent manufacturing processes

contained in place p. p is marked by M iff M(p) > 0. Asubset D⊆P is marked by M iff at least one place in D ismarked by M. The sum of tokens in all places in D isdenoted by M(D) where M Dð Þ ¼ P

p2D M pð Þ.A transition t∈T is enabled at a marking M iff 8p 2� t,

M(p) ≥ W(p, t); this fact will be denoted as M ti½ ; whenfired in a usual way, this gives a new marking M′ such that8p 2 P;M 0 pð Þ ¼ M pð Þ �W p; tð Þ þW t; pð Þ; it will be de-noted as M ti½ M 0. Marking M′ is said to be reachable fromM if there exists a sequence of transitions σ = t0t1, ... tn,and markings M1 , M2 , . . . , and Mn such thatM t0i½ M1 t1iM2 � � �Mn tniM 0½½ holds. The set of markingsreachable from M in N is denoted as R(N, M).

A transition t∈T is live under M0 iff ∀M∈R(N, M0), ∃M′ ∈R(N, M), M' ti½ . N is dead under M0 iff , M0 ti½ holds.(N, M0) is deadlock-free iff ∀M∈R(N, M0), ∃t ∈ T, M ti½ holds.(N, M0) is quasi-live iff ∀t ∈ T, ∃M ∈ R(N, M0), M ti½holds. (N, M0) is live iff ∀t ∈ T, t is live under M0. (N, M0) isbounded iff ∃k ∈ IN, ∀M ∈ R(N, M0), ∀p ∈ P, M(p) ≤ k holds.

A P-vector is a column vector I: P→Z indexed by P anda T-vector is a column vector J: T→Z indexed by T, whereZ is the set of integers. A P(T)-vector I(J ) is denoted byP

p2P I pð Þp Pt2T J tð Þt� �

for economy of space. We denotecolumn vectors where every entry equals 0(1) by 0(1). IT

and [N]T are the transposed versions of a vector I and amatrix [N], respectively. Ik k ¼ p 2 P I pð Þ 6¼ 0jf g is calledthe support of a P-vector I. Ik kþ ¼ p I pð Þ > 0jf g denotesthe positive support of I, while Ik k� ¼ p I pð Þ < 0jf gdenotes the negative support of I. P-vector I is a P-invariant(place invariant) iff I ≠ 0 and IT[N] = 0T. P-invariant I issaid to be a P-semiflow if no element of I is negative. Aninvariant is called minimal when its support is not a strictsuperset of the support of any other, and the greatestcommon divisor of its elements is one. If I is a P-invariantof (N, M0) then ∀M ∈R (N, M0), I

TM = ITM0.Let P be the set of places of net N, I be a P-vector, and

S ⊆P be a subset of places of N. I\S is defined to bePp2PnS I pð Þp. For example, I ¼ 2p1 þ 3p2 þ p3 þ 4p4 rep-

resenting (2 3 1 4 0. . .0)T is a P-vector and S = {p1, p4} inFig. 1. Then one gets InS ¼ 3p2 þ p3. Ik k \ S 6¼ φ meansthat ∃p ∈ S, I(p) ≠ 0.

Let S be a non-empty subset of places. S ⊆ P is a siphon(trap) iff �S � S� S� �� Sð Þ. Siphon S is said to be minimal iffit contains no other siphons as its proper subset. A minimalsiphon S is strict if it does not contain a marked trap.

The following notations and properties of generalizedPetri nets are from [2]. Given place p, maxt2p� W p; tð Þf g isdenoted by maxp�.

Definition 1 [2] Let (N, M0) be amarked net and S be a siphonof N. S is said to be max-marked (min-marked) at a markingMiff ∃p ∈ S such that M pð Þ � maxp� M pð Þ � minp�

� �.

Definition 2 [2] Let (N, M0) be a marked net and S be asiphon of N. S is said to be max-controlled iff S is max-marked at any reachable marking.

Definition 3 [2] A net (N, M0) is said to be satisfying themax cs-property (controlled-siphon property) iff eachminimal siphon of N is max-controlled.

The cs-property is an important concept in net theory onwhich our deadlock prevention approaches rely. A siphonsatisfying the cs-property can be always sufficiently markedto allow firing a transition once at least. In order to checkand use the cs-property, Barkaoui et al. [2] presented someresults to determine whether a given siphon is max-controlled and the relationship of the cs-property anddeadlock-freeness property is established.

Lemma 1 [2] If (N, M0) satisfies the max cs-property, it isdeadlock-free.

The net shown in Fig. 1 is pure and bounded and thereexist dead reachable states. As a result, it is not live. Thereare eight minimal P-invariants: I1 ¼ p2 þ p11, I2 ¼ p1 þ p12,I3 ¼ p3 þ 2p4 þ p13, I4 ¼ p3 þ p9 þ p14, I5 ¼ p4 þ p8þp15, I6 ¼ p5 þ p7 þ p16, and I7 ¼ p1 þ p2 þ p3 þ p4 þ p5þp6, and I8 ¼ p7 þ p8 þ p9 þ p10. The net contains four strictminimal siphons S1= {p5, p8, p15, p16}, S2= {p4, p9, p14,p15}, S3= {p4, p13}, and S4= {p5, p9, p14, p15, p16}. As statedpreviously, in order to make the net satisfy max cs-property,the four strict minimal siphons should be max-controlled.

6 6

p6

t1

t6

p5

t3

t7

p10

p3

p4

t4

t5

t8

p7

p8

p1

p2 p9

p11

p12

p14

p15

p16

p13

t2

t9

t10

t11

2

Fig. 1 An ES3PR Petri net Nμ0; Mμ0

� �

Int J Adv Manuf Technol (2008) 38:787–800 789

Page 4: Deadlock control of concurrent manufacturing processes

2.2 ES3PR Nets

This section gives the definitions of a class of Petri netsystems, namely ES3PR [23], and introduce its properties.An ES3PR is used to model concurrently cyclic sequentialprocesses sharing common resources. The following defi-nitions are primarily from [1, 23], respectively.

Definition 4 A simple sequential process, S2P, is anordinary Petri net N ¼ PS [ p0f g; T ;Fð Þ, where the fol-lowing hold true:

(1) PS ≠ ;, p0 ∉ PS.(2) N is a strongly connected state machine.(3) Every circuit in N contains place p0.

Definition 5 An extended simple sequential process withresources, ES2PR, is a generalized pure Petri netN ¼ PS [ p0f g [ PR; T ;F;Wð Þ, such that:

(1) The subnet generated by set X ¼ PS [ p0f g [ T is anS2P.

(2) PR ≠ ; and PS [ p0f gð Þ \ PR ¼ ;.(3) ∀t ∈ T, 8p 2� t, W(p, t) = 1.(4) ∀r ∈ PR, ∃ a minimal P-semiflow Ir such that

rf g ¼ Irk k \ PR, p0 =2 Irk k, Irk k \ PS 6¼ ; and Ir(r) = 1.

Definition 6 Let N ¼ PS [ p0f g [ PR; T ;F;Wð Þ be anES2PR. An initial marking M0 is acceptable for N iff:

(1) M0(p0) > 0.(2) ∀p ∈ PS, M0(p) = 0.(3) ∀r ∈ PR, M0(r) > 0.(4) Elements in the support of each minimal T-semiflow

can be fired sequentially.

Definition 7 Let Ni= (Pi, Ti, Fi, Wi) (i = 1, 2) be twogeneralized Petri nets. Then:

(1) N1 and N2 are composable (via fusion of places) iffT1 \ T2 ¼ ; and PC ¼ P1 \ P2 6¼ ;.

(2) Net N = (P, T, F, W) is called the composed net of N1

and N2, denoted by N1 � N2, where P ¼ P1 [ P2,T ¼ T1 [ T2, W(p, t) = if t ∈ T1 then W1( p, t) elseW2( p, t).

Definition 8 Let Im be a set of indices, Ni = (Pi, Ti, Fi, Wi)(i ∈ Im) be a set of generalized Petri nets. We denote byN ¼ i2ImNi the net obtained by the following operation:if card(Im) = 1 then N = N1 else N ¼ Nk � i2Imn kf gNi.

Definition 9 An ES3PR is the composition of a finite set ofES2PR via the fusion of resource places.

Definition 10 (N, M0), N ¼ i2ImNi, Ni= (Pi, Ti, Fi, Wi),and (Ni, M0i ) being initially acceptably marked ES2PR, isan acceptably marked ES3PR iff:

(1) ∀i ∈ Im, 8p 2 PSi [ p0if g, M0 pð Þ ¼ M0i pð Þ.(2) ∀i ∈ Im, ∀r ∈ PR, M0(r) = if card (Im) = 1 then M0i rð Þ

else maxi2Im M0i rð Þ.x

Property 1 [24] Let N ¼ PS [ P0 [ PR; T ;F;Wð Þ be anES3PR, where P0 ¼ [i2Im p0if g. Then, rank ([N]) = |PS|.

Theorem 1 [1] Let S be a strict minimal siphon in an ES3PRN ¼ PS [ P0 [ PR; T ;F;Wð Þ. Then S ¼ SR [ SS satisfiesS \ P0 ¼ ;, S \ PR ¼ SR 6¼ ; and S \ PS ¼ SS 6¼ .;

If not properly supervised, a strict minimal siphon in anES3PR net can lead to deadlock transitions during itsevolution. To prevent deadlocks from occurring in anES3PR net, one has to supervise strict minimal siphonssuch that they are always sufficiently marked.

Definition 11 An S4R is a generalized pure netN ¼ i2ImNi ¼ P; T ;F;Wð Þ, where

(1) Ni ¼ PSi [ p0if g [ PRi ; Ti;Fi;Wið Þ, i ∈ Im.(2) P ¼ PS [ P0 [ PR is a partition such that (i)

PS ¼ [i2ImPSi , PSi 6¼ ; andPSi \ PSj ¼ ;, 8i 6¼ j i; j 2 Imð Þ; (ii)PR ¼ [i2Im PRi ¼ r1; r2; � � � ; rnf g, n > 0; (iii)P0 ¼ [i2Im p0if g (iv) The elements in P0, PS, and PR

are called idle, operation, and resource places, respec-tively; and (v) The output transitions of an idle placeare called source transitions.

(3) T ¼ [i2ImTi, Ti ≠ ;, Ti \ Tj ¼ ; for all i ≠ j.(4) ∀i ∈ Im, the subset Ni generated by PSi [ p0if g [ Ti is a

strongly connected state machine such that every cyclecontains p0i.

(5) ∀r ∈ PR, there exists a unique minimal P-semiflowIr 2 IN Pj j such that rf g ¼ Irk k \ PR, P0 \ Irk k ¼ ;,PS \ Irk k 6¼ ; and Ir (r) = 1.

(6) PS ¼ [r2PR Irk kn rf gð Þ.(7) N is a strongly connected net.

It is easy to see that an ES3PR is a subclass of S4R.

Theorem 2 [1] Let (N, M0) be a marked S4R net. N is liveunder M0 iff it satisfies max-cs property.

Let r be a resource place, S be a strict minimal siphonand H rð Þ ¼ Irn rf g in an S4R net.We define Th Sð Þ ¼ P

r2SR H rð ÞnS. It is easy to see that

790 Int J Adv Manuf Technol (2008) 38:787–800

Page 5: Deadlock control of concurrent manufacturing processes

Th Sð Þj j � PS is true. Let us useP

p2 Th Sð Þj j hS pð Þp to denoteTh(S). hS (p) indicates that siphon S loses hS (p) tokens if thenumber of tokens in p increases by one.

The net shown in Fig. 1 is an ES3PR if p01 = p6, p02 =p10, PS1 ¼ p1�5f g, PS2 ¼ p7�9f g, PR1 ¼ p11�16f g, andPR2 ¼ p14�16f g. It has four strict minimal siphons: S1={p5, p8, p15−16}, S2 ={p4, p9, p14−15}, S3 ={p4, p13}, andS4 ={p5, p9, p14−16}. The minimal P-semiflows associatedwith resource places p15−16 are Ip15 ¼ p4 þ p8 þ p15 andIp16 ¼ p5 þp7 þ p16, respectively. Hence, one getsTh S1ð Þ ¼ H p15ð Þ þ H p16ð Þð ÞnS1 ¼ p4 þ p7.

3 Elementary siphons in Petri nets

The concept of elementary and dependent siphons in anordinary Petri net was first proposed in [15]. An improveddefinition was proposed in [16]. This section defines themin a generalized Petri net.

Definition 12 [17] Let S ⊆ P be a subset of places of N = (P,T, F, W). P-vector λS is called the characteristic P-vector ofS iff ∀p ∈ S, λS(p) = 1; otherwise λS (p) = 0.

Definition 13 [17] Let S ⊆ P be a subset of places of N = (P,T, F, W). ηS is called the characteristic T-vector of S iffηTS ¼ λT

S N½ �.

Definition 14 [17] Let N = (P, T, F, W) be a net with |P| = m,which has k siphons S1-Sk, m, k ∈N+. We define λ½ �k�m ¼λS1 jλS2 � � �j jλSk½ �T and η½ �k�n ¼ λ½ �k�m N½ �m�n ¼ ηs1 ηs2j j� � �½jηsk �T is called the characteristic P(T)-vector matrix of thesiphons in N.

Definition 15 [17] Let hSa , hSb , ..., and hSg ({α, β, ..., γ}⊆{1, 2, ..., k}) be a linearly independent maximal set of matrixη. Then ΠE ¼ Sa; Sb; � � � ; Sg

� �is called a set of elementary

siphons in N.

Definition 16 [17] S ∉ ΠE is called a strongly dependentsiphon if ηs ¼ P

Si2ΠEaiηsi, where ai ≥ 0.

Definition 17 [17] S ∉ ΠE is called a weakly dependentsiphon if ∃ non-empty A, B ⊂ ΠE, such that A \ B ¼ ; andhs ¼ P

Si2A aihsi �P

Si2B aihsi, where ai > 0.

Let S be a (strongly or weakly) dependent siphon. In thesequel, if ηS can be linearly represented by elementarysiphons’ characteristic ηS1 - ηSn with non-zero coefficients,we say that S1-Sn are the elementary siphons of S. Let Π bethe set of siphons in which we are interested in a net, andΠD be the set of dependent ones within the scope of Π.Obviously, Π ¼ ΠE [ΠD.

Lemma 2 [17] The number of elements in any set ofelementary siphons in net N equals r([η]), where r([η]) isthe rank of matrix η.

Theorem 3 [17] Let NES be the number of elementarysiphons in net N =( P, T, F, W). Then, NES min Pj j; Tj jf g.

This result indicates that the number of elementarysiphons in a Petri net is bounded by the smaller of placecount and transition count.

Corollary 1 Let N ¼ i2ImNi ¼ P0 [ PS [ PR; T ;F;Wð Þbe an ES3PR. Then, NES ≤ |PS|.

This result shows that the number of elementary siphonsin an ES3PR net is no greater than that of its operationplaces. Let us consider the Petri net shown in Fig. 1. It hasfour strict minimal siphons: S1= {p5, p8, p15−16}, S2 = {p4,p9, p14−15}, S3 = {p4, p13}, and S4 = {p5, p9, p14−16}. Wehence have λS1 ¼ p5 þ p8 þ p15 þ p16, λS2 ¼ p4 þ p9þp14 þ p15, λS3 ¼ p4 þ p13, λS4 ¼ p5 þ p9 þ p14 þ p15þfp16g, ηS1 ¼ �t5 þ t6 � t8 þ t9, ηS2 ¼ �t4 þ t5� t9 þ t10,hS3 ¼ �t4 þ t6, and hS4 ¼ �t4 þ t6 � t8 þ t10. It is easy toveri fy that hS4 ¼ hS1 þ hS2 , and r η½ �ð Þ ¼ NES ¼ 3 <

r N½ �ð Þ ¼ 8, which means there are three elementarysiphons. If ΠE ¼ S1�3f g, then ΠD= {S4} and S4 is astrongly dependent siphon.

4 Controllability of dependent siphons in generalizednets

Strict minimal siphons in an ES3PR are divided intoelementary and dependent ones. Monitors are explicitlyadded to the elementary siphons so that they satisfy max cs-property. The max cs-property of a dependent siphon isensured by properly selecting the control depth variables ofits elementary siphons. Some results relevant to thecontrollability of dependent siphons are presented.

Lemma 3 [2] Let (N, M0) be a marked net and S be a siphonof N. S is max-controlled if there exists a P-invariant I suchthat 8p 2 Ik k� \ Sð Þ, maxp� ¼ 1, ||I||+⊆S, and

Pp2P

I pð ÞM0 pð Þ > Pp2S I pð Þ maxp� �1

� �.

In Fig. 2, g1 ¼ p1 þ p3 þ p4 þ p7 þ VS1 and l1 ¼ Ip15þIp16 ¼ p4 þ p8 þ p15 þ p5 þ p7 þ p16 are P-semiflows. Leth1 ¼ l1 � g1. h1 ¼ p5 þ p8 þ p15 þ p16 � p1 � p3 � VS1 isa P-invariant. Noticing that h1k k� \ S1 ¼ ;, ||h1||+= S1, andP

p2P h1 pð ÞMμ1p ¼ Mμ1 p15ð Þ þMμ1 p16ð Þ �Mμ1 VS1ð Þ ¼ 1þ2� 2 ¼ 1 >

Pp2S1 h1ðpÞ maxp� �1

� � ¼ 0, we say that S1 ismax-controlled by P-invariant h1.

Int J Adv Manuf Technol (2008) 38:787–800 791

Page 6: Deadlock control of concurrent manufacturing processes

Similarly, g2 ¼ p1 þ p3 þ p7 þ p8 þ VS2 and l2 ¼ Ip14 þIp15 ¼ p3 þ p9 þ p14 þ p4 þ p8 þ p15 are P-semiflows ofthe net in Fig. 2. Let h2 ¼ l2 � g2. h2 ¼ p4 þ p9 þ p14 þp15 � p1 � p7 � VS2 is hence a P-invariant. Noticing thath2k k� \ S2 ¼ ;, ||h2||

+= S2, andP

p2P h2 pð ÞMμ1 pð Þ ¼Mμ1 p14ð Þ þMμ1 p15ð Þ�Mμ1 VS2ð Þ ¼ 2þ1� 2 ¼ 1 >

Pp2S2

h2 pð Þ maxp� �1� � ¼ 0, we say that S2 is max-controlled by

P-invariant h2.Clearly, g3 ¼ p1 þ p3 þ VS3 and l3 ¼ Ip13 ¼ p3 þ p4 þ

p13 are P-semiflows. Let h3 ¼ l3 � g3. h3 ¼ p4 þ p13 �p1 � VS3 is a P-invariant. Noticing that h3k k� \ S3 ¼ ;,h3k kþ ¼ S3, and

Pp2P h3 pð ÞMμ1 pð Þ ¼ Mμ1 p17ð Þ �Mμ1 VS3ð Þ ¼

2� 1 ¼ 1 >P

p2S3 h3 pð Þ maxp� �1� � ¼ 0, which implies

that S3 is max-controlled by P-invariant h3.

Theorem 4 [17] Let (N, M0), N = (P, T, F, W), be a markednet and S be a strongly dependent siphon withhS ¼

Pni¼1 aihSi , where S1-Sn are the elementary siphons

of S. S is max-controlled if

(1) ∀i ∈ {1, 2, ..., n}, Ii is a P-invariant of N, ||Ii||+= Si, and

∀p ∈ Si, Ii(p) = 1.(2) M0 Sð Þ > Pn

i¼1

P�p2 Iik k� ai Ii pð Þj jM0 pð Þð Þ þP

p2S maxp� �1� �

.

Coming back to the net in Fig. 1, S4 ¼ p5; p9; p14�16f g isa strongly dependent siphon in Fig. 1 due to hS4 ¼ hS1 þ hS2 .S1 and S2 are elementary siphons of S4. Now we verify thecontrollability of S4 by using Theorem 4. In Fig. 2, h1 andh2 are P-invariants that satisfy condition (1) of Theorem 4.Next we check condition (2) of Theorem 4.

P2i¼1

Pp2 hik k�

ai hi pð Þj jMμ1 pð Þ� � þ Pp2S4 ðmaxp� �1Þ ¼ Mμ1 p1ð Þ þ Mμ1

p3ð Þ þMμ1 p7ð Þ þMμ1 VS1ð ÞþMμ1 VS2ð Þþ 1� 1ð Þ ¼ 0þ0þ0þ 2þ 2þ 0 ¼ 4. While Mμ1 S4ð Þ ¼ Mμ0 S4ð Þ ¼ Mμ1 p14ð ÞþMμ1 p15ð Þ þMμ1 p16ð Þ ¼ 5. By Theorem 4, S4 is max-controlled.

Since all siphons in the net shown in Fig. 2 are max-controlled, i.e., it satisfies the max cs-property, Nm1; Mm1

� �

is hence live.Recalling that Nm0; Mm0

� �in Fig. 1 is an ES3PR plant net

model, Nm1; Mm1� �

can be viewed as its liveness-enforcingsupervisor. To enforce liveness for Nm0; Mm0

� �, monitors are

added to control its elementary siphons S1-S3 only. Since thenumber of elementary siphons is bounded by the smaller ofplace count and transition count, monitors can be added forelementary siphons only such that dependent siphons can beimplicitly controlled by properly setting the initial number oftokens in the additional monitors. This will lead to astructurally simple liveness-enforcing Petri net supervisorfor an ES3PR plant net model.

For the controllability of a weakly dependent siphon in anet system (N, M0), Theorem 5 is derived in case that ∀S ∈Π, ∀M ∈ R(N, M0), M0(S) ≥ M(S) is true, where Π is the setof siphons in N.

Definition 18 Let (N, M0) be a net system. It is well-initially-marked iff ∀S ∈Π, ∀M ∈R(N, M0), M0(S) ≥ M(S) istrue, where Π is the set of siphons in N.

By Definition 6, an ES3PR net with acceptable markingsis initially well marked.

Theorem 5 [17] Let (N, M0), N = (P, T, F, W), be a well-initially-marked net and S be a weakly dependent siphonwith hS ¼ Pn

i¼1 aihSi �Pnþm

i¼nþ1 aihSi , where S1-Sn+m arethe elementary siphons of S. S is max-controlled if

(1) ∀i ∈{1, 2, ..., n}, Ii is a P-invariant of N, ||Ii||+= Si, and∀p ∈ Si, Ii(p) = 1.

(2) M0 Sð Þ > Pni¼1

Pp2 Iik k� ai Ii pð Þj jM0 pð Þð Þ þP

p2S maxp� �1� �

.

As far as the authors know, the well-initially-markednessis true for manufacturing-oriented Petri net applicationsubclasses in the literature, which can model flexiblemanufacturing systems, e.g., augmented marked graphs[5], S3PR [6], S4R [1], ES3PR [11], WS3PSR [22], PNR[12], ERCN-merged nets [30], ERCN*-merged nets [13],S3PGR2 [21], G-task [3], and G-system [32].

5 Deadlock control policy

Theorems 4 and 5 can be applied to any generalized nets.For a particular class of Petri nets, ES3PR, a deadlockcontrol approach is developed. First, an elementary siphoncontrol method is presented. Then, basic results relevant tothe controllability conditions of dependent siphons areobtained. Finally, the way of making an ES3PR live isproposed.

6 6

p6

t1

t6

p5

t3

t7

p10

p3

p4

t4

t5

t8

p7

p8

p1

p2 p9

p11

p12

p14

p15

p16

p13

t2

t9

t10

t11

2

t6 t8

t9 t2

t1

1 S V

t1

t2

3 S V

t5

t5 t8

t10

t1

2 S V t2

Fig. 2 An ES3PR supervisor Nμ1; Mμ1

� �

792 Int J Adv Manuf Technol (2008) 38:787–800

Page 7: Deadlock control of concurrent manufacturing processes

Definition 19 Let S be a strict minimal siphon in an ES3PRplant net model Nμ0; Mμ0

� �, where Nμ0 ¼ n

i¼1 Ni ¼P0 [ PS [ PR; T ; Fμ0; Wμ0

� �. Let {α, β, ..., γ}⊆{1, 2, ..., n}

such that ∀i ∈ {α, β, ..., γ}, Th Sð Þj j \ PSi 6¼ ; and ∀j ∈ {1,2, ..., n}\{α, β, ..., γ}, Th Sð Þj j \ PSj 6¼ ;. For S, a non-negative P-vector kS is constructed as follows:

Step 1 8p 2 PS [ P0 [ PR, kS (p): = 0;Step 2 ∀p ∈ |Th(S)|, kS (p): = hS (p), where Th Sð Þ ¼P

p2 Th Sð Þj j hS pð Þp;Step 3 ∀i ∈ {α, β, ..., γ}, let ps 2 Th Sð Þj j \ PSi be such a

place that ∀pt ∈SP(pu, p0i), pu ∈ ps••, pt ∉ |Th(S)|.We assume that there are m such places, p1s , p

2s ,

� � �and pms . Certainly, we have pis��i ¼ 1; 2;

� � � ; mg � Th Sð Þj j \ PSi . 8pis, let piv 2 SP p0i; pis� �

be such a place that hS piv� � � hS pwð Þ, 8pw 2 SP

p0i; pis� �

. 8px 2 SP p0i; psi� �

, kS pxð Þ :¼ hS piv� �

.S t ep 4 8Im0 � 1; 2; � � � ; mf g. 8py 2 \i2Im0SP p0i; pis

� �,

kS py� �

:¼ hS piz� �

, whe r e piz 2 Th Sð Þj j \ PSi ,and Gp 2 Th Sð Þj j \ PSi s.t. hS pð Þ > hS piz

� �.

To illustrate the computation of kS for siphon S in anES3PR, the net shown in Fig. 3 [17] is taken for example(without place VS). Suppose that in the net S is a siphonwith Th Sð Þ ¼ 3p5 þ 2p8 þ p9 þ 4p13.

First, we have kS (p5) = 3, kS (p8) = 2, kS (p9) = 1, kS (p13) = 4,and ∀p ∉ |Th(S)|, kS (p) = 0 according to Steps 1 and 2.

Note that p6 2 p�5, ∀p∈SP (p6,pi0), p ∉ |Th(S)|; p10 2 p�9,8p 2 SP p10; pi0ð Þ, p ∉ |Th(S)|; and p14 2 p�13, ∀p ∈ SP (p14,pj0), p ∉ |Th(S)|. One hence has the following:

– p1s ¼ p5, p2s ¼ p9, and p3s ¼ p13;– p1v ¼ p5, p2v ¼ p8, and p3v ¼ p13;

– kS (p3) = kS (p4) = kS (p5) = hS (p5) = 3, kS (p7) = kS (p8) =kS (p9) = hS (p8) = 2, and kS (p11) = kS (p12) = kS (p13) =hS (p13) = 4.

Note that p1; p2f g � SP pi0; p5ð Þ \ SP pi0; p9ð Þ, p1z ¼ p5is true since 8p 2 PSi \ Th Sð Þj j, hS (p) ≤ hS (p5). As a result,kS (p1) = kS (p2) = 3.

Figure 1 shows an ES3PR net, where PS1 ¼ p1�5f g andPS2 ¼ p7�9f g. For S1= {p5, p8, p15, p16}, we haveTh S1ð Þ ¼ p4 þ p7. For PS1, we have p1s ¼ p4, p1v ¼ p4, andp1z ¼ p4. While for PS2, we have p2s ¼ p2v ¼ p2z ¼ p7. As aresult, kS1 p1ð Þ ¼ kS1 p3ð Þ ¼ kS1 p4ð Þ ¼ 1 and kS1 p7ð Þ ¼ 1.∀p ∈ PS} \ {p1, p3, p4, p7}, kS1 pð Þ ¼ 0. Certainly, one getskS1 p6ð Þ ¼ kS1 p10ð Þ ¼ kS1 p11ð Þ ¼ kS1 p12ð Þ ¼ kS1 p13ð Þ ¼ kS1 p14ð Þ ¼kS1 p15ð Þ ¼ kS1 p16ð Þ ¼ 0 since p6 and p10 are idle placesand p11−16 are resource ones. Let KS = {p|kS (p) ≠ 0,p ∉ |Th(S)|}. In Fig. 1 we have KS1 ¼ fp1; p3}.

Proposition 1 Let S be a strict minimal siphon in a markedES3PR net Nm0; Mm0

� �, where Nμ0 ¼ P0 [ PS [ PR;ð

T ; F; W Þ. Construct kS for S due to Definition 19. Amonitor VS is added to Nm0; Mm0

� �by the enforcement that

gS ¼ kS þ VS is a P-invariant of the resultant net systemNm1; Mm1� �

, where Nμ1 ¼ P0 [ PS [ PR [ VSf g; T ; Fμ1;�

Wμ1Þ; 8p 2 P0 [ PS [ PR, Mm1 pð Þ ¼ Mm0 pð Þ. Let hS ¼Pr2SR Ir � gS and Mm1 VSð Þ ¼ Mm0 Sð Þ � xS (ξS∈N). Then

S is max-controlled if xs >P

p2ShS pð Þ maxp� � 1� �

.

Proof It is easy to see that hS ¼P

r2SR Ir � gS is a P-invariant of Nm1 since

Pr2SR Ir and gS are P-invariants of

Nm1. Considering the definition of kS, we have ||hS||+⊆S

since S � Pr2SR Ir

�� ��. Also we have hSk k� \ S � PS that,accordingly to the definition of ES3PR nets, implies8p 2 hSk k� \ S, maxp� ¼ 1. Let Pμ1 ¼ P0 [ PS [ PR[VSf g.Due to ξs >

Pp2ShS pð Þ maxp� � 1

� �, we have Mμ1 Sð Þ�

Mμ1ðVSÞ >P

p2S hS pð Þ maxp� �1� �

. Noticing that hSk k \PR ¼ SR and 8p 2 gSk k; Mm1 pð Þ ¼ 0,

Pp2Pμ1

hS pð ÞMμ1

pð Þ ¼ Mμ1 Sð Þ �Mμ1 VSð Þ can be obtained. As a result,Pp2Pμ1

hS pð Þ Mμ1 pð Þ > Pp2S hS pð Þ maxp� �1

� �. Accord-

ing to Lemma 3, S is max-controlled by P-invariant hS.

As a design parameter, ξS is called the control depthvariable of siphon S. Proposition 1 indicates that a strictminimal siphon can be controlled by adding a monitor for itand by properly supervising its initial tokens. In order tohave more permissive behavior in a liveness-enforcingsupervisor, every control depth variable should be mini-mized on the condition that all siphons satisfy the max cs-property.

Proposition 1 indicates that a siphon S can be max-controlled by adding a monitor VS such that kS + VS is a P-semiflow of the resultant net and by properly setting its

p2

p3

p4

p5

p6

p7

p8

p11

p12

p13

p14

pi0

p j0

p1

p10

p9

T h(S)=3p5+2p8+p9+4p13

P Si={p1, p2, ..., p10, ...}P Sj={p11, p12, p13, p14, ...}

3

2

3

4

4

V S

t1

t2

(so urce transitio n)

(so urce transition)

Fig. 3 S is a siphon with Th Sð Þ ¼ 3p5 þ 2p8 þ p9 þ 4p13

Int J Adv Manuf Technol (2008) 38:787–800 793

Page 8: Deadlock control of concurrent manufacturing processes

initial marking. For siphon S in Fig. 3, monitor VS is addedby the enforcement that 3p1 + 3p2 + 3p3 + 3p4 + 3p5 + 2p7 +2p8 +2p9 + 4p11 + 4p12 + 4p13 +VS is a P-semiflow.

Let us consider again siphon S1 ¼ p5; p8; p15; p16f g inthe net shown in Fig. 1. By Definition 19, we have kS1 ¼p1 þ p3 þ p4 þ p7 and KS1 ¼ p1; p3f g. As a result, gS1 ¼kS1 þ VS1 ¼ p1 þ p3 þ p4 þ p7 þ VS1 . Noticing that

Pr2S1R

Ir ¼ Ip15 þ Ip16 ¼ p4 þ p5 þ p7 þ p8 þ p15 þ p16, we havehS1 ¼ p5 þ p8 þ p15 þ p16 � p1 � p3 � VS1 . According toProposition 1, VS1 is added such that hS1 is a P-invariantof Nm1. Let xS1 ¼ 1. Clearly, ξS1 >

Pp2S1 hS1 pð Þ maxp� �

1Þ ¼ 0. S1 is hence max-controlled, as shown in Fig. 2 byadding monitor VS1. Likewise, we can verify that S2 and S3are max-controlled due to the addition of VS2 and VS3 ,respectively.

Corollary 2 Let Nm0; Mm0� �

be an ES3PR net system and Sbe a strongly dependent siphon with hS ¼

Pni¼1 aihSi ,

where S1-Sn are the elementary siphons of S. S is max-controlled if

(1) Nm0; Mm0� �

is extended by adding n monitors Vs1 �Vsn such that S1-Sn are max-controlled, respectively;

( 2 )Pn

i¼1 aiξSi >Pn

i¼1 aiMμ0 Sið Þ þPp2S maxp� �1

� ��Mμ0 Sð Þ,where

Pp2Si hSi pð Þ maxp� �1

� �< ξSi < Mμ0 Sið Þ.

Proof (1) ensures the truth of condition (1) of Theorem 4.Pni¼1 aiξSi >

Pni¼1 aiMμ0 Sið Þ þP

p2S maxp� �1� ��Mμ0 Sð Þ )

Mμ0 Sð Þ > Pni¼1 aiMμ0 Sið Þ �Pn

i¼1 aiξSiþP

p2S maxp� �1� � )

Mμ0 Sð Þ > Pni¼1 ai Mμ0 Sið Þ � ξSi

� �þPp2S maxp� �1

� � )Mm1 Sð Þ > Pn

i¼1 aiMm1 VSið Þ þPp2S maxp� �1

� �:

According to Proposition 1, Si is controlled by P-invariant Ii with pjp 2 Iik k�; Mm1 pð Þ 6¼ 0

� � ¼ VSif g.Hence we have Mμ1 Sð Þ > Pn

i¼1

Pp2 Iik k� ai Ii pð Þj jMμ1 pð Þ� �þP

p2S maxp� �1� �

. By Theorem 4, S is max-controlled.In the net shown in Fig. 1, S4 is a strongly dependent

siphon with hS4 ¼ hS1 þ hS2 . Suppose that monitors VS1 andVS2 are added to make S1 and S2 max-controlled byProposition 1. In order to ensure the controllability ofS4, by Corollary 2, ξS1 þ ξS2 > Mμ0 S1ð Þ þMμ0 S2ð Þ��

Mμ0 S4ð Þ þPp2S4 maxp� �1

� � ¼ 3þ 3� 5þ 0 ¼ 1, i . e . ,xs1 þ xs2 > 1. Considering constraints 0 < ξs1 < Mμ0 s1ð Þ ¼3 and 0 < ξs2 < Mμ0 s2ð Þ ¼ 3 , let xs1 ¼ xs2 ¼ 1. Thisleads to the fact that S4 satisfies max cs-property.Accordingly, we have Mm1 Vs1ð Þ ¼ 2 and Mm1 Vs2ð Þ ¼ 2,as shown in Fig. 2.

Corollary 3 Let (Nμ0, Mμ0) be a well-initially-markedES3PR net system and S be a weakly dependent siphonwith hs ¼ Pn

i¼1 aihsi �Pnþm

i¼nþ1 aihsi, where S1-Sn+m arethe elementary siphons of S. S is max-controlled if

(1) (Nμ0, Mμ0) is extended by adding n monitors Vs1-Vsnsuch that S1-Sn are max-controlled, respectively, due toProposition 1;

( 2 )Pn

i¼1 aiξsi >Pn

i¼1 aiMμ0 Sið Þ þPp2S maxp � � 1

� ��Mμ0 Sð Þ,where

Pp2Si hSi pð Þ maxp � � 1

� �< xSi < Mm0 Sið Þ

Proof In a well-initially-marked ES3PR net, the controlla-bility conditions of a weakly dependent siphon are identicalto those of a strongly dependent one.

Next we present our deadlock prevention policy for anES3PR net.

Algorithm A: Supervisor synthesis for an ES3PR.Input: An ES3PR net Nm0; Mm0

� �

Output: Liveness-enforcing supervisor Nm1; Mm1� �

Although the control depth variables of elementarysiphons are integers, linear programming can be used tofind them, which is of polynomial-time.

Theorem 6 Algorithm A leads to a liveness-enforcing Petrinet supervisor Nm1; Mm1

� �for an ES3PR plant net model

Nm0; Mm0� �

.

Proof For a siphon S, monitor VS is added such that kS+VS

is a P-semiflow of the resultant net N1 ¼ P0 [ PS [ PR[ðVSf g; T ;F1;W1Þ. Considering the construction process of

kS, any transition t with W1 VS ; tð Þ > 0 is a source transition.That is to say, the monitor addition way of Proposition 1ensures that the output arcs of a monitor point to sourcetransitions, which ensures the absence of circular-wait, anecessary condition for deadlock occurrence. This impliesthat Proposition 1 does not produce new siphons that cancontribute deadlocks due to the addition of monitors. Inother words, if all siphons in the plant net model arecontrolled, the resultant net system is live.

794 Int J Adv Manuf Technol (2008) 38:787–800

Page 9: Deadlock control of concurrent manufacturing processes

As shown in Fig. 2, 0 < ξS1 < 3; 0 < ξS2 < 3; 0 < ξS3< 2, and xS1 þ xS2 > 1. Let xS1 ¼ xS2 ¼ xS3 ¼ 1. We hencehave Mm1 VS1ð Þ ¼ 2, Mm1 VS2ð Þ ¼ 2, and Mm1 VS3ð Þ ¼ 1. It iseasy to verify that all strict minimal siphons are max-controlled. The net system in Fig. 2 is live.

6 More permissive liveness-enforcing supervisors

Since any output arc of the monitors in a liveness-enforcingPetri net supervisor is led to the source transitions of a plantES3PR net model, which denote the entry of raw productsinto the system modeled, the controlled system’s behavioris overly restricted in general. For this we develop analgorithm to rearrange the output arcs of the monitors sothat more permissive behavior can be achieved in thecontrolled system while the liveness is still preserved.

Suppose that an ES3PR net model Nm0; Mm0� �

consists ofm ES2PR. This implies that PS ¼ [m

i¼1PSi and T ¼ [mi¼1Ti.

By the definitions of ES3PR nets, ∀i∈{1, 2, ...,m}, PSi [ Tican derive an acyclic state machine.

Definition 20 Let Nm1; Mm1� �

be a liveness-enforcing Petrinet supervisor of an ES3PR net model Nm0; Mm0

� �, where

Nm1 ¼ P0 [ PS [ PR [ VS1 ;VS2 ; . . . ;VSnf g; T ;Fm1;Wm1� �

.∀i∈{1, 2, ..., m}, assign a weight α to each place accordingto a reverse topological numbering on the acyclic statemachine induced by PSi [ Ti: 8p 2 P0 [ PR [ VS1 ;VS2 ;f. . . ;VSng, α(p)=0; 8p; p0 2 PSi , if there exists an elementarypath from p to p′ then α(p)>α(p′).

In Fig. 3, we have α(p1)>α(p2)>α(p3)>α(p4)>α(p5)>α(p6), α(p1)>α(p2)>α(p7)>α(p8)>α(p9)>α(p10), andα(p11)>α(p12)>α(p13)>α(p14). Let S be a siphon inNm0; Mm0� �

and VS be its monitor in Nm1; Mm1� �

. FromSect. 5, it is known that S is max-controlled by hS, wherehS ¼ P

r2SR Ir � gS and gS ¼ kS þ VS . Let d(S)=kS–Th(S).By Definition 19, d(S) ⊆ PS and ∀p ∈ d(S), ∀p′ ∈ Th(S),α(p)>α(p′).

If d(S)≠;, then ∃l ≤ m, ∀i ∈{1, 2, ..., l}, d Sð Þ \ PSi 6¼ ;.For a monitor VS in Nm1; Mm1

� �Algorithm B is used to

rearrange its output arcs:Algorithm B: Rearrangement of output arcs of monitor VS

Step 1 Delete VS and its related arcs from Nm1; Mm1� �

anddenote the resultant net by Nm2; Mm2

� �

Step 2 i:=1Step 3 IF d(S)=; or i> l THEN go to Step 11 ENDIFStep 4

Step 5 kS :¼ Th Sð Þ þ d Sð Þ

Step 6 gS :¼ kS þ VS

Step 7 hS ¼P

r2SR Ir � gSStep 8 Add VS to ðNμ2; Mμ2Þ by the enforcement that hS is

a P-invariant of the resultant net Nm3; Mm3� �

.Step 9 IF ∃ siphons in Nm3; Mm3

� �are not max-controlled

THEN go to Step 10ELSE IF d Sð Þ \ PSi 6¼ ;, THEN go to Step 4ELSEi:= i+1, go to Step 3ENDIFENDIF

Step 10

Step 11 Add VS to Nm2; Mm2� �

by the enforcementthat hS ¼ P

r2SR Ir � Th Sð Þ þ VS þ d Sð Þð Þ is aP-invariant of the resultant net system that isdenoted as (Nx, Mx)

Step 12 Output (Nx, Mx)

Algorithm B rearranges the output arcs of monitorVS such that they may point to non-source transitions.This rearrangement does not produce non-max-controlledsiphons, which can lead to more permissive behaviorof the controlled net system (supervisor). Next wepropose Algorithm C to deal with all the monitors inNm1; Mm1� �

.Algorithm C: Rearrangement of output arcs of all

monitors in Nm1; Mm1� �

Input: Nm1; Mm1� �

, Nμ1 ¼ P0 [ PS [ PR [ VS1 ;VS2 ;fð. . . ;VSng;T ;Fμ1;Wμ1Þ

Output Nm2; Mm2� �

Step 1 i:=1Step 2 IF i>n THEN go to Step 4 ENDIFStep 3 Algorithm B is applied to VSi in Nm1; Mm1

� �and

denote the resultant net system by Nix;M

ix

� �,

Nm1 :¼ Nix, Mm1 :¼ Mi

x, i:= i+1, go to Step 2Step 4 Nm2 :¼ Nn

x , Mm2 :¼ Mnx

Step 5 Output Nm2; Mm2� �

It is clear that Nm2; Mm2� �

may be more permissive thanNm1; Mm1� �

since the output arcs of the monitors may pointto non-source transitions of a plant ES3PR net modelNm0; Mm0� �

. This can be demonstrated by the example inthe next section.

7 An FMS example

Figure 4(a) shows the layout of an FMS cell composed ofthree robots (R1-R3) that are used for moving partsbetween machines (M1-M4) [24]. These machines usedifferent tools for their work (H1-H4). Robot R1 can load

Int J Adv Manuf Technol (2008) 38:787–800 795

Page 10: Deadlock control of concurrent manufacturing processes

parts from conveyor I1 to M1 and M3 and unload partsfrom M3 to conveyor O2. Machines M1 and M3 can usetools H1 and H2. Robot R2 can load and unload M1-M4.Machines M2 and M4 can use tools H3 and H4. Finally,robot R3 can unload M2 to load exit conveyor O1 and canload M4 from conveyor I2. In this cell two types of partsmust be processed according to their own productionroutings that are depicted in Fig. 4(b). Parts of type 1arrive at the system via conveyor I1 and leave it viaconveyor O1. They can be processed first in M1 or M3. M1needs to take tool H1 to accomplish its work and M3 needsto take tools H1 and H2. After that, the parts are to beprocessed in M2 that needs to use tools H3 and H4(according to production routing J1). Parts of type 2 arriveto the system via conveyor I2 and leave it via conveyor O2.They first need to be processed in M4. This machine takestools H3 and H4 to do the processing. Later, they areprocessed in M3 that needs to use tools H1 and H2(according to production routing J2). Suppose that M1 andM4 can process two parts concurrently; M2 and M3 canmanage three parts each and that the system has two toolsH1, one tool H2, three tools H3 and three H4. Each robotcan hold a single part at a time.

Figure 5 shows the net model of the FMS that uses amulti-set of resources at a production step. The system netis an ES3PR if P0={p7, p8}, PS1 ¼ pi i ¼ 1; 2; � � � ; 6jf g,PS2 ¼ pi i ¼ 9; 10; � � � ; 13jf g, PR1 ¼ p14; p15; p17�24f g, andPR2 ¼ p16�24f g. Places p14; p15; p20; p16; p17; p21; p24; p18;p19; p22, and p23 denote M1-M4, R1-R3, H1-H4, respec-tively. Initially, it is assumed that there are no parts in thesystem. Mm0 p7ð Þ ¼ 10 and Mm0 p8ð Þ ¼ 10 represents themaximal number of concurrent activities that can take placefor part types J1 and J2, respectively.

The net system contains deadlocks. There are 44 strictminimal siphons as shown below, among which S1-S5 areelementary and S6-S44 are strongly dependent:

– S1={p4, p12, p18, p21},– S2={p2, p3, p13, p17, p18},– S3={p6, p10, p23, p24},– S4={p4, p12, p20, p21},– S5={p5, p11, p21, p23},– S6={p6, p10, p22, p24},– S7={p4, p12, p19, p21},– S8={p5, p11, p21, p22},– S9={p6, p13, p14, p17, p20, p21, p23, p24},– S10={p6, p13, p14, p17, p20, p21, p22, p24},

1010p7

t1

p1

t2

t7

p3

t3

p2

t8

p10

t9

p13

t13

p12

t12p8

t6

t14

p9

t10

p16

t11

p11

p19

p18

p22

I1/O1

M1

I2/O2

M3

R3

t4

t5

p4

p5

p6

p14

p15

p17

p20p21

p23

R1

H1

H2

R2

H3

H4

M2 M4

p24

Fig. 5 ES3PR net model Nμ0; Mμ0

� �of the FMS

Machine 1

I 1 O 2

I 2 O 1

Robot 1

Robot 2

Robot 3

Machine 2 Machine 4

a b

Machine 3 H 1 H 2

H 3 H 4

P 1 : I 1

M 1 / H 1

O 1

M 3 / H 1 / H 2

R 2

P 2 : I 2 M 4 / H 3 / H 4 O 2

R 1 M 2 / H 3 / H 4

R 2

R 3

R 3 M 3 / H 1 / H 2 R 1

Fig. 4 (a) The layout of an FMSand (b) Production routings

796 Int J Adv Manuf Technol (2008) 38:787–800

Page 11: Deadlock control of concurrent manufacturing processes

– S11={p6, p12, p20, p21, p23, p24},– S12={p6, p12, p20, p21, p22, p24},– S13={p6, p13, p14, p17, p19, p21, p23, p24},– S14={p6, p13, p14, p17, p19, p21, p22, p24},– S15={p6, p12, p19, p21, p23, p24},– S16={p6, p12, p19, p21, p22, p24},– S17={p6, p13, p17, p18, p21, p23, p24},– S18={p6, p13, p17, p18, p21, p22, p24},– S19={p6, p12, p18, p21, p23, p24},– S20={p6, p12, p18, p21, p22, p24},– S21={p6, p11, p21, p23, p24},– S22={p6, p11, p21, p22, p24},– S23={p5, p13, p14, p17, p20, p21, p23},– S24={p5, p13, p14, p17, p20, p21, p22},– S25={p6, p13, p14, p15, p16, p17, p20, p21, p24},– S26={p4, p13, p14, p17, p20, p21},– S27={p5, p13, p14, p17, p19, p21, p23},– S28={p5, p13, p14, p17, p19, p21, p22},– S29={p6, p13, p14, p15, p16, p17, p19, p21, p24},– S30={p4, p13, p14, p17, p19, p21},– S31={p5, p13, p17, p18, p21, p23},– S32={p5, p13, p17, p18, p21, p22},– S33={p6, p13, p15, p16, p17, p18, p21, p24},– S34={p4, p13, p17, p18, p21},– S35={p5, p12, p18, p21, p23},– S36={p5, p12, p18, p21, p22},– S37={p6, p12, p15, p16, p18, p21, p24},– S38={p6, p12, p15, p16, p20, p21, p24},– S39={p6, p12, p15, p16, p19, p21, p24},– S40={p6, p11, p15, p16, p21, p24},– S41={p5, p12, p20, p21, p23},– S42={p5, p12, p19, p21, p23},– S43={p5, p12, p20, p21, p22}, and– S44={p5, p12, p19, p21, p22}.

Eleven resources exist in this system leading to elevenminimal P-semiflows:

– Ip14 ¼ p2 þ p14;Mm0 p14ð Þ ¼ 2,– Ip15 ¼ p5 þ p15;Mm0 p15ð Þ ¼ 3,– Ip16 ¼ p10 þ p16;Mm0 p16ð Þ ¼ 2,– Ip17 ¼ p1 þ p13 þ p17;Mm0 p17ð Þ ¼ 1,– Ip18 ¼ p2 þ p3 þ p12 þ p18;Mm0 p18ð Þ ¼ 2,– Ip19 ¼ p3 þ p12 þ p19;Mm0 p19ð Þ ¼ 1,– Ip20 ¼ p3 þ p12 þ p20;Mm0 p20ð Þ ¼ 3,– Ip21 ¼ p4 þ p11 þ p21;Mm0 p21ð Þ ¼ 1,– Ip22 ¼ p5 þ p10 þ p22;Mm0 p22ð Þ ¼ 3,– Ip23 ¼ p5 þ p10 þ p23;Mm0 p23ð Þ ¼ 3, and– Ip24 ¼ p6 þ p9 þ p24;Mm0 p24ð Þ ¼ 1.

Next, we make all elementary siphons max-controlledbased on Proposition 1. First, five control places VS1 � VS5

are, respectively, added for S1-S5. The control of S2={p2,p3, p13, p17, p18} is taken for example.

One gets Th S2ð Þ ¼ p1 þ p12. For PS1, we have p1s ¼p1v ¼ p1z ¼ p1. For PS2, we have p2s ¼ p2v ¼ p2z ¼ p12. As aresult, kS2 p1ð Þ ¼ 1 and p1s ¼ p1v ¼ p1z ¼ p1. By Definition19, ∀p ∈ PR ∪ P0 ∪ {p2, p3, p4, p5, p6, p13}, kS2 pð Þ ¼ 0. Asa result, one gets

– gS2 ¼ kS2 þ VS2 ¼ p1 þ p9 þ p10 þ p11 þ p12 þ VS2 ,–

Pr2S2R I ¼ Ip17 þ Ip18 ¼ p1 þ p13 þ p17ð Þ þ p2 þ p3 þ p12 þ p18ð Þ,

and– hS2 ¼

Pr2S2R Ir � gS2 ¼ p2 þ p3

þp13 þ p17 þ p18 � VS2 � p9 � p10 � p11.

Clearly, hS2k k� \ S2 ¼ ; and hS2k kþ ¼ S2. ConsideringMm0 S2ð Þ ¼ Mm0 p17ð Þ þMm0 p18ð Þ ¼ 3 and

Pp2ShS2 maxp �

�1Þ ¼ 0, 0 < xS2 < 3 is true. In an analogous way, controlplaces VS1 , VS3 , VS4 , and VS5 can be accordingly added tothe plant net model. The augmented net supervisor isdenoted by Nm1; Mm1

� �as shown in Fig. 6. The initial

tokens in these monitors can be decided by linearprogramming techniques.The details concerning the controllability of elementarysiphons are given as follows:

(1) S1:

Pr2S1R Ir ¼ p2 þ p3 þ p4 þ p11 þ p12 þ p18 þ p21;

Th S1ð Þ ¼ p2 þ p3 þ p11;kS1 ¼ p1 þ p2 þ p3 þ p9 þ p10 þ p11;gS1 ¼ p1 þ p2 þ p3 þ p9 þ p10 þ p11 þ VS1 ;hS1 ¼ p4 þ p12 þ p18 þ p21 � VS1 � p1 � p9 � p10;Mμ1 VS1ð Þ ¼ 3� ξS1 ; and0 < ξS1 < 3:

ð1Þ

Fig. 6 Liveness-enforcing supervisor Nμ1; Mμ1

� �

Int J Adv Manuf Technol (2008) 38:787–800 797

Page 12: Deadlock control of concurrent manufacturing processes

(2) S2:P

r2S2R Ir ¼ p1 þ p2 þ p3 þ p12 þ p13 þ p17 þ p18;Th S2ð Þ ¼ p1 þ p12;kS2 ¼ p1 þ p9 þ p10 þ p11 þ p12;gS2 ¼ p1 þ p9 þ p10 þ p11 þ p12 þ VS2 ;hS2 ¼ p2 þ p3 þ p13 þ p17 þ p18 � VS2 � p9 � p10 � p11;

and Mμ1 VS2ð Þ ¼ 3� ξS2 ; and0 < ξS2 < 3:

ð2Þ

(3) S3:P

r2S3R Ir ¼ p5 þ p6 þ p9 þ p10 þ p23 þ p24;Th S3ð Þ ¼ p5 þ p9;kS3 ¼ p1 þ p2 þ p3 þ p4 þ p5 þ p9;gS3 ¼ p1 þ p2 þ p3 þ p4 þ p5 þ p9 þ VS3 ;hS3 ¼ p6 þ p10 þ p23 þ p24 � VS3 � p1 � p2 � p3 � p4;Mμ1 VS3ð Þ ¼ 4� ξS3 ; and0 < ξS3 < 4:

ð3Þ(4) S4:

Pr2S4R Ir ¼ p3 þ p4 þ p11 þ p12 þ p20 þ p21;

Th S4ð Þ ¼ p3 þ p11;kS4 ¼ p1 þ p3 þ p9 þ p10 þ p11;gS4 ¼ p1 þ p3 þ p9 þ p10 þ p11 þ VS4 ;hS4 ¼ p4 þ p12 þ p20 þ p21 � VS4 � p1 � p9 � p10; andMμ1 VS4ð Þ ¼ 4� ξS4 ;0 < ξS4 < 4:

ð4Þ(5) S5:

Pr2S5R Ir ¼ p4 þ p5 þ p10 þ p11 þ p21 þ p23;

Th S5ð Þ ¼ p4 þ p10;kS5 ¼ p1 þ p2 þ p3 þ p4 þ p9 þ p10;gS5 ¼ p1 þ p2 þ p3 þ p4 þ p9 þ p10 þ VS5 ;hS5 ¼ p5 þ p11 þ p21 þ p23 � VS5 � p1 � p2 � p3 � p9;Mμ1 VS5ð Þ ¼ 4� ξS5 ; and0 < ξS5 < 4:

ð5Þ

Next we check the controllability of all dependentsiphons by Corollary 2. The controllability conditions ofdependent siphons are shown in Table 2.

A set of control depth variables of the elementarysiphons can be found by solving the following linearprogramming problem:

minX5

i¼1xsi

subject to (1)–(5) and constraints in Table 1.Lindo [19], a commercial mathematical programming

software package, is used to solve the linear programming

Table 1 Controllability constraints of dependent siphons

S ηS Constraint

S6 hS6 ¼ hS3 xS3 > 0

S7 hS7 ¼ hS4 xS4 > 2

S8 hS8 ¼ hS5 xS5 > 0

S9 hS9 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 3

S10 hS10 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 3

S11 hS11 ¼ hS3 þ hS4 þ hS5 xS3 þ xS4 þ xS5 > 4

S12 hS12 ¼ hS3 þ hS4 þ hS5 xS3 þ xS4 þ xS5 > 4

S13 hS13 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 5

S14 hS14 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 5

S15 hS15 ¼ hS3 þ hS4 þ hS5 xS3 þ xS4 þ xS5 > 6

S16 hS16 ¼ hS3 þ hS4 þ hS5 xS3 þ xS4 þ xS5 > 6

S17 hS17 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 6

S18 hS18 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 6

S19 hS19 ¼ hS1 þ hS3 þ hS5 xS1 þ xS3 þ xS5 > 4

S20 hS20 ¼ hS1 þ hS3 þ hS5 xS1 þ xS3 þ xS5 > 4

S21 hS21 ¼ hS3 þ hS5 xS3 þ xS5 > 3

S22 hS22 ¼ hS3 þ hS5 xS3 þ xS5 > 3

S23 hS23 ¼ hS1 þ hS2 þ hS5 xS1 þ xS2 þ xS5 > 0

S24 hS24 ¼ hS1 þ hS2 þ hS5 xS1 þ xS2 þ xS5 > 0

S25 hS25 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 1

S26 hS22 ¼ hS1 þ hS2 xS1 þ xS2 > 0

S27 hS27 ¼ hS1 þ hS2 þ hS5 xS1 þ xS2 þ xS5 > 2

S28 hS28 ¼ hS1 þ hS2 þ hS5 xS1 þ xS2 þ xS5 > 2

S29 hS29 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 3

S30 hS30 ¼ hS1 þ hS2 xS1 þ xS2 > 1

S31 hS31 ¼ hS1 þ hS2 þ hS5 xS1 þ xS2 þ xS5 > 3

S32 hS32 ¼ hS1 þ hS2 þ hS5 xS1 þ xS2 þ xS5 > 3

S33 hS33 ¼ hS1 þ hS2 þ hS3 þ hS5 xS1 þ xS2 þ xS3 þ xS5 > 4

S34 hS34 ¼ hS1 þ hS2 xS1 þ xS2 > 2

S35 hS35 ¼ hS1 þ hS5 xS1 þ xS5 > 1

S36 hS36 ¼ hS1 þ hS5 xS1 þ xS5 > 1

S37 hS37 ¼ hS1 þ hS3 þ hS5 xS1 þ xS3 þ xS5 > 2

S38 hS38 ¼ hS3 þ hS4 þ hS5 xS3 þ xS4 þ xS5 > 2

S39 hS39 ¼ hS3 þ hS4 þ hS5 xS3 þ xS4 þ xS5 > 4

S40 hS40 ¼ hS3 þ hS5 xS3 þ xS5 > 1

S41 hS41 ¼ hS4 þ hS5 xS4 þ xS5 > 1

S42 hS42 ¼ hS4 þ hS5 xS4 þ xS5 > 3

S43 hS43 ¼ hS4 þ hS5 xS4 þ xS5 > 1

S44 hS44 ¼ hS4 þ hS5 xS4 þ xS5 > 3

Table 2 Controllability constraints of dependent siphons

VS V �S (before rearrangement) V �

S (after rearrangement)

VS1 t1, t9 t2, t4, t11VS2 t1, t9 t1, t12VS3 t1, t9 t6, t9VS4 t1, t9 t1, t11VS5 t1, t9 t1, t9

798 Int J Adv Manuf Technol (2008) 38:787–800

Page 13: Deadlock control of concurrent manufacturing processes

problem. It gives J s1= 2, J s2= 1, J s3= 1, J s4= 3, and J s5=3. Accordingly, we have Mm1 VS1ð Þ ¼ 1, Mm1 VS2ð Þ ¼ 2,Mm1 VS3ð Þ ¼ 3, Mm1 VS4ð Þ ¼ 1, and Mm1 VS5ð Þ ¼ 1. It is easyto see that all strict minimal siphons are max-controlled.Obviously, the net in Fig. 6 is live by using the proposedpolicy. However, compared with our policy using only fivemonitors, the deadlock control policy proposed in [24]needs to add a monitor for each strict minimal siphon, i.e.,44 additional monitors are required for same FMS examplein total.

Now Algorithms B and C are applied to the net systemshown in Fig. 6. Let us first take VS1 for example, whereTh S1ð Þ ¼ p2 þ p3 þ p11, kS1 ¼ p1 þ p2 þ p3 þ p9 þ p10 þp11 , gS1 ¼ p1 þ p2 þ p3 þ p9 þ p10 þ p11 þ VS1 , a n dhS1 ¼ p4 þ p12 þ p18 þ p21 � VS1 � p1 � p9 � p10. One getsd S1ð Þ ¼ p1 þ p9 þ p10. Note that PS1 ¼ p1 � p6f g andPS2 ¼ p9 � p13f g. Let T1 ¼ t1�8f g and T2 ¼ t9�14f g. Forthe state machine derived from PS1 [ T1, by Definition 20,we have α(p1)>0, 8p 2 PS1n p1f g, α(p)=0. For the placesin the acyclic state machine derived from PS2 [ T2, we haveα(p9)>α(p10)>0, and 8p 2 PS2n p9; p10f g, α(p)=0.

According to Algorithm B, p1 is deleted from d(S) andVS1 is added by the enforcement that p4 þ p12 þ p18 þp21 � VS1 � p9 � p10 is a P-invariant. All siphons are max-controlled in the resultant net system. Places p9 and p10 canbe accordingly processed. Finally, we verify that VS1 can beadded by the enforcement that p4 þ p12 þ p18 þ p21 � VS1

is a P-invariant. As a result, �VS1 is updated to be {t2, t4,t11} by Algorithm B while no siphon becomes non-max-controlled. Algorithm C is applied to Nm1; Mm1

� �shown in

Fig. 6, the output arcs of the monitors can be rearranged asshown in Table 2. The supervisor with rearranged arcs ismore permissive, which has 185 reachable states while theone in Fig. 6 has 135 states only.

8 Conclusion

This research focuses on the study of deadlock problems inthe processes with shared resources, which can be modeledby a class of Petri nets, namely ES3PR. A deadlock controlpolicy is presented for ES3PR-a significant class of Petrinets for modeling FMS. The resulting liveness-enforcingsupervisor can achieve the simple structure that is neverachieved by the existing methods. Hence, the results havegreat potential to be used to industrial size FMS. Our futurework also includes relaxing the max-controllability condi-tion so that more permissive net supervisors can be found.A naturally arising problem is to find, without completesiphon enumeration, a set of elementary siphons in anES3PR net model by exploring structural analysis.

Acknowledgment The authors would like to thank the NationalNature Science Foundation of China under Grant No 60474018 and60228004, the Laboratory Foundation for the Returned OverseasChinese Scholars, State Education Ministry of China, under Grant No030401, the Scientific Research Foundation for the Returned OverseasChinese Scholars, State Education Ministry of China, under Grant No2004–527.

References

1. Abdallah IB, ElMaraghy HA (1998) Deadlock prevention andavoidance in FMS: a Petri net based approach. Int J Adv ManufTech 14:704–715, Sept.

2. Barkaoui K, Pradat-Peyre JF (1996) On liveness and controlledsiphons in Petri nets. In: Proc 17th Int Conf Application andTheory of Petri Nets, Osaka, Japan, June 24–28, 1996, LNCS,vol.1091. New York: Springer, pp 57–72

3. Barkaoui K, Chaoui A, Zouari B (1997) Supervisory control ofdiscrete event systems based on structure theory of Petri nets. In:Proc IEEE Int Conf Syst, Man, Cybern. Orlando, Florida, USA,Oct. 12–15, pp 3750–3755

4. Cho H, Kumaran TK, Wysk RA (1995) Graph-theoretic deadlockdetection and resolution for flexible manufacturing systems. IEEETrans Robot Automat 11(3), 413–421, June

5. Chu F, Xie XL (1997) Deadlock analysis of Petri nets usingsiphons and mathematical programming. IEEE Trans RobotAutomat 13:793–804, Dec

6. Ezpeleta J, Colom JM, Martinez J (1995) A Petri net baseddeadlock prevention policy for flexible manufacturing systems.IEEE Trans Robot Automat 11:173–184, Apr

7. Ezpeleta J, Tricas F, García-Vallés F, Colom J (2002) A banker’ssolution for deadlock avoidance in FMS with flexible routing andmultiresource states. IEEE Trans Robot Automat 18:621–625, Aug

8. Ezpeleta J, Recalde L (2004) A deadlock avoidance approach fornon-sequential resource allocation systems. IEEE Trans Syst ManCybern A 34:93–101, Jan

9. Fanti MP, Zhou MC (2004) Deadlock control methods inautomated manufacturing systems. IEEE Trans Syst Man Cybern34:5–22, Jan

10. Hsien FS, Chang SC (1994) Dispatching-driven deadlock avoid-ance controller synthesis for flexible manufacturing systems.IEEE Trans Robot Automat 10:196–209, Apr

11. Huang YS, Jeng MD, Xie XL, Chung SL (2001) Deadlockprevention policy based on Petri nets and siphons. Int J Prod Res39:283–305

12. Jeng MD, Xie XL, Peng MY (2002) Process nets with resourcesfor manufacturing modeling and their analysis. IEEE Trans RobotAutomat 18:875–889, Dec

13. Jeng MD, Xie XL, Chung SL (2004) ERCN*-merged nets formodeling degraded behavior and parallel processes in semicon-ductor manufacturing systems. IEEE Trans Syst Man Cybern A34:102–112, Jan

14. Kumaran T, Chang W, Cho H (1994) A structured approach todeadlock detection, avoidance, and resolution in flexible manu-facturing systems. Int J Prod Res 32:2361–2379

15. Li ZW, Zhou MC (2004) Elementary siphons of Petri nets andtheir application to deadlock prevention in flexible manufacturingsystems. IEEE Trans Syst Man Cybern A 34:38–51, Jan

16. Li ZW, Zhou MC (2006) Clarifications on the definitions ofelementary siphons of Petri nets. IEEE Trans Syst Man Cybern A36(6):1227–1229, Nov

Int J Adv Manuf Technol (2008) 38:787–800 799

Page 14: Deadlock control of concurrent manufacturing processes

17. Li ZW, Zhang J, Zhao M (2007) Liveness-enforcing supervisordesign for a class of generalized Petri net models of flexiblemanufacturing systems,” IET Proceedings on Control Theory &Applications 1(4):955–967

18. Li ZW, ZhouMC (2006) Two-stagemethod for synthesizing liveness-enforcing supervisors for flexible manufacturing systems using Petrinets. IEEE Trans. Industrial Informatics 2(4):313–325, Nov

19. Lindo Systems Inc. (2006) http://www.lindo.com20. Murata T (1989) Petri nets: properties, analysis, and applications.

Proc IEEE 77:541–580, Apr21. Park J, Reveliotis SA (2001) Deadlock avoidance in sequential

resource allocation systems with multiple resource acquisitions andflexible routings. IEEE Trans Automat Contr 46:1572–1583, Oct

22. Tricas F, Martinez J (1995) An extension of the liveness theory forconcurrent sequential processes competing for shared resources.In: Proc IEEE Int Conf Syst Man Cybern Vancouver, BC, Canada,Oct. 22–25, 1995, pp 3035–3040

23. Tricas F, García-Vallès F, Colom JM, Ezpeleta J (1998) A structuralapproach to the problem of deadlock prevention in processes withresources. In: Proc WODES’98, Italy, Aug. 26–28, pp 273–278

24. Tricas F, García-Vallès F, Colom JM, Ezpeleta J (1997) A partialapproach to the problem of deadlocks in processes with resources,”technical report, GISI-RR-97–05, Universidad de Zaragoza, Spain

25. Uzam M (2002) An optimal deadlock prevention policy forflexible manufacturing systems using Petri net models with

resources and the theory of regions. Int J Adv Manuf Tech19:192–208

26. Uzam M, Zhou MC (2004) Iterative synthesis of Petri netbased deadlock prevention policy for flexible manufacturingsystems. In: Proc IEEE Int Conf Syst Man Cybern. The Hague,The Netherlands, Oct. 10–13, pp 4260–4265

27. Uzam M, Zhou MC (2006) An improved iterative synthesismethod for liveness enforcing supervisors of flexible manufactur-ing systems. Int J Prod Res 44:1987–2030

28. Viswanadham N, Narahari Y, Johnson T (1990) Deadlockprevention and deadlock avoidance in flexible manufacturingsystems using Petri net models. IEEE Trans Robot Automat6:713–723, Dec

29. Wysk RA, Yang NS, Joshi S (1991) Detection of deadlocks inflexible manufacturing systems. IEEE Trans Robot Automat7:853–859, Dec

30. Xie XL, Jeng MD (1999) ERCN-merged nets and their analysisusing siphons. IEEE Trans Robot Automat 15:692–703, Aug

31. Zhou MC, Venkatesh K (1998) Modelling, simulation and controlof flexible manufacturing systems: a petri net approach. WorldScientific, Singapore

32. Zouari B, Barkaoui K (2003) Parameterized supervisor synthesisfor a modular class of discrete event systems. In: Proc. IEEE IntConf Syst Man Cybern. Washington, DC, USA., Oct. 5–8,pp 1874–1879

800 Int J Adv Manuf Technol (2008) 38:787–800