11
Automatica 46 (2010) 1008–1018 Contents lists available at ScienceDirect Automatica journal homepage: www.elsevier.com/locate/automatica Liveness of an extended S 3 PR Ding Liu a , ZhiWu Li b,* , MengChu Zhou c a School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China b Automation Technology Lab, Institute of Computer Science, Martin Luther University of Halle-Wittenberg, Kurt-Mothes, 06120 Halle, Germany c Department of Electrical and Computer Engineering, New Jersey Institute of Technology, Newark, NJ 07102, USA article info Article history: Received 19 February 2009 Received in revised form 15 July 2009 Accepted 8 March 2010 Available online 21 April 2010 Keywords: Flexible manufacturing system (FMS) Petri nets Deadlock prevention Polynomial algorithms Circular wait abstract Most existing prevention methods tackle the deadlock issue arising in flexible manufacturing systems modeled with Petri nets by adding monitors and arcs. Instead, this paper presents a new one based on a characteristic structure of WS 3 PR, an extension of System of Simple Sequential Processes with Resources (S 3 PR) with weighted arcs. The numerical relationships among weights, and between weights and initial markings are investigated based on simple circuits of resource places, which are the simplest structure of circular wait, rather than siphons. A WS 3 PR satisfying a proposed restriction is inherently deadlock-free and live by configuring its initial markings. A set of polynomial algorithms are developed to implement the proposed method. Several examples are used to illustrate them. © 2010 Elsevier Ltd. All rights reserved. 1. Introduction As an important component of Computer Integrated Manufac- turing, a Flexible Manufacturing System (FMS) is built with some amount of flexibility that allows it to react in the case of changes of production requirements, whether predicted or unpredicted. It mainly consists of robots, computer-controlled machines, and con- veyors, all known as resources of a system. They are dynamically arranged according to varying specifications to meet the demand of high-mix-low-volume production. Several different raw work- pieces are concurrently processed in it by various resources. Due to the concurrency and limited quantity of shared resources, one undesirable situation is the deadlock arising in a fully automated system (Zhou & DiCesare, 1993; Li & Zhou, 2009; Wu & Zhou, 2010). As an effective formalism for modeling and analyzing FMS, Petri nets are used extensively to reveal the relationship between deadlock and resources (Jeng & DiCesare, 1995; Wu, 2009; This work was supported by the National Natural Science Foundation of China under Grant No. 60773001, the National Research Foundation for the Doctoral Program of Higher Education, the Ministry of Education, PR China, under Grant No. 20070701013, ‘‘863’’ High-tech Research and Development Program of China under Contract No. 2008AA04Z109, and the Chang Jiang Scholars Program, Ministry of Education, PR China. The material in this paper was partially presented at the 2nd IFAC Workshop on Dependable Control of Discrete Systems, Bari, Italy, June 10–12, 2009. This paper was recommended for publication in revised form by Associate Editor Bart De Schutter under the direction of Editor Ian R. Petersen. * Corresponding author. Tel.: +49 03 45 55 25970; fax: +49 03 45 55 27304. E-mail addresses: [email protected] (D. Liu), [email protected], [email protected] (Z.W. Li), [email protected] (M.C. Zhou). Xing, Hu, & Chen, 1996; Zhou & Fanti, 2005). The primary causes of deadlock are the deficiency of resources and their improper allocation. Therefore, deadlock can be handled by simply increasing resources, which are unfortunately limited in practice and mean more cost, or by adding some con- trol to coordinate the use of shared resources among different processes. Four necessary conditions of deadlock summa- rized in Coffman, Elphick, and Shoshani (1971) become the start- ing point of developing various deadlock control policies. Since the seminal work by Ezpeleta, Colom, and Martínez (1995), var- ious deadlock prevention methods, e.g., Abdallah and ElMaraghy (1998), Barkaoui and Abdallah (1995), Barkaoui, Chaoui, and Zouari (1997), Barkaoui, Couvreur, and Klai (2005), Hu, Zhou, and Li (2009), Huang, Jeng, Xie, and Chung (2001), Huang (2007), Li and Zhou (2004, 2006), Li, Hu, and Wang (2007), Park and Reveliotis (2001), Tricas, García-Vallés, Colom, and Ezpeleta (1998), Uzam and Zhou (2006) and Xing and Hu (2005) are implemented by adding monitors (also called control places) to the original model plant, most of which are based on siphons. System of Simple Se- quential Processes with Resources (S 3 PR) (Ezpeleta et al., 1995) is widely used to model and analyze deadlock problems and other properties of FMS. Numerous extensions to S 3 PR, such as L-S 3 PR (Wang, Li, Jia, & Zhou, 2009), LS 3 PR (Ezpeleta, García-Vallés, & Colom, 1998), ES 3 PR (Huang et al., 2001), WS 3 PSR (Tricas & Martínez, 1995), S 4 R(Abdallah & ElMaraghy, 1998; Hu et al., 2009), S 4 PR (Tricas, García-Vallés, Colom, & Ezpeleta, 2000), S 3 PGR 2 (Chao, 2007; Park & Reveliotis, 2001), and G-systems (Zouari & Barkaoui, 2003), are subsequently proposed, which can be used to model more general systems. This study deals with WS 3 PR, a weighted extension of 0005-1098/$ – see front matter © 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.automatica.2010.03.011

Liveness of an extended S3PR

Embed Size (px)

Citation preview

Page 1: Liveness of an extended S3PR

Automatica 46 (2010) 1008–1018

Contents lists available at ScienceDirect

Automatica

journal homepage: www.elsevier.com/locate/automatica

Liveness of an extended S3PRI

Ding Liu a, ZhiWu Li b,∗, MengChu Zhou ca School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, Chinab Automation Technology Lab, Institute of Computer Science, Martin Luther University of Halle-Wittenberg, Kurt-Mothes, 06120 Halle, Germanyc Department of Electrical and Computer Engineering, New Jersey Institute of Technology, Newark, NJ 07102, USA

a r t i c l e i n f o

Article history:Received 19 February 2009Received in revised form15 July 2009Accepted 8 March 2010Available online 21 April 2010

Keywords:Flexible manufacturing system (FMS)Petri netsDeadlock preventionPolynomial algorithmsCircular wait

a b s t r a c t

Most existing prevention methods tackle the deadlock issue arising in flexible manufacturing systemsmodeled with Petri nets by adding monitors and arcs. Instead, this paper presents a new one based on acharacteristic structure of WS3PR, an extension of System of Simple Sequential Processes with Resources(S3PR) with weighted arcs. The numerical relationships among weights, and between weights and initialmarkings are investigated based on simple circuits of resource places, which are the simplest structure ofcircular wait, rather than siphons. A WS3PR satisfying a proposed restriction is inherently deadlock-freeand live by configuring its initial markings. A set of polynomial algorithms are developed to implementthe proposed method. Several examples are used to illustrate them.

© 2010 Elsevier Ltd. All rights reserved.

1. Introduction

As an important component of Computer Integrated Manufac-turing, a Flexible Manufacturing System (FMS) is built with someamount of flexibility that allows it to react in the case of changesof production requirements, whether predicted or unpredicted. Itmainly consists of robots, computer-controlledmachines, and con-veyors, all known as resources of a system. They are dynamicallyarranged according to varying specifications to meet the demandof high-mix-low-volume production. Several different raw work-pieces are concurrently processed in it by various resources. Dueto the concurrency and limited quantity of shared resources, oneundesirable situation is the deadlock arising in a fully automatedsystem (Zhou&DiCesare, 1993; Li & Zhou, 2009;Wu&Zhou, 2010).As an effective formalism for modeling and analyzing FMS,

Petri nets are used extensively to reveal the relationship betweendeadlock and resources (Jeng & DiCesare, 1995; Wu, 2009;

I This work was supported by the National Natural Science Foundation of Chinaunder Grant No. 60773001, the National Research Foundation for the DoctoralProgram of Higher Education, the Ministry of Education, PR China, under Grant No.20070701013, ‘‘863’’ High-tech Research andDevelopment Program of China underContract No. 2008AA04Z109, and the Chang Jiang Scholars Program, Ministry ofEducation, PR China. The material in this paper was partially presented at the 2ndIFACWorkshop on Dependable Control of Discrete Systems, Bari, Italy, June 10–12,2009. This paper was recommended for publication in revised form by AssociateEditor Bart De Schutter under the direction of Editor Ian R. Petersen.∗ Corresponding author. Tel.: +49 03 45 55 25970; fax: +49 03 45 55 27304.E-mail addresses: [email protected] (D. Liu), [email protected],

[email protected] (Z.W. Li), [email protected] (M.C. Zhou).

0005-1098/$ – see front matter© 2010 Elsevier Ltd. All rights reserved.doi:10.1016/j.automatica.2010.03.011

Xing, Hu, & Chen, 1996; Zhou & Fanti, 2005). The primarycauses of deadlock are the deficiency of resources and theirimproper allocation. Therefore, deadlock can be handled bysimply increasing resources, which are unfortunately limitedin practice and mean more cost, or by adding some con-trol to coordinate the use of shared resources amongdifferent processes. Four necessary conditions of deadlock summa-rized in Coffman, Elphick, and Shoshani (1971) become the start-ing point of developing various deadlock control policies. Sincethe seminal work by Ezpeleta, Colom, and Martínez (1995), var-ious deadlock prevention methods, e.g., Abdallah and ElMaraghy(1998), Barkaoui andAbdallah (1995), Barkaoui, Chaoui, and Zouari(1997), Barkaoui, Couvreur, and Klai (2005), Hu, Zhou, and Li(2009), Huang, Jeng, Xie, and Chung (2001), Huang (2007), Li andZhou (2004, 2006), Li, Hu, and Wang (2007), Park and Reveliotis(2001), Tricas, García-Vallés, Colom, and Ezpeleta (1998), Uzamand Zhou (2006) and Xing and Hu (2005) are implemented byadding monitors (also called control places) to the original modelplant, most of which are based on siphons. System of Simple Se-quential Processes with Resources (S3PR) (Ezpeleta et al., 1995) iswidely used to model and analyze deadlock problems and otherproperties of FMS.Numerous extensions to S3PR, such as L-S3PR (Wang, Li, Jia,

& Zhou, 2009), LS3PR (Ezpeleta, García-Vallés, & Colom, 1998),ES3PR (Huang et al., 2001), WS3PSR (Tricas & Martínez, 1995),S4R (Abdallah & ElMaraghy, 1998; Hu et al., 2009), S4PR (Tricas,García-Vallés, Colom, & Ezpeleta, 2000), S3PGR2 (Chao, 2007; Park& Reveliotis, 2001), and G-systems (Zouari & Barkaoui, 2003), aresubsequently proposed, which can be used to model more generalsystems. This study deals with WS3PR, a weighted extension of

Page 2: Liveness of an extended S3PR

D. Liu et al. / Automatica 46 (2010) 1008–1018 1009

S3PR, which is a subclass ofWS3PSR, S3PGR2, or S4R. Being differentfrom ordinary Petri nets, the role of weights of arcs in determiningthe liveness of general ones should be carefully considered.Weights of arcs in WS3PR mean an operation’s requirement formultiple resources. The token counts in resource places andnumerical relationship betweenmarkings and weights restrict theallocation of system resources. Hence, the studies of structuresincluding arc weights and dynamic properties should be combinedtogether during the evolution analysis of a WS3PR. Generally, itis believed that deadlocks are caused by lack of system resourcesor improper resource allocation. In some situations, the proposedmethod can make a system live by decreasing system resourcesinstead of simply increasing them. A proper resource allocation ispractically guaranteed by a proper numerical relationship betweeninitialmarkings of resource places and arcweights. Comparedwithmost existing deadlock prevention control policies, the new onedoes not add any monitors and arcs. The control cost of softwareand hardware can be saved. Meanwhile, the problem of structuralcomplexity can be avoided. The proposed method is based on acharacteristic structure of WS3PR. Before any deadlock preventionpolicy is applied, its structure should be checked to decidewhether it is inherently deadlock-free and live under certain initialmarkings. The relation between weights and initial markings isestablished by using simple circuits of resource places. Polynomialalgorithms are developed to implement the proposed method.The rest of this paper is organized as follows: Section 2 presents

the definitions of WS3PR. Section 3 defines and analyzes the gen-eralized circular wait, circular blocking, and deadlock in WS3PR.Section 4 reveals the relation between liveness and weights andinitial markings of resource places, and proposes a deadlock pre-vention method requiring no additional monitors. Polynomialalgorithms are developed and illustrated in Section 5. Finally,Section 6 concludes the paper.

2. Preliminaries

This section focuses on the recursive definitions from S2P toWS3PR. It begins with the definition of generalized Petri nets anda recall of S3PR.

2.1. Basics of Petri nets

A Petri net, as a graphical and mathematical model, consists ofplaces, transitions, and directed arcs. A formal definition is givenas follows:

Definition 1. A generalized Petri net (structure) is a four-tupleN = (P, T , F ,W ) where P and T are finite and nonempty sets. Pis a set of places and T is a set of transitions with P ∪ T 6= ∅ andP ∩T = ∅. F ⊆ (P×T )∪ (T ×P) is called a flow relation of the net,represented by arcs with arrows from places to transitions or fromtransitions to places.W : (P × T ) ∪ (T × P) → N is a mappingthat assigns a weight to an arc: W (x, y) > 0 if (x, y) ∈ F , andW (x, y) = 0 otherwise, where x, y ∈ P ∪ T andN = {0, 1, 2, . . .}.If W (x, y) = 1, ∀(x, y) ∈ F , the net N is called an ordinaryPetri net.

A markingM of N is a mapping from P to N .M(p) denotes thenumber of tokens in place p. A place p is marked by a marking MifM(p) > 0. It is insufficiently marked with respect to a transitiont ∈ p• atM ifM(p) < W (p, t). Note that x• = {y ∈ P ∪ T |(x, y) ∈F} is a post-set of x. Pre-set of x is •x = {y ∈ P ∪ T |(y, x) ∈ F}.The pre-set and post-set of a set of nodes can be also defined. Forexample, given P0 ⊂ P ,• P0 =

⋃p∈P0

•p and x ∈ P ∪ T ,•• x =⋃y∈• x

•y. A subnet S ⊆ P is marked by M if at least one place inS is marked by M . The sum of tokens in all places in S is denoted

a b

Fig. 1. (a) An S2PR (S3PR) net model and (b) a WS2PR (WS3PR) net model.

by M(S), i.e., M(S) =∑p∈S M(p). S is said to be empty at M if

M(S) = 0. S is insufficiently marked at M if ∀p ∈ S,∀t ∈ p•,M(p) < W (p, t). (N,M0) is called a net system or marked net andM0 is called an initial marking of N .For a Petri net modeling an FMS, an initial marking represents

the numbers of different raw workpieces that are to be concur-rently processed in the system, and the quantity (and/or capacities)of every type of resources, such as machining centers and robots.For example, the ordinary Petri net model shown in Fig. 1(a) iswith P = {p1 − p6}, T = {t1 − t4}, F = {(p1, t1), (t1, p2), (p2,t2), (t2, p3), (p3, t3), (t3, p4), (p4, t4), (t4, p1), (t3, p5), (p5, t2), (t2,p6), (p6, t3), (t4, p6), (p6, t1)}, and each arc’s weight is one. Its ini-tial marking is M0 = ( 30 0 0 0 2 5 )T , often written asM0 = 30p1 + 2p5 + 5p6 to save space.

Definition 2. Let (N1,M1) and (N2,M2) be two generalized netswith N1 = (P1, T1, F1,W1) and N2 = (P2, T2, F2,W2), whereP1 ∩ P2 = PC 6= ∅ and T1 ∩ T2 = ∅. (N,M) with N = (P, T , F ,W )is said to be the composition of (N1,M1) and (N2,M2), denoted byN1 ◦ N2, via the set of shared places PC if (1) P = P1 ∪ P2, T =T1 ∪ T2, F = F1 ∪ F2, and W = W1 ∪ W2; and (2) ∀p ∈ P1 \ PC ,M(p) = M1(p); ∀p ∈ P2\PC ,M(p) = M2(p); and∀p ∈ PC ,M(p) =max{M1(p),M2(p)}.

This concept of net composition is employed by the recursivedefinitions of S3PR and WS3PR next.

2.2. S3PR andWS3PR

In this subsection, the definitions of both S3PR and WS3PR areintroduced to make this paper self-contained.

Definition 3. A simple sequential process (S2P) is an ordinary PetrinetN = (PA∪P0, T , F)where (1) PA 6= ∅ is called a set of operationor activity places; (2) P0 = {p0} with p0 6∈ PA is called the idleprocess place; (3) N is a strongly connected state machine; and (4)every directed circuit of N contains p0, called a part path.

If t ∈ p•0 (t ∈•p0), t is called a source (sink) transition. A length

of a path from t to sink transition tsink is defined as the number ofdownstream places from t to tsink. For example, in Fig. 1 the lengthof a path from t3 to t4 is 1. The concept of part paths plays an im-portant role in showing the relationship between the structures ofcircular waits and deadlocks.

Definition 4. A simple sequential process with resources (S2PR) isan ordinary Petri net N = (PA ∪ P0 ∪ PR, T , F) such that

(1) The subnet generated by X = PA ∪ P0 ∪ T is an S2P;

Page 3: Liveness of an extended S3PR

1010 D. Liu et al. / Automatica 46 (2010) 1008–1018

(2) PR 6= ∅ and (PA ∪ P0) ∩ PR = ∅;(3) ∀p ∈ PA,∀t ∈ •p,∀t ′ ∈ p•, ∃rp ∈ PR ,• t ∩ PR = t ′•∩ PR = {rp};(4) The following statements are verified: (a) ∀r ∈ PR, ••r ∩ PS =r•• ∩ PA 6= ∅ and (b) ∀r ∈ PR ,• r ∩ r• = ∅; and

(5) ••(P0) ∩ PR = (P0)•• ∩ PR = ∅.

Definition 5. Let N = (PA ∪ P0 ∪ PR, T , F) be an S2PR. An initialmarking M0 is called an acceptable initial marking for N if: (1)M0(p0) ≥ 1; (2)M0(p) = 0, ∀p ∈ PA; and (3)M0(r) ≥ 1, ∀r ∈ PR.

An example of S2PR with an acceptable initial marking M0 =30p1 + 2p5 + 5p6 is given in Fig. 1(a).

Definition 6. For r ∈ PR,H(r) = (••r ∩ PA) ∪ (r•• ∩ PA) is calledthe set of holders of r .

An r ’s holders whose corresponding operations compete forresource r belong to a single or multiple part paths. In Fig. 1(a),for example, H(p6) = {p2, p4}, and deadlock may occur when p2takes all tokens of p6.

Definition 7. An arc pair is a pair of arcs, (ti, r) and (r, tj), wherer ∈ PR, and •ti ∩ t•j ∩ PA = {p}, p ∈ H(r). (ti, r) is the paired arc of(r, tj) and vice versa.

Two arcs in an arc pair modeling the behaviors of a holderholding and releasing resource r are of the sameweight. In Fig. 1(a),(t3, p5) and (p5, t2), (t2, p6) and (p6, t1), and (t4, p6) and (p6, t3)are three arc pairs.

Definition 8. A system of S2PR, called S3PR for short, is definedrecursively as follows:

(1) An S2PR is an S3PR; and(2) Let Ni = (PAi ∪ P0i , Ti, Fi), i ∈ {1, 2}, be two S

3PR such that(PA1 ∪ P01) ∩ (PA2 ∪ P02) = ∅, PR1 ∩ PR2 = PC 6= ∅, andT1 ∩ T2 = ∅. Then, the net N = (PA ∪ P0 ∪ PR, T , F) resultingfrom the composition of N1 and N2 via PC (denoted as N1 ◦ N2)such that (a) PA = PA1 ∪ PA2 , (b) P0 = P01 ∪ P02 , (c) PR = PR1∪ PR2 , and (d) T = T1 ∪ T2, and F = F1 ∪ F2 is also an S

3PR.

Next, simple sequential process with weighted resource allo-cation, WS2PR for short, is defined as the same as S2PR except forsome arcs’ multiplicity.

Definition 9. A simple sequential process with weighted re-sources allocation (WS2PR), is a generalized Petri net N = (PA ∪P0 ∪ PR, T , F ,W ) such that(1) The subnet generated by X = PA ∪ P0 ∪ T is an S2P;(2) PR 6= ∅ and (PA ∪ P0) ∩ PR = ∅;(3) ∀p ∈ PA,∀t ∈ •p,∀t ′ ∈ p•, ∃rp ∈ PR ,• t ∩ PR = t ′•∩ PR = {rp};(4) The two following statements are verified: (a) ∀r ∈ PR ,•• r ∩PA = r•• ∩ PA 6= ∅, and (b) ∀r ∈ PR ,• r ∩ r• = ∅;

(5) ••(P0) ∩ PR = (P0)•• ∩ PR = ∅; and(6) The three following statements are verified: (a) W (p, t) = 1andW (t, p) = 1, ∀p ∈ PA ∩ P0, ∀t ∈ T , (b)W (r, t) ≥ 1 andW (t, r) ≥ 1, ∀r ∈ PR, ∀t ∈ T , and (c) two arcs of any arc pairhave the same weight.

According to the definition of WS2PR, every resource place isused by at least one operation place and every operation placeuses only one resource place. Two arcs of any arc pair having thesame weight guarantee that tokens are neither destroyed nor cre-ated, i.e., conservativeness. Fig. 1 gives an S2PR and correspondingWS2PR. Obviously, S2PR is a subclass of WS2PR.

Definition 10. Let N = (PA ∪ P0 ∪ PR, T , F ,W ) be a WS2PR. Aninitial marking M0 is called an acceptable initial marking for N if:(1) M0(p0) ≥ 1; (2) M0(p) = 0, ∀p ∈ PA; and (3) M0(r) ≥W (r, t), ∀r ∈ PR, t ∈ r•.

a b

Fig. 2. (a) A marked WS3PR net model and (b) a corresponding weighted digraphof resource places.

A WS3PR is an extension of an S3PR and can be composed ofsome WS2PR via shared resource places.

Definition 11. A system of WS2PR, called WS3PR for short, isdefined recursively as follows:

(1) A WS2PR is a WS3PR; and(2) Let Ni = (PAi ∪ P0i ∪ PRi , Ti, Fi), i ∈ {1, 2}, be two WS

3PR suchthat (PA1 ∪ P01) ∩ (PA2 ∪ P02) = ∅, PR1 ∩ PR2 = PC 6= ∅, andT1 ∩ T2 = ∅. Then, the net N = (PA ∪ P0 ∪ PR, T , F) resultingfrom the composition ofN1 andN2 via PC (denotedN1◦N2) suchthat (a) P = PA1 ∪ PA2 , (b) P0 = P01 ∪ P02 , (c) PR = PR1 ∪ PR2 , (d)T = T1 ∪ T2, and (e) F = F1 ∪ F2 is also a WS3PR.

An example of WS3PR is shown in Fig. 2(a). Note that WS3PRin this paper is not equivalent to WS3PSR proposed in Tricas andMartínez (1995). The difference between them is the usage ofresources. The proposed WS3PR has more constraints in using re-sources thanWS3PSR. In other words, it is a subclasses of WS3PSR.WS3PSR in Tricas and Martínez (1995), S4PR in Tricas et al. (2000),S4R in Abdallah and ElMaraghy (1998), and S3PGR2 in Chao (2007)and Park and Reveliotis (2001) are equivalent.Let N = (PA ∪ P0 ∪ PR, T , F ,W ) be a WS3PR and M0 be an

acceptable initial marking. (N,M0) is called an acceptable markedWS3PR, or marked WS3PR for short.

3. Circular wait, circular blocking and deadlock analysis

In FMS, when a deadlock occurs, Coffman’s four necessary con-ditions all hold. The first three, no preemption (i.e. a resource can-not be released from a job until it is complete), mutual exclusion(each resource can be used for only one job at a time), and holdwhile waiting (a job holds its resources while waiting for the partto move into the next job) are always satisfied in manufacturingpractice. Only the last one, circular wait condition (two or moreprocesses form a circular chain where each process waits for aresource that next process in the chain holds) can be preventedthrough various methods to make the whole system deadlock-free. Similar to the structure of circular wait and state of circularblocking studied in Lewis, Gürel, Bogdan, Doganalp, and Pastra-vanu (1998), their definitions and applications in the context ofWS3PR for the purpose of deadlock analysis are presented next. Theweights of arcs have to be considered in the efforts to prevent thestate of circular blocking.

Definition 12. A place p is said to be dead with respect to M ifM(p) < mint∈p• [W (p, t)] and there exists no M ′ ∈ R(N,M) suchthatM ′(p) > M(p). A transition t is said to be dead with respect toM if there exists noM ′ ∈ R(N,M) that enables t .

Page 4: Liveness of an extended S3PR

D. Liu et al. / Automatica 46 (2010) 1008–1018 1011

Definition 13. Given amarkedWS3PR, a part path in thenetmodelis said to be deadlocked if there is a dead transition on that partpath.

Lemma 14. Given a markedWS3PR, there is a deadlocked part pathif and only if there is a dead resource place in it.Proof. (if ) If resource place r is dead, then M(r) < mint∈p•[W (r, t)] and all the transitions in •r are dead. Obviously •r =H(r)•, whereH(r) = (••r∩PA)∪(r••∩PA). Thismeans a deadlockedpart path. (only if ) It follows from Definition 13: if there existsa deadlocked part path, then there is on that part path a deadtransition t . It can be dead only if its input resource place in •t ∩ PRis dead. �

A deadlocked part path means that the operating process can-not continue due to lack of its needed resources. A systemdeadlockis composedof somedeadlockedpart paths. In otherwords, there isno system deadlock if no part path becomes deadlocked. For exam-ple, Fig. 1(b) has only one part path that can never be deadlockedunder the initial markingM0 = 30p1 + 2p5 + 5p6.

Definition 15. A resource place r ∈ PR is called a shared resourceplace if |H(r)| ≥ 2 and a non-shared one if |H(r)| = 1.

The competition for shared resources is the very origin ofdeadlocks. In WS3PR, there is no deadlock if every resource placeis exclusively used by one holder, i.e., they are all non-shared.The concept of wait relation is presented in Lewis et al. (1998)

and can be extended to generalized nets. For any two ri, rj ∈ PR, riis said to wait for rj, denoted ri → rj, if the availability of rj isan immediate requirement for the release of ri, or equivalently, if∃t ∈ •ri ∩ r•j . An R-path between ri and rk is defined as a set ofresource places such that ri → rj → · · · → rk. Then ri is said towait over an R-path for rk, denoted ri ↪→ rk, if there is an R-pathbetween ri and rk.

Definition 16 (Lewis et al., 1998). A circular wait (CW) is a set ofresource places C ⊆ PR, with |C | > 1, such that for any orderedpair {ri, rj} ⊆ C, ri ↪→ rj.

A wait relation or circular wait that has nothing to do with aninitial marking or the weights of arcs is a special structure of a netmodel. The simplest CW is a set of resources C ⊆ PR, such that, forsome appropriate re-labeling, one has r1 → r2 → · · · → rq → r1,with ri 6= rj for i 6= j, 1 ≤ i, j ≤ q. This structure is called a simplecircuit of resource places as the same as defined in Cho, Kumaran,andWysk (1995) andWysk, Yang, and Joshi (1991). In the exampleshown in Fig. 2(a), {r1, r2}, {r2, r3}, {r1, r3}, and {r1, r2, r3} are allstructures of circular wait. Both {r1, r2} and {r2, r3} are two simplecircuits of resource places.

Proposition 17. AWS3PR N = (PA ∪ P0 ∪ PR, T , F ,W ) is live if nocircular wait is formed by PR.Proof. Obviously, there is no structure to satisfy the last one ofCoffman’s four necessary conditions. �

The following notations in the subsequent proofs are fromLewis et al. (1998). This work uses H(C) rather than J(C) in Lewiset al. (1998) to avoid confusion. Given a CW C = {r1, r2, . . . , ri},one can partition •ri into •ri = •rio ∪ •ri+, where •rio = {t ∈T |•t ∩ C 6= ∅}, the set of input transitions of ri with input arcsfrom some other rj ∈ C , and •ri+ = {t ∈ T |•t ∩ C = ∅}, the set ofinput transitions of ri without input arc from any other rj ∈ C . LetH(C) =

⋃ni=1 H(ri) and partition it into H(C) = Ho(C) ∪ H+(C),

where Ho(C) = {p ∈ H(C)|p• ∈ •rio, ri ∈ C}, and H+(C) ={p ∈ H(C)|p• ∈ •ri+, ri ∈ C}. It is worth noting that all the placesin H+(C) are holders of only the shared resources contained in C .For example, (r1, r2) is a circular wait of WS3PR in Fig. 2(a). ThenH(C) = {p2, p3, p7, p8}, •rio = {t2, t7}, •ri+ = {t3, t8},Ho(C) ={p2, p7} and H+(C) = {p3, p8}.

Fig. 3. An S3PR model for the problem of Dinning Philosophers.

Definition 18. A circular blocking (CB) is a state where, for a CWC = {r1, r2, . . . , ri}, i > 1:

(1) ∀ri ∈ C,M(ri) < min[W (ri, r•i )]; and(2) for each ri ∈ C, ∀p ∈ H(ri)withM(p) 6= 0, p ∈ Ho(C).

Under these conditions, C is said to be in a circular blocking (CB).

This definition is a generalized version of that in Lewis et al.(1998). As shown in Fig. 3, the Dinning Philosophers problem ismodeled by S3PR. The set of all resource places, {p16, p17, p18,p19, p20} is a circular wait, and it is in a CB with the current tokendistribution. The following lemma means that no token is put intoor removed from itwhen a simple circuit of resource places is in CB.

Lemma 19. Given a marked WS3PR, if a circular wait C is in a CB,then all resource places in C are dead.

Proof. The proof is similar to the one in Lewis et al. (1998) witha minor modification for generalization. Condition (ii) of Defini-tion 18 implies that any ri ∈ C has one or more tokens if and onlyif some rj ∈ C, j 6= i, can have a token. However, by condition (i)all the resource places in C are insufficiently marked, and hencenone of them can ever receive any token, which means they are alldead. �

Lemma 20. GivenWS3PR, r ∈ PR with M(r) < mint∈r• [W (r, t)] isdead if and only if either of the following holds.

(1) ∃ CW C ⊂ PR 3 r ∈ C and C is in CB; and(2) For each p ∈ H(r) with M(p) 6= 0, ∃ CW C ⊂ PR and r∗ ∈ C 3

•(p•)∩PR ↪→ r∗, with all the resources on the resource path beingdead and C being in CB.

Proof. (if ) Sufficiency follows from Lemma 19. (only if ) Let r bedead and let p ∈ H(r) such that M(p) 6= 0, i.e., p currently holdsat least one of the tokens of r . Since r is dead, then p•(⊆ •r) and•(p•)∩ R(⊆ ••r ∩ R)must be dead. Iterating this process means atleast one circular wait in CB. �

Lemma 20 states that the existence of a dead resource placeis equivalent to the existence of a state of CB in a WS3PR from astructural viewpoint.

Lemma 21. Given WS3PR, there exists a CB if and only if there is adeadlocked part path.

Page 5: Liveness of an extended S3PR

1012 D. Liu et al. / Automatica 46 (2010) 1008–1018

Proof. It follows from Lemmas 14 and 20. �

This lemma establishes the equivalence between a CB and adeadlocked part path. For example, the S3PR with only one partpath in Fig. 1(a) is deadlockedwhen the simple circuit C = {p5, p6}is in CB. Compared with S3PR in Fig. 1(a), the only part path of theWS3PR in Fig. 1(b) is never deadlocked, because the simple circuitof resource places C = {p5, p6} is never in CB of which the reasonwill be explained later.

Theorem 22. Given a markedWS3PR, it is live if and only if there isno CW in CB.

Proof. This follows from Lemma 21. There will never be a dead-locked part path in the net model. Hence, the marked WS3PR(N,M0) is deadlock-free and live. �

Here, with an attempt to avoid a siphon-based method, oneanalyzes the structure of CW, the state of CB, deadlocked part path,and resulting deadlock. Being different from ordinary Petri nets,arc weights must be considered during these analyses in WS3PR.The numerical relationship between weights and initial markingaffects the liveness of a WS3PR as well as the structure of circularwait.

4. Restriction on weights and initial marking

The previous results show the equivalence between a dead-lock and a circular wait in circular blocking. In the following, theproposed restrictions on weights and initial marking of resourceplaces can ensure live WS3PR.

Definition 23. Given a WS3PR N = (PA ∪ P0 ∪ PR, T , F ,W ), aweighted digraph of resource places, denoted as GR = (P ′R, TR,FR,WR), is a sub-graph of N such that:

(1) P ′R ⊆ PR;(2) TR = •P ′R ∩ P

R•;

(3) FR = [(P ′R × TR) ∪ (TR × P′

R)] ∩ F ; and(4) WR = W (x, y), ∀x, y ∈ P ′R ∪ TR.

For example, Fig. 2(b) shows a weighted digraph of resourceplaces derived from the WS3PR in Fig. 2(a). An algorithm withwhich a weighted digraph of resource places can be obtained froma WS3PR is given in the subsequent section.

Definition 24. A weighted simple directed circuit (WSDC), cW =(PCR , T

CR , F

CR ,W

CR ), is a simple circuit derived from a weighted

digraph of resource places such that:

(1) PCR = {r1, r2, . . . , rm} ⊆ P′

R, TCR = {t1, t2, . . . , tm} ⊆ TR, (m ≥

2), and r•1 ∩•r2 = t2, r•2 ∩

•r3 = t3, . . . , r•m ∩•r1 = t1;

(2) F CR = [(PCR × T

CR ) ∪ (T

CR × P

CR )] ∩ FR; and

(3) W CR = W (x, y), ∀x, y ∈ PCR ∪ T

CR .

Obviously, all places of WSDC cW = (PCR , TCR , F

CR ,W

CR ) form a

structure of circular wait, and furthermore, a simple circuit. Forsimplicity, this work uses cW = t1r1t2r2t3 · · · tnrnt1 to denotea WSDC, and CW to denote a set of all WSDCs derived from aweighted directed graph of resource places GR, i.e., CW =

⋃{cWi}.

For example, in GR shown in Fig. 2(b), one has CW = {cW1, cW2},where cW1 = t2r1t7r2t2 and cW2 = t3r2t6r3t3.

Proposition 25. InWS3PR, a WSDCmust contain at least one sharedresource place.

Proof. Proof is done by contradiction. Without loss of generality,let us consider a circuit with 4 vertices, i.e. r1, r2, t1, and t2. Bothr1 and r2 are non-shared resource places. Suppose that p1 and p2are their holders, respectively. Then, ••p1 = p1•• = {p2} and••p2 = p2•• = {p1}. This contradicts the definition of WS3PR. �

Definition 26. A resource path l = (PLR, TLR, F

LR,W

LR) is a simple

path derived from GR = (P ′R, TR, FR,WR) such that: (1) PLR = {r} ⊆

P ′R; (2) TLR = {tt , th}, where there exists a tail transition tt = {

•r} ∩TR, and a head one th = {r•} ∩ TR; (3) F LR = {(tt , r), (r, th)} ⊆ F ;(4)W LR = {W (tt , r),W (r, th)} ⊆ WR; where (tt , r) and (r, th) arecalled in-arc and out-arc of a resource path, respectively. If the in-arc and out-arc of a resource path are not an arc-pair, this resourcepath is called a competition path, denoted as lCP .

For simplicity, a resource path l is denoted as tt rth. This workuses L to denote a set of all resource paths found in a weighteddigraph of resource placesGR, i.e., L =

⋃{li}. LCP =

⋃{lcpi} denotes

a set of all competition paths derived from GR, and LW = {lcp =tt rth|lcp ∈ L,W (tt , r) > W (r, th)} and LF = L−LW . In the exampleof Fig. 2(b), L = LCP = {t2r1t7; t7r2t2; t3r2t6; t6r3t3}, LW = {t2r1t7;t6r3t3}, and LF = {t7r2t2; t3r2t6}.As for a competition path lCP = tt rth, its in-arc and out-arc rep-

resent a mutually exclusive use of this resource place by two op-eration places (holders) that have different sequences in their partpaths. A holder with the in-arc has precedence over the other onewith the out-arc to use the resource place r , in their each part paths,respectively. For example, (t2, r1) and (r1, t7) are in-arc and out-arcof the competition path lCP = t2r1t7, and p2 and p8 are their corre-sponding holders in Fig. 2(a). One can easily find that the operationof p2 precedes that of p8 with respect to the use of r in their respec-tive part path.

Proposition 27. At least one competition path exists in a WSDC.Proof. This follows from Definitions 24 and 26, and Proposi-tion 25. �

Take the simple WS3PR with two resource places in Fig. 1(b)as an example. One has CW = {cW } = {t2p6t3p5t2}, L ={t2p6t3; t3p5t2}, and LCP = {t2p6t3}.

Theorem 28. AWS3PR N is live if there is no WSDC in the weighteddigraph GR derived from N.

Proof. It is true because no structure of circular wait exists in thenet. �

Definition 29. A matrix [W] of all competition paths in LW withrespect to the same resource place r is a 2× nmatrix:

[W(r)] =

[Win(r)

Wout(r)

]=

[win(r)1 · · · w

in(r)i · · · win(r)n

wout(r)1 · · · w

out(r)i · · · wout(r)n

],

where win(r)i (wout(r)i ) is the in-arc (out-arc) weight of the ithcompetition path with the same resource place r in the set LW , andwin(r)i ∈ N + \ {1}, wout(r)i ∈ N +, n ∈ N +, and i ∈ (1, . . . , n).

Multiple competition paths with the same resource place r , asshown in Fig. 4(a), represent multi-sharing of resource r , and placer is the intersection of several WSDCs. The matrix is introducedfor a numerical analysis of the multiple use of r . For example,in Fig. 4(b), LCP = LW = {t2p10t3; t6p10t7}, and [W(p10)] =[Win(p10)

Wout(p10)

]=

[2 41 1

].

Lemma 30. Given a circular wait C in a WS3PR, ∀r ∈ C, thereexists at least one simple resource circuit PCR from a WSDC cW =(PCR , T

CR , F

CR ,W

CR ), such that P

CR ⊆ C and r ∈ P

CR .

Proof. Consider any ri, rj ∈ C . By definition, there exist two re-source paths ri ↪→ rj and rj ↪→ ri. It is easy to see that there existsa WSDC containing both ri and rj, if ri and rj are the only resourceplaces common to these two paths. Suppose that there is at leastone resource, other than ri and rj, at which these two paths merge.This means that there exist at least two WSDCs, each containingone of ri and rj. �

Page 6: Liveness of an extended S3PR

D. Liu et al. / Automatica 46 (2010) 1008–1018 1013

a b

Fig. 4. (a) All competition pathswith the same resource place r in Lw; and (b) Thereare two competition paths with the resource place p10 .

Based on this lemma, one can control the entire structure ofcircular waits not to be in CB by imposing a restriction proposedin this work on an initial marking with respect to characteristicweights (structure) of all WSDCs of a marked WS3PR net model.

Restriction 31. Given a resource place r , it satisfies the followingthree conditions:

(1) (M0(r) mod win(r)i ) ≥ w

out(r)i , whereM0(r) is the initial mark-

ing of r , andwin(r)i (wout(r)i ) is the in-arc (out-arc) weight of theith competition path in LW ;

(2) There exists no such an n-dimensional row vector A = [a1 · · ·ai · · · an] such thatM0(r) = A[Win(r)

]T , where ai ∈ N ; and

(3) As for each part path Γ , it holds that if there are more than onecompetition pathwith r and at least one competition path’s tailand head transitions all belong to Γ ,W (r, t∗h ) = 1, where t

h isa transition in Γ that reaches the sink transition correspond-ingly to Γ in the shortest length.

When two operations (places) are competing against each otherfor a commonly used resource (place), this restriction means thatthe rest of tokens in the resource place after an utmost use by oneoperation place is still enough to be used by the other operationplace. It avoids the situation that a single part path (process) holdsall of a kind of resources that are also required by other part pathsto continue. This situation is guaranteed by the first condition ofRestriction 31. The in-arc and out-arc of a competition path havea certain resource allocation sequence with respect to the partpath(s) containing the tail or head transition. However, differentin-arcs of competition paths with the same resource place do nothave a certain resource allocation sequence. The second and thirdconditions of Restriction 31 make sure that at least one part pathcan continue after an utmost use by all holders with those in-arcs.For example, in the net model shown in Fig. 4(b),M0(p10) = 5 and

[W(p10)] =

[win(p10)1 w

in(p10)2

wout(p10)1 w

out(p10)2

]=

[2 41 1

]. It is clearly that the

first condition is satisfied. The second condition is also satisfiedbecause there exists no natural vector A = [a1 a2] such that5 = 2a1 + 4a2. There are two competition paths t2p10t3 andt6p10t7 with the same resource place p10, and the tail transitiont2 (t6) and the head one t3 (t7) belong to the same part path, andW (p10, t3) = 1 (W (p10, t7) = 1). Therefore, the resource place p10satisfies Restriction 31.Note that (M0(r) mod W (tt , r)) ≥ W (r, th) implies that the

weight of an in-arc is greater than that of an out-arc, i.e.,W (tt , r) >W (r, th)which is used by an algorithm to analyze the structure ofWS3PR to decide the existence of a class of initial markings underwhich it is possible for competition paths to satisfy Restriction 31.

For simplicity, one say that a competition path lcp = tt rth satisfiesRestriction 31 instead of that a competition path’s resource place rsatisfies Restriction 31.By the following lemmas, one can apply this restriction on com-

petition paths found in a weighted digraph of resource places toguarantee the liveness of marked WS3PR models.

Lemma 32. Given a WSDC cW = (PCR , TCR , F

CR ,W

CR ), if ri ∈ P

CR and

H(ri) > 1, then |Ho(ri)| = 1.

Proof. According to the notation of •r io, •r io = {t ∈ T |•t ∩ PCR 6=∅}. PCR is a simple circuit, and thus |

•rio| = 1. Since every part pathis a state machine, |H(r)io| = |{p ∈ H(ri)|p• ∈• rio}| = 1. �

It indicates that every shared resource place must be used byone holder belonging to Ho(ri) and perhaps the other belonging toH+(ri), i.e., there are at most two holders in aWSDC. Note that thislemma is of great importance in the proof of Lemma 33.

Lemma 33. A simple circuit PCR of WSDC cW = (PCR , TCR , F

CR ,W

CR )

is never in CB if at least one competition path in cW satisfies Restric-tion 31.

Proof. By contradiction, suppose that PCR is in CB. Let r ∈ PCR

be a shared resource place and a competition path tt rth satisfiesRestriction 31. According to the definition of CB and Lemma 32,let Ho(r) = {p1} and M(p1) 6= 0. Hence, M(r) = M0(r) −kW (tt , r) = (M0(r) mod W (tt , r)) < min[W (r, th)] which is acontradiction. �

This lemma states the relation between the net structure andinitial marking for deadlock–freeness of a part path according toLemma 21.

Lemma 34. A circular wait C is not in CB if every simple resourcecircuit contained in C is not in CB.

Proof. It follows from Lemmas 30 and 32. �

Naturally, the following theorem reveals the relation betweenliveness and weights and initial marking of resource places in amarked WS3PR.

Theorem 35. Given amarkedWS3PR (N,M0), it is live if everyWSDCcontains at least one competition path that satisfies Restriction 31.

Proof. It follows from Theorem 22, and Lemmas 33 and 34. �

A marked WS3PR model meeting the condition in Theorem 35is live. An example is shown in Fig. 2. The initial marking is M0 =50p1 + 50p5 + 3r1 + 2r2 + 6r3. lCP1 = t2r1t7 and lCP2 = t6r3t3are two competition paths. Both satisfy Restriction 31 in WSDCcW1 = t2r1t7r2t2 and cW2 = t3r2t6r3t3, respectively.Based on these lemmas and theorems, this work develops a set

of polynomial algorithms presented in the next section to decidewhether there exists a class of initial markings for a given structureof WS3PR under which it is live.

5. Algorithms and examples

The developed algorithms are presented and illustrated withexamples in this section. Their complexity is proven to bepolynomial.First, this work simplifies the given structure of a net model.

It focuses on a component of resource places, their pre-sets andpost-sets. It may contain the structures of circular wait that is theroot of deadlock.

Page 7: Liveness of an extended S3PR

1014 D. Liu et al. / Automatica 46 (2010) 1008–1018

Algorithm 1. Computing a weighted directed graph of resourceplaces GR given WS3PR N .Input: N = (P0 ∪ PA ∪ PR, T , F ,W )Output: GR = (P ′R, TR, FR,WR)Step 1: Remove all idle process places and arcs connecting to

them from N;Step 2: Remove all operation places and arcs connecting to them

from N;Step 3: Remove all transitionswithout preset or postset and arcs

connecting to these transitions from N;Step 4: Remove all resource places without input or output

transitions and arcs connecting to these places;Step 5: GR is the remaining part of N .

This work uses Compute_GR(N) to denote a function that im-plements the above algorithm. For the structure of WS3PR shownin Fig. 6(a), its weighted digraph of resource places GR shown inFig. 6(b) is obtained by running this function. Its complexity isO(n),where n = |P| + |T | is the size of a given WS3PR. Second, all re-source paths should be found from GR by checking their weights ofin-arcs and out-arcs.

Algorithm 2. Computing all resource paths from a weighteddigraph of resource places GR.Input: GR = (P ′R, TR, FR,WR)Output: LL := ∅; Tail := ∅; Ttmp := ∅;while (TR − Tail 6= ∅)

{Ttmp := ∅;choose a tt from TR − Tail;while (TR − {tt} − Ttmp 6= ∅)

{choose a th from TR − {tt} − Ttmp;if (t•t ∩

•th = {r}){L := L ∪ {tt , r, th}; Ttmp := Ttmp ∪ {th};}

elseTtmp := Ttmp ∪ {th}

}Tail := Tail ∪ {tt};}

Output LIn the above algorithm, TR is the set of all transitions in GR,

and Tail means a set of tail transitions, and Ttmp is also a set oftransitions that is temporally used to store tested transitions. Thiswork uses C_All_RP(GR) to denote a function that implementsthis algorithm. Since every resource path begins and ends witha tail and head transition, the number of all resource paths is|TR|2 − |TR| at the worst case. Hence, this algorithm’s complex-ity is O(n2). Given GR in Fig. 6(b), L = C_All_RP(GR) = {t2p12t11;t11p13t2; t3p13t10; t4p13t10; t3p13t2; t4p13t2; t11p13t10; t5p16t3; t10p14t4; t6p14t9; t6p14t4; t10p14t9; t9p15t5; t9p15t6}.Third, the outcome of Get_All_RP(GR) is partitioned into two

sets, LW and LF . All elements in LW are competition pathswhose in-arcs have greaterweights than those of out-arcs, and those in LF arethe rest of resource paths in L. It is possible for the resource paths inLW only to find a class of initial markings satisfying Restriction 31.

Algorithm 3. Partition set L into LW in which every resource pathhas a greaterweight of in-arc than that of out-arc, and LF = L−LW .Input: LOutput: LW and LFwhile (L 6= ∅)

{choose a resource path l = tt rth from L;if (W (tt , r) > W (r, th)){LW := LW ∪ {l}; L := L− {l};}

else{LF := LF {l}; L := L− {l};}

}Output LW and LF ;

Let Partition_RP(L) denote a function implementing thisalgorithm. Its complexity is also O(n). For example, L in Fig. 6(b)is partitioned into LF = {t3p13t10; t4p13t10; t3p13t2; t4p13t2; t11p13t10; t5p16t3; t6p14t9; t6p14t4; t10p14t9} and LW = {t2p12t11; t11p13t2;t10p14t4; t9p15t5; t9p15t6}.

Algorithm 4. Analyzing the structure with respect to every re-source place r belonging to competition paths in LW to decidewhich competition paths can never satisfy Restriction 31.Input: LWOutput: L′WL′W = ∅; Res := Get_Resource(LW );for (k = 1; k ≤ |Res|; k++){M0(rk) := 0;if (rk does not satisfy the 3rd condition of Restriction 31)

L′W = L′W ∪ Get_All_CP(rk);else{U = 2(win(rk)1 × · · · × w

in(rk)i × · · · × w

in(rk)n );

c = U/win(rk)n ;for (j1 = 1; j1 ≤ c; j1 ++){for (rem = wout(rk)n; rem ≤ (win(rk)n − 1); rem++){Fail := 0;for (j2 = 1; j2 ≤ n− 1; j2 ++){if ((j1 × w

in(rk)n + rem) < w

out(rk)j2

)Fail := 1; break;

}if (Fail == 1 and (j1 × w

in(rk)n + rem) satisfies the

second condition of Restriction 31)M0(rk) := j1 × w

in(rk)n + rem; break;

}if (M0(rk) > 0)

break;}

if (M0(rk) == 0)L′W = L′W ∪ Get_All_CP(rk);

}}

Output L′W .

Analyze_LW(LW ) is used to denote a function that implementsthe above algorithm. Get_Resource(LW ) is a function that ob-tains a set Res of all resource places used by competition pathsin LW ,Get_All_CP(rk) is a function that obtains all competitionpaths in LW with resource place rk, and U is the upper limit of thecomputation. In the example shown in Fig. 5, [W(p17)] =[2 4 6 81 2 1 6

], and M0(p17) = 15 is computed according to

Algorithm 4. Apparently, M0(p17) = 15 makes all competitionpaths with p17, i.e., t12p17t13, t10p17t11, t4p17t5, and t2p12t3, satisfy-ing Restriction 31. This algorithm’s complexity is O(n4).Next, an algorithm checking set L∗F = LF ∪ L′W is pre-

sented to decide whether there exists a class of initial markingsgiven a WS3PR under which it is live. In the algorithm, Headand Tail are sets of head and tail transitions obtained via func-tions C_Head(L∗F ) and C_Tail(L

F ), respectively. For example, L∗

F =

{t3p13t10; t4p13t10; t3p13t2; t4p13t2; t11p13t10; t5p16t3; t6p14t9; t6p14t4; t10p14t9}, C_Head(L∗F ) = {t3, t4, t5, t6, t10, t11} and C_Tail(L

F ) ={t2, t3, t4, t9, t10}.

Page 8: Liveness of an extended S3PR

D. Liu et al. / Automatica 46 (2010) 1008–1018 1015

Fig. 5. There exists a proper initial marking of p17 to satisfy Restriction 31.

Algorithm 5. Analyzing set L∗F to see whether there is a properinitial marking under which a WS3PR is live.Input: L∗F = LF ∪ L′WOutput: Yes/Nowhile (L∗F 6= ∅)

{Tail := Get_Tail(L∗F );Head := Get_Head(L∗F );if (Tail− Head = ∅ and Head− Tail = ∅)Output: No;

else{if (Tail− Head 6= ∅)remove all resource paths whose tail transitions

are in Tail− Head from L∗F ;if (Head− Tail 6= ∅)remove all resource pathswhose head transitions

are in Head− Tail from L∗F ;}}

Output: Yes.

The function Analyze_LF(L∗F ) implementing Algorithm 5 an-alyzes L∗F and decides whether they can form a strongly con-nected component that must contain at least one WSDC, in whichno competition path’s resource place can satisfy Restriction 31.If there is no strongly connected component formed by resourcepaths in L∗F , it implies that one can find an initial marking to makethe resource place of at least one competition path in every WSDCsatisfy Restriction 31.Hence, themarkedWS3PR is live. Apparently,this algorithm’s complexity is O(n).Once the result of Algorithm 5 is ‘‘Yes’’, one can give a proper

initial marking immediately. For rk ∈ Res, where Res is the outputof the function Get_Resource(LW ),M0(rk) has been computed byAlgorithm 4, and the others can be any positive integer.Finally, one combines all algorithms to show a complete appli-

cation of the proposed method in Algorithm 6 that can be finishedin polynomial time.

a b

Fig. 6. (a) AWS3PR net model N with 5 resource places and (b) GR derived from N .

Table 1WSDCs and their respective competition paths that satisfy Restriction 31 in theWS3PR of Fig. 8.

No. WSDC lCP in LW

1 t13p21t12p22t13 t12p22t132 t13p21t6p22t13 t13p21t63 t7p22t17p25t7 t7p22t174 t18p22t5p24t18 t5p24t185 t3p23t19p24t3 t3p23t196 t9p25t16p26t9 t9p25t167 t4p20t2p23t19p24t18p22t4 t2p23t198 t8p21t12p22t17p25t16p26t8 t12p22t179 t8p21t6p22t17p25t16p26t8 t6p22t17

Algorithm 6. Checking the structure of a WS3PR to decidewhether there exist initial markings under which WS3PR is live.Input: NOutput:M0Step 1: GR := Compute_GR(N);Step 2: L := C_All_RP(GR);Step 3: {LF , LW } := Partition_RP(L);Step 4: Analyze_LW(LW );Step 5: Analyze_LF(L∗F );Step 6: If there exist such a kind of initial markings, give the

minimal one, i.e., for rk ∈ Res,M0(rk) has been computed byAnalyze_LW(LW ), and the others can be any positive integer.

Apply this method to check the structure of WS3PR in Fig. 7.The resource paths in L∗F form a strongly connected component,and also a WSDC in this example, t3p17t2p19t13p18t12p16t3. No re-source place of its competition paths can satisfy Restriction 31,i.e., regardless initial markings, this WSDC’s competition path’s re-source place can do so. In contrastwith the existing structure, if theweights of arcs (p19, t13) and (t14, p19) changed to one, the resultis different. In this case, the competition path t13p19t2 may satisfyRestriction 31 with a proper initial marking, and furthermore thisnew marked WS3PR is live.TheWS3PR in Fig. 8 is another example fromwhich nineWSDCs

can be found in itsweighted digraph of resource places. TheWSDCsand their respective competition paths that satisfy Restriction 31are enumerated in Table 1.M0 for resource places p21–p25 obtainedare shown in Table 2. The initial marking for p1, p10, p17, p20 andp26 can be any positive integer. Hence, the net model in Fig. 8 islive under the initial marking M0 = 100p1 + 100p10 + 100p17 +p20 + 3p21 + 3p22 + 3p23 + 3p24 + 3p25 + p26.

6. Concluding remarks

6.1. Discussion

Compared with the structure of ordinary Petri nets, the role ofweights of arcs in determining the liveness of generalized ones

Page 9: Liveness of an extended S3PR

1016 D. Liu et al. / Automatica 46 (2010) 1008–1018

Fig. 7. AWS3PR with six resource places.

Fig. 8. AWS3PR model with 9 WSDCs in its GR .

should not be neglected. Unlike all arcs’ weights being one in ordi-nary S3PR, weights of arcs in WS3PR mean the multiple use of re-sources by an operation, and the numerical relationship betweenweights of arcs connecting operation and resource places, and to-ken counts in resource places restrict the allocation of systemresources. Inspired by concepts of circular wait and circular block-ing presented in Lewis et al. (1998), thiswork proposes the conceptof weighted simple directed circuit (WSDC) that is a generalizedstructure of circular wait. Different from the circular wait that isa strongly connected component and may be composed of severalnon-disjoint simple resource circuits (Lewis et al., 1998),WSDC is asimple resource circuit. Thus a shared resource place may be com-peted by only two operations in such a circuit. It is important forus to study the numerical relationship between weights and initial

Fig. 9. AWS3PR modeling the problem of extended Dinning Philosophers.

Table 2The minimalM0(ri) for resource places used by competition paths in Table 1.

ri Competition path M0(ri)

p21 t13p21t6 3p22 t12p22t13, t7p22t17, t12p22t17 , and t6p22t17 3p23 t3p23t19 and t2p23t19 3p24 t5p24t18 3p25 t9p25t16 3

marking. Hence, a new deadlock preventionmethodmay be devel-oped from the view point of WSDC rather than siphons. The effectof weights is also considered in defining the state of circular blockfor WSDC in this research. It is similar to the definition of insuffi-cient marking for a siphon in a generalized net (Tricas & Martínez,1995). A generalized version of Dinning Philosophers modeled byWS3PR is shown in Fig. 9. cW = t2p16t14p20t11p19t8p18t5p17t2 is theonly WSDC in this net. When it is in the state of CB under the cur-rent initial markingM0 = 30p1 + 30p4 + 30p7 + 30p10 + 30p13 +2r1+ 1r2+ 2r3+ 7r4+ 4r5, all five part paths are dead, i.e., the en-tire system is deadlocked. In this case, there is one token trapped inp19 since the minimal weight of out-arcs is greater than the num-ber of trapped tokens. Evidently, this undesirable state is a result ofcombined action of its net structure, weights, and initial marking.After the seminal work of Ezpeleta et al. (1995), deadlock pre-

vention methods are implemented by adding monitors (controlplaces) and corresponding arcs to original model plants accordingto respective policies to enforce Li, Zhou, andWu (2008). The struc-tural complexity of the controlled system becomes an importantissue for the policies developed in the literature. The key differ-ence between the proposed method and the existing ones is thatthe deadlock prevention is implemented through configuring aproper initial marking for WS3PR with certain characteristic struc-ture, i.e., at least one competition path has an in-arc weightingover its corresponding out-arc in every WSDC. The method can-not replace others in all situations but can be meaningful beforeother policies are applied. This method is different from the pio-neered work of Zhou and DiCesare (1992, 1991) in which an ini-tial marking is found to ensure the net’s properties given a specialnet structure and quantity of shared resources. The kernel of thiswork is to identify the numerical relationship between weights

Page 10: Liveness of an extended S3PR

D. Liu et al. / Automatica 46 (2010) 1008–1018 1017

representing multiple resource requirements and initial markingof resource places to decide whether certain restriction are met.For example, before applying any deadlock prevention method atthe given initial marking, the structure should be examined to de-cide whether it is live with certain initial markings. Obviously, twocompetition paths, both lCP1 = t14p20t11 and lCP2 = t11p19t8 havein-arcs weighting over their corresponding out-arcs in the uniqueWSDC, cW = t2p16t14p20t11p19t8p18t5p17t2. One can make it live byre-setting an initialmarking asM0 = 30p1+30p4+30p7+30p10+30p13+2r1+1r2+2r3+5r4+3r5. Comparedwith the original oneM0(PR) = 2r1+1r2+2r3+7r4+4r5, the new one decreases someresources’ capacity (i.e., M0(PR) = 2r1 + 1r2 + 2r3 + 5r4 + 3r5).Most importantly, the new one makes the net live. This can savehardware and software cost caused by themonitors and arcs whensiphon-based deadlock prevention methods are used. As anotherexample, the net model in Fig. 8 has 18 strict minimal siphons and6 elementary siphons. Hence if a siphon-based method is used, asignificant number of monitors and arcs are needed. Also most ofexisting methods are of exponential complexity (Ghaffari, Rezg, &Xie, 2003; Li et al., 2008; Uzam, 2002), and only few are polynomial(Park & Reveliotis, 2001; Xing, Zhou, Yang, & Tian, 2009).Actually, according to Theorem 35, a marked WS3PR is

deadlock-free and live if only one competition path satisfies Re-striction 31 rather than all those do in each single WSDC. For ex-ample, both lCP1 = t14p20t11 and lCP2 = t11p19t8 whose in-arcsweigh over out-arcs, may satisfy Restriction 31 with respect to aproper initial marking inWSDC cW = t2p16t14p20t11p19t8p18t5p17t2of Fig. 9. Either choice will be enough to make the resulting modellive. In other words,M ′0 = 30p1+ 30p4+ 30p7+ 30p10+ 30p13+2r1+1r2+2r3+3r4+3r5 andM ′′0 = 30p1+30p4+30p7+30p10+30p13 + 2r1 + 1r2 + 2r3 + 5r4 + 2r5 are both such proper initialmarkings. This can reduce the system’s dependence on resources.However, no matter only one or more competition paths in ev-ery WSDC satisfy Restriction 31, the number of initial markingsof idle process places can be any positive integer. Some tokenswill never enter the processing system if M0(p0i) is too large, i.e.,M(p0i) > 0,∀M ∈ R(N,M0). In fact, the maximal number of jobinstances that can enter a system is equal to the sum of all opera-tion places’ bounds.To avoid the enumeration of all simple circuits (WSDCs) in a

weighted digraph of resource places, which has exponential com-plexity at theworst case, one can set an initial marking tomake ev-ery competition path in LW − L′W satisfy Restriction 31. Therefore,determining how to refine competition paths in LW − L′W withoutobtaining all simple circuits in prior is an interesting problem andstill open.Finally, this method can be also employed in the stage of model

design. A structure of WS3PR is designed according to some spec-ifications describing a practical system. If permitted, the structureand weights of arcs should be properly designed to build an inher-ently deadlock-free model, thereby saving control cost.

6.2. Conclusion

A new method is provided for deadlock prevention that usesthe concepts of generalized circular wait and circular blocking. InWS3PR, it is proved that a net model with a certain characteristicstructure is deadlock-free and live with respect to a class of initialmarkings. A set of polynomial algorithms are developed to imple-ment this method. They can be easily used before any attempt touse other deadlock prevention policies. As a result, onemay signif-icantly save the deadlock controller design efforts and implemen-tation cost. An extension of this method to more general classes ofPetri nets than WS3PR is the future work.

References

Abdallah, I. B., & ElMaraghy, H. A. (1998). Deadlock prevention and avoidance inFMS: a Petri net based approach. International Journal of AdvancedManufacturingTechnology, 14(10), 704–715.

Barkaoui, K., & Abdallah, I. B. (1995). A deadlock prevention method for a classof FMS. In Proceedings of IEEE international conference on systems, man, andcybernetics (pp. 4119–4124).

Barkaoui, K., Chaoui, A., & Zouari, B. (1997). Supervisory control of discreteevent systems based on structure theory of Petri nets. In Proceedings of IEEEinternational conference on systems, man, and cybernetics (pp. 3750–3755).

Barkaoui, K., Couvreur, J. M., & Klai, K. (2005). On the equivalence betweenliveness and deadlock–freeness in Petri nets. In Proceedings of 26th internationalconference on applications and theory of Petri nets and othermodels of concurrency.Vol. 3536 (pp. 90–107).

Chao, D. Y. (2007).Max′-controlled siphons for liveness of S3PGR2 . IET Control Theoryand Applications, 1(4), 933–936.

Cho, H., Kumaran, T. K, &Wysk, R. A. (1995). Graph-theoretic deadlock detection andresolution for flexible manufacturing systems. IEEE Transactions on Robotics andAutomation, 11(3), 413–421.

Coffman, E. G., Elphick, M. J., & Shoshani, A. (1971). System deadlocks. ACMComputing Surveys, 3(2), 67–78.

Ezpeleta, J., Colom, J. M., &Martínez, J. (1995). A Petri net based deadlock preventionpolicy for flexible manufacturing systems. IEEE Transactions on Robotics andAutomation, 11(2), 173–184.

Ezpeleta, J., García-Vallés, F., & Colom, J. M. (1998). A class of well structured Petrinets for flexible manufacturing systems. In Lecture notes in computer science:Vol. 1420. Applications and theory of Petri nets (pp. 64–83).

Ghaffari, A., Rezg, N., & Xie, X. L. (2003). Design of a live and maximally permissivePetri net controller using the theory of regions. IEEE Transactions on Robotics andAutomation, 19(1), 137–142.

Hu, H. S., Zhou, M. C., & Li, Z. W. (2009). Liveness enforcing supervision ofvideo streaming systems using non-sequential Petri nets. IEEE Transactions onMultimedia, 11(8), 1446–1456.

Huang, Y. S. (2007). Design of deadlock prevention supervisors using Petri nets.International Journal of Advanced Manufacturing Technology, 35(3–4), 349–362.

Huang, Y. S., Jeng, M. D., Xie, X. L., & Chung, S. L. (2001). A deadlock preventionpolicy for flexible manufacturing systems using siphons. In Proceedings of theIEEE international conference on robotics and automation. Vol. 1 (pp. 541–546).

Jeng,M. D., & DiCesare, F. (1995). Synthesis using resource control nets formodelingshared-resource systems. IEEE Transactions on Robotics and Automation, 11(3),317–327.

Lewis, F. L., Gürel, A., Bogdan, S., Doganalp, A., & Pastravanu, O. C. (1998). Analysisof deadlock and circular waits using a matrix model for flexible manufacturingsystems. Automatica, 34(9), 1083–1100.

Li, Z. W., Hu, H. S., &Wang, A. R. (2007). Design of liveness-enforcing supervisors forflexible manufacturing systems using Petri nets. IEEE Transactions on Systems,Man, and Cybernetics, Part C , 37(4), 517–526.

Li, Z.W., & Zhou,M. C. (2004). Elementary siphons of Petri nets and their applicationto deadlock prevention in flexible manufacturing systems. IEEE Transactions onSystems, Man, and Cybernetics, Part A, 34(1), 38–51.

Li, Z. W., & Zhou, M. C. (2006). Two-stage method for synthesizing liveness-enforcing supervisors for flexible manufacturing systems using Petri nets. IEEETransactions on Industrial Informatics, 2(4), 313–325.

Li, Z. W., Zhou, M. C., & Wu, N. Q. (2008). A survey and comparison of Petri net-based deadlock prevention policies for flexible manufacturing systems. IEEETransactions on Systems, Man, and Cybernetics, Part C , 38(2), 173–188.

Li, Z. W., & Zhou, M. C. (2009). Deadlock resolution in automated manufacturingsystems: a novel Petri net approach. New York: Springer.

Park, J., & Reveliotis, S. A. (2001). Deadlock avoidance in sequential resourceallocation systems with multiple resource acquisitions and flexible routings.IEEE Transactions on Automatic Control, 46(10), 1572–1583.

Tricas, F., García-Vallés, F., Colom, J. M., & Ezpeleta, J. (1998). A structural approachto the problem of deadlock prevention in processes with shared resources. InProceedings of 4th workshop on discrete event systems (pp. 273–278).

Tricas, F., García-Vallés, F., Colom, J. M., & Ezpeleta, J. (2000). An iterative methodfor deadlock prevention in FMS. In Proceedings of 5th workshop on discrete eventsystems (pp. 139–148).

Tricas, F., & Martínez, J. (1995). An extension of the liveness theory for concurrentsequential processes competing for shared resources. In Proceedings of IEEEinternational conference on systems,man, and cybernetics. Vol. 4 (pp. 3035–3040).

Uzam, M. (2002). An optimal deadlock prevention policy for flexible manufacturingsystems using Petri net models with resources and the theory of regions.International Journal of Advanced Manufacturing Technology, 19(3), 192–208.

Uzam,M., & Zhou,M. C. (2006). An improved iterative synthesismethod for livenessenforcing supervisors of flexiblemanufacturing systems. International Journal ofProduction Research, 44(10), 1987–2030.

Wang, A. R., Li, Z. W., Jia, J. Y., & Zhou, M. C. (2009). An efficient algorithm to findelementary siphons in a class of Petri nets. IEEE Transactions on Systems, Man,and Cybernetics, Part A, 39(4), 912–923.

Wu, N. Q. (1999). Necessary and sufficient conditions for deadlock-free operationin flexible manufacturing systems using a colored Petri net model. IEEETransactions on System, Man, and Cybernetics, Part C , 29(2), 192–204.

Wu, N. Q., & Zhou, M. C. (2010). System modeling and control with resource-orientedPetri nets. New York: CRC Press.

Page 11: Liveness of an extended S3PR

1018 D. Liu et al. / Automatica 46 (2010) 1008–1018

Wysk, R. A., Yang, N. S., & Joshi, S. (1991). Detection of deadlocks in flexiblemanufacturing cells. IEEE Transactions on Robotics and Automation, 7(6),853–859.

Xing, K. Y., & Hu, B. S. (2005). Optimal liveness Petri net controllers withminimal structures for automatedmanufacturing systems. In Proceedings of IEEEinternational conference on systems, man, and cybernetics (pp. 282–287).

Xing, K. Y., Hu, B. S., & Chen, H. X. (1996). Deadlock avoidance policy for Petri-net modeling of flexible manufacturing systems with shared resources. IEEETransactions on Automatic Control, 41(2), 289–295.

Xing, K. Y., Zhou, M. C., Yang, X., & Tian, F. (2009). Optimal Petri net-based polynomial-complexity deadlock avoidance polices for automatedmanufacturing systems. IEEE Transactions on Systems, Man, and Cybernetics, PartA, 39(1), 188–199.

Zhou, M. C., & DiCesare, F. (1991). Parallel and sequential exclusions for Petrinet modeling for manufacturing systems. IEEE Transactions on Robotics andAutomation, 7(4), 515–527.

Zhou, M. C., & DiCesare, F. (1992). A hybrid methodology for synthesis of Petri netsfor manufacturing systems. IEEE Transactions on Robotics and Automation, 8(3),350–361.

Zhou, M. C., & DiCesare, F. (1993). Petri net synthesis for discrete event control ofmanufacturing systems. Boston: Kluwer Academic Publishers.

Zhou, M. C., & Fanti, M. P. (Eds.). (2005). Deadlock resolution in computer-integratedsystems. New York: Marcel Dekker.

Zouari, B., & Barkaoui, K. (2003). Parameterized supervisor synthesis for a modularclass of discrete event systems. In Proceedings of IEEE international conference onsystems, man, and cybernetics (pp. 1874–1879).

Ding Liu received the B.S. and M.S. degrees from XidianUniversity, Xi’an, China, in 2003 and 2006, respectively.Currently, he is a Ph.D. candidate in Xidian University.Since 2005, he has published 5 papers including inter-national journal and conference ones, which all focus onthe deadlock prevention policies for flexible manufactur-ing systemsmodeledwith Petri nets. His research interestsinclude Petri nets, discrete event systems, and automata.

ZhiWu Li received the B.S., M.S., and Ph.D. degrees inmechanical engineering, automatic control, and manufac-turing engineering, respectively, from Xidian University,Xi’an, China, in 1989, 1992, and 1995, respectively. Hejoined Xidian University, in 1992, where he is currentlya Professor of School of Electro-Mechanical Engineering.From June 2002 to July 2003, he was a Visiting Professor atthe Systems Control Group, Department of Electrical andComputer Engineering, University of Toronto, Toronto, ON,Canada. From February 2007 to February 2008, he was aVisiting Scientist at the Laboratory for Computer-Aided

Design (CAD) & Lifecycle Engineering, Department of Mechanical Engineering,Technion-Israel Institute of Technology, Technion City, Haifa, Israel. Since Novem-ber 2008, he has been a Visiting Professor in Automation Technology Laboratory,Institute of Computer Science,Martin-Luther University of Halle-Wittenburg, Halle,Germany.He is the author or coauthor of over 120 publications including a book chapter

in Deadlock Resolution in Computer-Integrated Systems (Marcel Dekker, 2005). Heis a coauthor with MengChu Zhou, Deadlock Resolution in Automated Manufactur-ing Systems: A Novel Petri Net Approach, (Springer, 2009) andModeling, Analysis andDeadlock Control in Automated Manufacturing Systems (Beijing, 2009, in Chinese).His current research interests include Petri net theory and application, supervisorycontrol of discrete event systems, workflowmodeling and analysis, and systems in-tegration.

He is the General Co-Chair of the IEEE International Conference on Automa-tion Science and Engineering, August 23–26,Washington, DC, 2008. He is a financialCo-Chair of the IEEE International Conference on Networking, Sensing, and Control,March 26–29, 2009, a member of International Advisory Committee, 10th Interna-tional Conference on Automation Technology, June 27–29, 2009, a Co-Chair of theprogram committee of the IEEE International Conference on Mechatronics and Au-tomation, August 24–27, 2010, members of the program committees of many in-ternational conferences. He serves an Associate Editor of the IEEE Transactions onAutomation Science and Engineering, International Journal of Embedded ControlSystems, IST Transactions of Robotics, Automation & Mechatronics—Theory & Ap-plications, and IST Transactions of Control Engineering—Theory and Applications.He is a Guest Editor of Special Issue on ‘‘Petri Nets for System Control Automation’’in Asian Journal of Control, Special Issue on ‘‘Petri Nets and Agile Manufacturing’’in Transactions of the Institute of Measurement and Control, and Special Issue onModeling and Verification of Discrete Event Systems in ACM Transactions on Em-bedded Computing Systems.He is amember of Discrete Event Systems Technical Committee of the IEEE Sys-

tems, Man, and Cybernetics Society. He serves as a frequent reviewer for more than20 international journals including a number of the IEEE Transactions as well asmany international conferences. He is listed in Marquis Who’s Who in the world,27th Edition, 2010. Dr. Li is a recipient of Alexander von Humboldt Research Grant,Alexander von Humboldt Foundation, Germany. He is a senior member of IEEE andfounding chair of IEEE Xi’an chapter, Systems, Man, and Cybernetics Society.

MengChu Zhou received his B.S. degree in Electrical En-gineering from Nanjing University of Science and Tech-nology, Nanjing, China in 1983, M.S. degree in AutomaticControl fromBeijing Institute of Technology, Beijing, Chinain 1986, and Ph. D. degree in Computer and Systems Engi-neering from Rensselaer Polytechnic Institute, Troy, NY in1990. He joined New Jersey Institute of Technology (NJIT),Newark, NJ in 1990, and is currently a Professor of Elec-trical and Computer Engineering, Director of the MS inComputer Engineering Program and Area Coordinator ofIntelligent Systems at NJIT. His research interests are in in-

telligent automation and systems, Petri nets, discrete event systems, and semicon-ductor manufacturing. He has over 350 publications including 10 books, over 150journal papers (majority in IEEE transactions), and 17 book-chapters. He serves asthe Editor of IEEE Transactions on Automation Science and Engineering, and Asso-ciate Editor of IEEE Transactions on Systems, Man and Cybernetics: Part A and IEEETransactions on Industrial Informatics. He is Co-Chair of Enterprise Information Sys-tems Technical Committee of IEEE SMC Society and Vice-Chair of IFAC TechnicalCommittee on Economic and Business Systems. He was General Chair of IEEE Conf.on Automation Science and Engineering,Washington DC, August 23–26, 2008, Gen-eral Co-Chair of 2003 IEEE International Conference on Systems,Man and Cybernet-ics (SMC), Washington DC, October 5–8, 2003, Founding General Co-Chair of 2004IEEE Int. Conf. on Networking, Sensing and Control, Taipei, March 21–23, 2004, andGeneral Chair of 2006 IEEE Int. Conf. on Networking, Sensing and Control, Ft. Laud-erdale, Florida, USA, April 23–25, 2006. He was Program Chair of 1998 and 2001IEEE International Conference on SMC and 1997 IEEE International Conference onEmerging Technologies and Factory Automation. He organized and chaired over 80technical sessions and served on program committees for many conferences. He isProgram Committee Chair of 2010 IEEE International Conference on Mechatronicsand Automation, August 4–7, 2010, Xi’an, China. Dr. Zhou has led or participated inover 40 research and education projects with a total budget of over $10M, fundedby National Science Foundation, Department of Defense, Engineering Foundation,New Jersey Science and Technology Commission, and industry. He was the recip-ient of CIM University-LEAD Award by Society of Manufacturing Engineers, PerlisResearch Award by NJIT, Humboldt Research Award for US Senior Scientists, Lead-ership Award andAcademic Achievement Award by Chinese Association for Scienceand Technology-USA, and Distinguished Lecturership of IEEE SMC Society. He is alife member of Chinese Association for Science and Technology-USA and served asits President in 1999. He has been an Fellow of IEEE since 2003.