An Effective Algorithm to Find Elementary Siphons in a ... - IEEE Xplore

19 downloads 0 Views 363KB Size Report
Abstract—As a structural object of Petri nets, siphons play a key role in the development of deadlock prevention policies for resource allocation systems.
912

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 39, NO. 4, JULY 2009

An Effective Algorithm to Find Elementary Siphons in a Class of Petri Nets AnRong Wang, Member, IEEE, ZhiWu Li, Senior Member, IEEE, JianYuan Jia, and MengChu Zhou, Fellow, IEEE

Abstract—As a structural object of Petri nets, siphons play a key role in the development of deadlock prevention policies for resource allocation systems. Elementary siphons are a novel concept in net theory. Based on graph theory, this paper proposes an effective algorithm with polynomial complexity to find a set of elementary siphons for a linear system of simple sequential processes with resources (LS3 PR), a subclass of Petri nets, which can model many flexible manufacturing systems. The algorithm is established through the use of a resource directed graph and complementary sets of strict minimal siphons (SMS) of the net. The upper bound of the number of SMS in such a net is identified. A running example is used to demonstrate the proposed method. Index Terms—Automated manufacturing system, digraph, discrete event system, elementary siphon, flexible manufacturing system, Petri net.

I. I NTRODUCTION

I

N THE LAST two decades, Petri nets [12] evolved as a powerful mathematical tool to describe the sequences of events and dynamics of resource allocation systems (RAS). Limited resources are usually shared in an RAS. The competition for them may lead to deadlocks [4]–[7], [17], [20]–[26]. Deadlock problems are extensively investigated in the literature. One recent breakthrough to evaluate the liveness of RAS configurations and synthesize liveness-enforcing supervisors for deadlock-prone RAS is the formal characterization of nonliveness of their Petri net models through siphons [13]. Theory and algorithms are developed to assess the liveness of certain classes of Petri nets, which can model various RAS. The liveness assessment can be performed by verifying the satisfiability of certain predicates on siphons, a well-known structural object in Petri nets [2], [3], [8], [9], [11]. Accordingly,

Manuscript received June 24, 2007; revised March 1, 2008 and August 13, 2008. Current version published June 19, 2009. This work was supported in part by the National Natural Science Foundation of China under Grants 60474018 and 60773001, National 863 Program under 2008AA04Z109, PRC Ministry of Science and Technology, Changjiang Scholars Program, PRC Ministry of Education, and in part by the National Research Foundation for the Doctoral Program of Higher Education, Ministry Education of China under Grant 20070701013. This paper was recommended by Associate Editor M. P. Fanti. A. Wang, Z. Li, and J. Jia are with the School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China (e-mail: arwang@mail. xidian.edu.cn; [email protected]; [email protected]). M. Zhou is with the Department of Electrical and Computer Engineering, New Jersey Institute of Technology, Newark, NJ 07102 USA, and also with the School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China (e-mail: [email protected]). Digital Object Identifier 10.1109/TSMCA.2009.2019880

one of the most interesting developments is the use of siphons to derive liveness-enforcing Petri net supervisors for RAS, depending on the complete or partial siphon enumeration. Unfortunately, the number of siphons in a net grows quickly beyond practical limits and, in the worst case, grows exponentially with the size of a net. Efficient siphon computation algorithms are increasingly becoming the kernel of many existing deadlock prevention and avoidance polices. In traditional theory, each possibly emptiable minimal siphon requires a monitor to be added to prevent itself from being emptied. Hence, when the number of such siphons is large, it leads to a much more structurally complex Petri net supervisor than the plant model. Motivated by the need to design structurally simple supervisors while achieving the same or better control performance, the concept of elementary and dependent siphons is proposed. Their computation is hence a critical task for the development of deadlock control policies based on them. Traditionally, the solution to a set of elementary siphons, in a general case, depends on the complete siphon enumeration whose computation is time consuming or impossible for a large-size net. This paper consists of the following new contributions. 1) The upper bound of the number of elementary siphons in a linear system of simple sequential processes with resources (LS3 PR) is bounded by n(n − 1)/2, where n is the number of resource types. 2) The number of elementary siphons in an LS3 PR can be found in a polynomial time with complexity O(n4 ). 3) The upper bound of the number of strict minimal siphons (SMS) in an LS3 PR is 2n − n − 1. The rest of this paper is organized as follows. Section II gives the preliminaries used throughout this paper. The relationship between the resource digraph of an LS3 PR and its SMS is explored in Section III. A number of algorithms are developed in Section IV to compute a set of elementary siphons. Section V formulates the upper bounds of SMS and elementary siphons in an LS3 PR. Computational complexity analysis and experimental results are given in Section VI. Finally, Section VII concludes this paper. II. P RELIMINARIES A. Petri Nets A Petri net [12] is a four-tuple N = (P, T, F, W ) where P and T are finite, nonempty, and disjoint sets. P is a set of places and T is a set of transitions with P ∪ T = ∅ and P ∩ T = ∅. F ⊆ (P × T ) ∪ (T × P ) is called the flow relation,

1083-4427/$25.00 © 2009 IEEE

WANG et al.: EFFECTIVE ALGORITHM TO FIND ELEMENTARY SIPHONS

Fig. 1.

Digraph D = (V, E).

represented by arcs with arrows from places to transitions or from transitions to places. W : (P × T ) ∪ (T × P ) → N is a mapping that assigns a weight to an arc: W (x, y) > 0 iff (x, y) ∈ F , and W (x, y) = 0 otherwise, where N is the set of nonnegative integers. N = (P, T, F, W ) is called an ordinary net, denoted as N = (P, T, F ), if ∀f ∈ F , W (f ) = 1. A marking M of N is a mapping from P to N. (N, M0 ) is called a net system  or marked net, where M0 is the initial marking of N . We use p∈P M (p)p to denote vector M , e.g., M = [1, 0, 0, 0, 2]T is denoted by M = p1 + 2p5 . A net is pure (self-loop free) iff ∀(x, y) ∈ (P × T ) ∪ (T × P ), W (x, y) = 0 implies W (y, x) = 0. A pure net N = (P, T, F, W ) can be alternatively represented by its incidence matrix [N ], where [N ] is a |P | × |T | integer matrix with [N ](p, t) = W (t, p) − W (p, t). For a place p in N , its incidence vector is denoted as [N ](p, ·). A P -vector is a column vector I : P → Z indexed by P and a T -vector is a column vector J : T → Z indexed by T , where A P (T )-vector I(J) is often denoted by Z is the set of integers.   I(p)p ( J(t)t). P -vector I is a P -invariant (place p∈P t∈T T invariant) iff I = 0 and I [N ] = 0T . P -invariant I is said to be a P -semiflow if no element of I is negative. I = {p ∈ P |I(p) = 0} is called the support of I. An invariant is minimal when its support is not a strict superset of the support of any other, and the greatest common divisor of its elements is one. A set of places S ⊆ P is a siphon iff •S ⊆ S • . S is called a trap iff S • ⊆ •S. A siphon is minimal iff there is no siphon contained in S as a proper subset. A minimal siphon is said to be an SMS if it does not contain the support I of a P -invariant I. Let N be a net with k SMS, S1 − Sk . We use Π = {S1 , S2 , . . . , Sk } to denote the set of SMS in N . B. Basics of Graph Theory Only digraphs are concerned in this paper. The notation of graph theory is mainly from [1], [14], [16], [18], and [19]. A digraph (directed graph) is a two-tuple D = (V, E) where V and E are finite and disjoint sets. V is the set of vertices, and E is the set of edges with E ⊆ {(u, v)|u, v ∈ V }. In a digraph, E is a subset of the set of ordered pairs of elements of V . A labeled graph is the one where each edge is assigned a label. For example, the graph shown in Fig. 1 is directed, where V = {a, b, c, d}, E = {e1 –e7 }, and e4 is the label of edge (a, d). For simplicity, the sets of vertices and edges of D are denoted by V (D) and E(D), respectively. D is called an order-n graph

913

if |V (D)| = n. It is a null one if E(D) = ∅. A null graph D with n vertices is called an order-n null graph. A null graph with only one vertex is called a trivial graph. D is called an empty graph if V (D) = ∅, denoted as D = ∅. Vertices vi and vj are adjacent and called the endpoints of ek if ek = (vi , vj ) ∈ E. If vi is an endpoint of ek , then ek and vi are incident. If vi = vj , the incident degree of ek and vi (ek and vj ) is one. The endpoints of ek are also called its incident vertex set. If vi = vj , the incident degree of ek and vi is two and ek is called a loop. ∀v ∈ V , if neither v = vi nor v = vj is true, the incident degree of ek and v is zero. A vertex is called an isolated one if there is no edge that is incident with it. vi is called the tail and vj the head of an edge ek = (vi , vj ). In a digraph, an edge is from its tail to head. If two or more edges are incident with vi and vj and have the same tail and head, they are called parallel edges. Two edges e1 and e2 are said to be symmetric if e1 = (v, v ) and e2 = (v , v). D is called a simple graph if it contains no loops and parallel edges; and otherwise it is called a multigraph. In Fig. 1, e2 and e3 are parallel, e6 and e7 are symmetric, and e1 is a loop. The graph is hence a multigraph. The out-degree d− (v) of vertex v is the number of edges with tail v. The in-degree d+ (v) is the number of edges with head v. In Fig. 1, d− (a) = 4, d+ (a) = 1, d− (b) = 0, and d+ (b) = 3. A simple digraph D = (V, E) is called a complete graph iff ∀v, v ∈ V , v = v, there is an edge e such that e = (v, v ). Such a graph with n vertices is called an order-n complete graph, denoted by Kn . Let D = (V, E) and D = (V , E ) be two digraphs. D is called a subgraph of D if V ⊆ V and E ⊆ E. D is called a spanning subgraph of D if V = V and E ⊆ E. Let V ⊆ V be a nonempty subset of the vertices of D = (V, E). The subgraph of D whose vertex set is V and whose edge set is the set of those edges of D, each of which has both endpoints in V , is called the subgraph of D induced by V , denoted by D[V ]. We say that D[V ] is an induced subgraph of D. The induced subgraph D[V \ V ] is denoted by D − V . It is the subgraph obtained from D by deleting the vertices in V together with their incident edges. If V = {v}, D − V is written as D − v. Let E ⊆ E be a nonempty subset of the edges of D = (V, E). The subgraph of D whose vertex set is the set of endpoints in E and edge set is E is called the subgraph of D induced by E , denoted by D[E ]. We say that D[E ] is an edgeinduced subgraph of D. The spanning subgraph of D with edge set E \ E is denoted by D − E . It is the subgraph obtained from D by deleting the edges in E . If E = {e}, D − E is written as D − e. Definition 1: A simple spanning subgraph of D, called the simple underlying digraph of D, denoted by DS , is obtained form D by deleting all loops and, for every ordered pair of adjacent vertices, all but one edge joining them. A walk is a list Γ = v0 , e1 , v1 , . . . , ek , vk of vertices and edges such that, for 1 ≤ i ≤ k, ei has endpoints vi−1 and vi . The vertices v0 and vk that begin and end the walk are termed the initial and terminal ones of Γ, respectively, and v1 , v2 , · · ·, vk−1 its internal ones. We say that Γ is a walk from v0 to vk , or a v0 -vk walk. A trail is a walk with no repeated edge. A

914

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 39, NO. 4, JULY 2009

path is a walk with no repeated vertex except for v0 and vk possibly being the same. A walk, trail, or path is closed if its origin and terminus are the same. A closed path is called an elementary circuit, and a closed walk or closed trail is called a general circuit [1]. If there exists a walk from vi to vj , then we say that vj is reachable from vi , denoted by vi → vj . It is denoted by vi ↔ vj if vi and vj are mutually reachable. We assume that every vertex is reachable from itself. A strongly connected graph is one in which for all pairs of vertices, they are reachable from each other. A maximal strong subgraph of a graph is a subgraph that is strongly connected but not contained in a larger strongly connected subgraph. The strong components of a graph are its maximal strong subgraphs. C. Elementary Siphons The concept of elementary and dependent siphons is proposed in [9] and [10]. Definition 2: λS is called the (characteristic) P -vector of a subset of places S iff ∀p ∈ S, λS (p) = 1; otherwise, λS (p) = 0. ηS is called the (characteristic) T -vector of S iff ηST = λT S [N ]. Definition 3: Let N = (P, T, F, W ) be a net with |P | = m, |T | = n, and k siphons S1 -Sk . Let [λ]k×m = [λS1 |λS2 | · · · |λSk ]T and [η]k×n = [λ]k×m [N ]m×n = [ηS1 |ηS2 | · · · |ηSk ]T . [λ]([η]) is called the (characteristic) P (T )-vector matrix of the siphons in N . Definition 4: Let ηSζ , ηSξ , . . ., and ηSρ ({ζ, ξ, . . . , ρ} ⊆ Nk , Nk = {1, 2, . . . , k}) be a linearly independent maximal set of matrix [η]. Then, ΠE = {Sζ , Sξ , . . . , Sρ } is called a set of elementary siphons in N . Definition / ΠE is called a strongly dependent siphon  5: S ∈ / ΠE is called a if ηS = Si ∈ΠE ai ηSi , where ai ≥ 0. S ∈ 2 ⊂ ΠE , such weakly dependent siphon if ∃  nonempty S 1 , S 1 2 that S ∩ S = ∅ and ηS = Si ∈S 1 ai ηSi − Si ∈S 2 ai ηSi , where ai > 0. Theorem 1: |ΠE | = rank([η]) and |ΠE | ≤ min{|P |, |T |} [10]. D. LS3 PR Definition 6: A Linear S3 PR (LS3 PR) is an ordinary Petri net N = (P, T, F ) such that [3] 1) P = P0 ∪ PA ∪ PR is a partition such that a) P0 = {p10 , . . . , pk0 }, k > 0, is the set of idle places. b) PA = ∪ki=1 PAi is the set of operation places, where PAi ∩ PAj = ∅, for all i = j. c) PR = {r1 , . . . , rn }, n > 0, is the set of resource places. 2) T = ∪ki=1 T i is the set of transitions, where T i ∩ T j = ∅, for all i = j. 3) ∀i ∈ Nk , the subnet N i generated by {pi0 } ∪ PAi ∪ T i is a strongly connected state machine, such that every cycle contains {pi0 } and ∀p ∈ PAi , |p• | = 1. 4) ∀i ∈ Nk , ∀p ∈ PAi , ∃r ∈ PR , •• p ∩ PR = p•• ∩ PR = {r} and |•• p ∩ PR | = 1.

5) For r ∈ PR , H(r) = (•• r) ∩ PA , the operation places that use r are called the set of holder of r. 6) N is strongly connected. From Definition 6, it can be seen that an LS3 PR is composed of a set of state machines holding and releasing a set of common resources, and the state machines contain no choices at internal states. In what follows, N = (P0 ∪ PA ∪ PR , T, F ) is used to denote an LS3 PR unless otherwise stated. Definition 7: M0 is called an initial marking of an LS3 PR N iff ∀p ∈ PA , M0 (p) = 0; ∀p ∈ P0 ∪ PR , M0 (p) > 0. In this paper, when a siphon S in an LS3 PR net is considered, we assume that S ∩ PR = ∅, i.e., S ∩ P0 = ∅. Let S be a siphon of N . Define SR = S ∩ PR and SA = S \ SR . If S is an SMS in N , S can be emptied and |S ∩ SR | > 1. In other words, an SMS has at least two resource places. Given r ∈ PR , let Ir be the minimal P -semifow associated with r. We have Ir = {r} ∪ H(r). In addition, N satisfies the following. 1) ∀i ∈ Nk , ∀r ∈ PR , PAi ∪ {pi0 } and Ir are the supports of P -invariants. ∀r ∈ PR , Ir is both a minimal siphon and trap, which is initially marked. 2) Let S = SA ∪ SR be a siphon in N , where SR = {r1 , r2 , . . . , rl }. Then, ∀p ∈ S, ∃i ∈ Nl , p ∈ H(ri ) and / H(rj ). ∀j ∈ Nl \ {i}, p ∈ Definition 8: Let S = SA ∪ SR be a siphon in N . [S] = (∪r∈SR H(r)) \ S is called the complementary set of S. λ[S] is called the characteristic P -vector of the complementary set of S, or simply called the complementary vector of S. Property 1: Let S be an SMS in N with S = {pu , . . . , pv } = SA ∪ SR , SR = {r1 , r2 , . . . , rm } and [S] = {px , . . . , py }. [S] ∪ S is the support of a P -semiflow I of N , where I = pu + · · · + pv + px + · · · + py = Ir1 + Ir2 + · · · + Irm . Moreover,  ∃p ∈ P0 , p ∈ S. We use ΣλS (p)p, ΣηS (t)t, and Σp∈ I I(p)p to denote λS , ηS , and I, respectively. The net N shown in Fig. 2 is an LS3 PR net, where PR = {r1 –r7 } = {p26 –p32 }, and P0 = {p10 –p50 } = {p21 –p25 }. In N , there are eight SMS: S2 = {p9 , p13 , p16 , p20 , p29 –p32 }, S1 = {p4 , p8 , p26 –p28 }, S3 = {p1 , p4 , p7 , p26 , p27 }, S4 = {p3 , p5 , p8 , p26 , p28 }, S5 = {p2 , p4 , p6 , p8 , p27 , p28 }, S6 = {p12 , p15 , p18 , p30 , p32 }, S7 = {p9 , p12 , p16 , p18 , p20 , p29 , p30 , p32 }, and S8 = {p9 , p11 , p13 , p14 , p16 , p20 , p29 –p31 }. Their characteristic P -vectors are λS1 = p4 +p8 +p26 +p27 + p28 , λS2 = p9 + p13 + p16 + p20 + p29 + p30 +p31 +p32 , λS3 = p1 +p4 +p7 +p26 +p27 , λS4 = p3 + p5 +p8 +p26 +p28 , λS5 = p2 +p4 +p6 +p8 +p27 +p28 , λS6 = p12 +p15 +p18 +p30 +p32 , λS7 = p9 +p12 +p16 +p18 +p20 + p29 +p30 +p32 , and λS8 = p9 +p11 +p13 +p14 +p16 +p20 + p29 + p30 + p31 , respectively. Their characteristic T -vectors are ηS1 = −t1 + t4 − t6 + t9 , ηS2 = −t12 + t15 − t17 + t19 − t21 + t24 , ηS3 = −t3 + t4 − t7 + t8 , ηS4 = −t2 + t3 − t8 + t9 , ηS5 = −t1 +t2 − t6 + t7 , ηS6 = −t13 + t14 − t17 +t18 − t21 + t22 , ηS7 = −t12 + t14 − t17 + t19 − t21 + t22 , and ηS8 = −t12 + t13 − t22 + t24 , respectively. Since rank([η]) = 7, the number of elementary siphons in N is seven. III. R ESOURCE D IGRAPHS AND SMS From Property 1, we have immediately the following result.

WANG et al.: EFFECTIVE ALGORITHM TO FIND ELEMENTARY SIPHONS

Fig. 2.

915

An LS3 PR net.

Corollary 1: Let I = SR , |SR | = m, k ∈ Nm .

m

k=1 Irk ,

Irk = H(rk ) ∪ {rk }, rk ∈

[S] = I \ S S = I \ [S].

(1) (2)

Definition 9: [C]|Π|×|P | = [λ[S1 ] |λ[S2 ] | · · · |λ[S|Π| ] ]T is called the characteristic P -vector matrix of the complementary set of SMS in N , or complementary matrix, C–matrix for short. Let βpi , i ∈ N|P | , denote the ith column vector of [C] defined above. We have [C] = [βp1 |βp2 | · · · |βpm ]. Similarly, we use Σλ[S] (p)=0 λ[S] (p)p to denote λ[S] . For example, we can derive C–matrix for Fig. 2. [C] = [λ[S1 ] |λ[S2 ] | · · · |λ[S8 ] ]T = [βp1 |βp2 | · · · |βp32 ], where

βpi

⎧ [1 0 0 0 1 0 0 0]T , ⎪ ⎪ ⎪ [1 0 0 1 0 0 0 0]T , ⎪ ⎪ ⎪ ⎪ ⎪ [1 0 1 0 0 0 0 0]T , ⎪ ⎪ ⎪ ⎨ [0 1 0 0 0 0 1 1]T , = [0 1 0 0 0 1 1 0]T , ⎪ ⎪ ⎪ [0 1 0 0 0 0 0 0]T , ⎪ ⎪ ⎪ ⎪ [0 1 0 0 0 0 1 0]T , ⎪ ⎪ ⎪ ⎪ [0 1 0 0 0 0 0 1]T , ⎩ [0 0 0 0 0 0 0 0]T ,

if i ∈ {1, 5}; if i ∈ {2, 7}; if i ∈ {3, 6}; if i ∈ {10}; if i ∈ {11, 14, 17}; if i ∈ {12}; if i ∈ {15}; if i ∈ {18, 19}; otherwise.

2:  Let S be a dependent siphon inN with ηS = Theorem n m n a η − i Si j=n+1 aj ηSj . Then, λ[S] = i=1 ai λ[Si ] − i=1 m a λ . j=n+1 j [Sj ] Proof: It follows immediately from the fact that ∀S ∈ Π, S ∪ [S] is the support of a P -semiflow in N .  The following work is based on this theorem, and the calculation of |ΠE | can be done in terms of C–matrix. Theorem 3: |ΠE | = rank([C]). Proof: It comes directly from Theorems 1 and 2.  For example, in Fig. 2, |ΠE | = rank([η]) = rank([C]) = 7. ηS1 = ηS3 + ηS4 + ηS5 and λ[S1 ] = λ[S3 ] + λ[S4 ] + λ[S5 ] if ΠE is selected as {S2 –S8 }.

Theorem 4: Let Ω = {r1 , r2 , . . . , rm } be a nonempty subset of PR in N . Then, we have the following conditions. 1) S is a siphon if S = Ω ∪ {p|p ∈ ∪r∈Ω H(r)∧(p•• ∩ (P0 ∪PA )) ⊆ ∪r∈Ω H(r)} . (3) 2) Equation (3) can yield all SMS in N by considering all combinations of its resources. Proof: 1) Condition 1) is true by the definitions of a siphon and N . 2) If |Ω| = |{r}| = 1, S derived from (3) is the support of a P -semiflow Ir . If |Ω| > 1, S derived from (3) is a siphon but not necessarily minimal. When it contains no support of a P -semiflow, it is minimal. Since an SMS is a special siphon, (3) can yield all SMS in N by considering all combinations of resources.  Theorem 5: [S] can be found by [S] = {p|p ∈ ∪r∈Ω H(r) ∧ (p•• ∩ (P0 ∪ PA )) ⊆ ∪r∈Ω H(r)} . (4) Proof: According to Theorem 4 and Definition 8, we have [S] = (∪r∈SR H(r)) \ S = (∪r∈Ω H(r)) \ S = (∪r∈Ω H(r)) \ (Ω ∪ {p|p ∈ ∪r∈Ω H(r) ∧ (p•• ∩ (P0 ∪ PA )) ⊆ ∪r∈Ω H(r)}) = {p|p ∈ ∪r∈Ω H(r) ∧ (p•• ∩ (P0 ∪ PA )) ⊆ ∪r∈Ω H(r)}.  Lemma 1: In an LS3 PR N = (P0 ∪ PA ∪ PR , T, F ), if t ∈ ri• ∩ • rj , then ri = rj and the ordered pair (ri , rj ) is unique. Proof: From Definition 6, ∀t ∈ T , if • t ∩ PR = ∅ and • t ∩ PR = ∅ hold, we have |• t ∩ PR | = 1, |t• ∩ PR | = 1, and (• t ∩ PR ) ∩ (t• ∩ PR ) = ∅. Let • t ∩ PR = {ri } and t• ∩ PR = {rj }. Then, the ordered pair (ri , rj ) determined by t is unique.  Definition 10: An LS3 PR N = (P0 ∪ PA ∪ PR , T, F ) with PR = {r1 –rn } can be converted into a labeled digraph

916

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 39, NO. 4, JULY 2009

Fig. 3. Initial resource digraph D0 of N shown in Fig. 2 and its strong components. (a) D0 . (b) D01 . (c) D02 .

 . (b) Case of Y = ∅. Fig. 4. Two cases. (a) Case of SR ⊃ SR

D0 = (V0 , E0 ), called the initial resource digraph of N , by the following rules. 1) Each vertex in V0 corresponds to a resource place ri , i.e., V 0 = PR . 2) An edge e(ri , rj )t , directed from ri to rj , is an ordered pair (ri , rj ) of vertices of D0 , where t ∈ ri• ∩ • rj . e(ri , rj )t is labeled as t and denoted by et for simplicity. 3) Let E(ri , rj ) = {et |t ∈ (ri• ∩ • rj ) ∧ (ri , rj ∈ PR )} denote the set of edges from ri to rj . 4) The edge set E0 = ∪ri ,rj ∈V0 E(ri , rj ). Remark 1: According to Lemma 1, the label of an edge of D0 is unique. Remark 2: In D0 , E(ri , rj ) is a set of parallel edges if |ri• ∩ • rj | > 1 or contains only one edge if |ri• ∩ •rj | = 1. From the definition of LS3 PR, it can be seen that ∀ri ∈ PR , ri• ∩ • ri = ∅. Hence, no loop exists in D0 . However, it is possible that ∃ri , rj ∈ PR , i = j, |ri• ∩ • rj | > 1, leading to a multidigraph D0 . For Ω ⊆ V0 , the subgraph of D0 induced by Ω is denoted by D0 [Ω]. The simple underlying digraphs of D0 and D0 [Ω] are denoted by D0S and DS , respectively. For example, D0 of N in Fig. 2 is shown in Fig. 3(a), where et14 and et18 are parallel edges. Clearly, D0 is a multidigraph. Lemma 2: ∀p ∈ [S], |{et |et ∈ E ∧ {t} = p• }| = 1, where E is the set of edges of D0 [Ω] and Ω = SR = {r1 , r2 , . . . , rm } ⊆ V0 . Proof: ∀p ∈ [S], according to (4), ∃rj ∈ Ω, such that p ∈ H(rj ). From Definition 6, ∃t ∈ T such that both {t} = p• and t ∈ • rj hold. We hence have p• = {t}, p•• = t• , and p•• ∩ (P0 ∪ PA ) = t• ∩ (P0 ∪ PA ). Since (p•• ∩ (P0 ∪ PA )) ⊆ ∪r∈Ω H(r) and ∀r ∈ PR , • r ∩ r• = ∅ and |t• ∩ (P0 ∪ PA )| = 1 are true, we have p ∈ PA \ {p} and p ∈ H(ri ), where {p } = {t• ∩ (P0 ∪ PA )} ⊆ ∪r∈Ω H(r) and i = j, i.e., t ∈ ri• .

By t ∈ • rj and t ∈ ri• , we have t ∈ ri• ∩ • rj , i.e., there exists one edge et ∈ E making the truth of {t} = p• . By {t} = p• , there exists one and only one such edge.  Lemma 3: ∀e(ri , rj )t ∈ E, |{p|p ∈ [S] ∧ {p} = •t ∩ PA ∧ p ∈ H(rj )}| = 1, where E is the set of edges of D0 [Ω] that corresponds to S and Ω = SR = {r1 , r2 , . . . , rm } ⊆ V0 . Proof: According to Definitions 6 and 10, ∀e(ri , rj )t ∈ E, t ∈ ri• ∩ • rj and |• t ∩ PA | = |t• ∩ PA | = 1 hold in N . Let {p} = •t ∩ PA and {p } = t• ∩ PA . Then, p ∈ H(rj ), p ∈ H(ri ), |p• | = 1, and |p•• | = 1. We have p•• ∩ (P0 ∪ PA ) = {p } ⊆ ∪r∈Ω H(r). From (4), p ∈ [S], i.e., ∀et ∈ E, there exists one and only one operation place p ∈ [S] making the truth of {p} = •t ∩ PA and p ∈ H(rj ).  Theorem 6: There is one-to-one correspondence between siphon S and resource digraph D0 [Ω]. Proof: From S, the unique D0 [Ω] can be directly obtained by Ω = SR . If D0 [Ω] = (Ω, E) is known, by Lemmas 2 and 3, [S] and E are bijective. As a result, a unique S can be derived from [S] and SR = Ω by (2) of Corollary 1.  Theorem 7: Let D0 [Ω] = (Ω, E) be the subgraph of D0 induced by Ω ⊆ V0 and S be the siphon corresponding to D0 [Ω]. [S] can be found by [S] = ∪et ∈E (• t ∩ PA ).

(5)

Proof: It follows from Lemmas 2 and 3.  Theorem 8: ∀S ∈ Π, [S] and S can be obtained by (5) and (2), respectively. Theorem 9: Let D0 [Ω] = (V, E) be the subgraph of D0 induced by Ω with |Ω| > 1 and S be the siphon corresponding to D0 [Ω]. S is strict iff ∀rj ∈ Ω, ∃ri ∈ Ω, i = j, such that t ∈ (ri• ∩ • rj ), i.e., ∃e(ri , rj )t ∈ E. Proof: (⇒) By Lemma 3, if ∃e(ri , rj )t ∈ E, then ∃p ∈ [S], where p ∈ H(rj ). By Property 1 and Definition 8, Irj ⊆ S holds.

WANG et al.: EFFECTIVE ALGORITHM TO FIND ELEMENTARY SIPHONS

(⇐) If S that corresponds to D0 [Ω] is a strict siphon, i.e., ∀rj ∈ Ω, Irj ⊆ S holds, then ∃p ∈ H(rj ) and p ∈ [S]. By the proof of Lemma 2, ∃e(ri , rj )t ∈ E, where ri ∈ Ω and i = j.  Theorem 9 can also be stated as follows: S is a strict siphon iff ∀r ∈ Ω, d− (r) > 0 in D0 [Ω], where Ω = SR . Theorem 10: Let D0 [Ω] = (V, E) be the subgraph of D0 induced by Ω and S be the siphon corresponding to D0 [Ω]. S is an SMS iff D0 [Ω] is strongly connected and |Ω| ≥ 2. Proof: (⇒) Since D0 [Ω] is strongly connected, ∀ri , rj ∈ Ω, i = j, ∃e(ri , rj )t ∈ E. By Theorem 9, S is a strict siphon. Next, we show the minimality of S. By contradiction, suppose that it is not a minimal siphon, i.e., there exists a siphon S = SA ∪ SR , SR = Ω , such that S ⊂ S. By Theorem 4, if SR ⊇ SR holds, S ⊂ S is obviously not true. As a result, SR ⊃ SR must be true and ∀p ∈ SA , p ∈ SA . Let D0 [Ω ] be the subgraph of D0 induced by Ω . We have SR ⊃ SR , as shown in Fig. 4(a). Since Ω ⊂ Ω and D0 [Ω] is strongly connected, E ⊂ E and ∃e(ri , rj )t ∈ E but e(ri , rj )t ∈ / E where ri ∈ Ω \ Ω and rj ∈ Ω ∩ Ω . By ri ∈ Ω \ Ω and rj ∈ Ω ∩ Ω , we have |Ω| ≥ 2. Let {p} = (• t ∩ PA ). p ∈ H(rj ) is obviously true. By Lemma 3 and Property 1, p ∈ [S] and p ∈ / [S ], i.e., p ∈ SA and p ∈ / SA . This contradicts the assumption that S is a subset of S. S is hence an SMS. (⇐) If S is an SMS, it is shown that |SR | ≥ 2 in [2], implying |Ω| ≥ 2. Therefore, D0 [Ω] is not a trivial graph. ∀ri ∈ Ω, Iri ⊆ S since S is a strict siphon, i.e., ∃e(rj , ri )t ∈ E, where rj ∈ Ω \ {ri }. Next, we prove that the reachable set of each vertex of D0 [Ω] is Ω. Let X and Y be the reachable and unreachable sets of ri ∈ Ω, where Y = Ω \ X, as shown in Fig. 4(b). Assume that Y = ∅. In this case, by the reachable set of a vertex, ∃  e(rx , ry )t ∈ E in D0 [Ω] where rx ∈ X and ry ∈ Y . Let D0 [Y ] = (Y, E ) be the subgraph of D0 induced by Y , S = SA ∪ SR and [S ] be the siphon and its complemen tary set corresponding to D0 [Y ], respectively, where SR = Y . By Y ⊂ Ω, we have E ⊂ E and [S ] ⊂ [S]. Let [S] = [S]X ∪ [S]Y and S = SX ∪ SY , where [S]X = {p|p ∈ [S] ∧ p ∈ ∪r∈X H(r)}, [S]Y = {p|p ∈ [S] ∧ p ∈ ∪r∈Y H(r)}, SX = X ∪ {p|p ∈ S ∧ p ∈ ∪r∈X H(r)}, and SY = Y ∪ {p|p ∈ S ∧ p ∈ ∪r∈Y H(r)}. It is obvious that [S]X ∩ [S]Y = ∅ and SX ∩ SY = ∅. By Lemma 2 and Theorem 6, [S]Y = [S ] is true only if ∃  e(rx , ry )t ∈ E (independent of whether there exists an edge e(ry , rx )t ∈ E). Clearly, S = SX ∪ SY = I \S = ( IX ∪ IY ) \ ([S]X ∪ [S]Y ) = ( IX \ [S]X ) ∪ ( IY \ [S]Y ), where I = IX + IY , IX , and IY represent the sums of P -invariants corresponding to the resources in Ω, X, and Y , respectively. We hence have SY = ( IY \ [S]Y ) and S = ( IY \ [S ]). According to [S]Y = [S ], SY = S and S ⊃ S which indicates that S is not a minimal siphon. This contradicts that S is an SMS. Consequently, Y = ∅ and X = Ω. D0 [Ω] is strongly connected.  Corollary 2: Let Ω be the vertex set of a general or elementary circuit of D0 of N . D0 [Ω] corresponds to an SMS. Proof: It follows from the fact that any elementary or general circuit is strongly connected. 

917

Theorem 11: ∀S1 , S2 ∈ Π, if S1R ∩ S2R = ∅, the siphon corresponding to D0 [S1R ∪ S2R ] is an SMS. Proof: Let D0 [S1R ] and D0 [S2R ] be the subgraphs of D0 corresponding to S1 and S2 , respectively. By Theorem 10, D0 [S1R ] and D0 [S2R ] are strongly connected. Since S1R ∩ S2R = ∅, D0 [S1R ∪ S2R ] is strongly connected and the siphon corresponding to it is an SMS.  IV. N UMBER OF E LEMENTARY S IPHONS Removing zero row or column vectors from a matrix does not affect its rank. The number of nonzero column vectors in [C] is denoted by α and the number of mutually unequal nonzero column vectors in [C] is denoted by δ. Then, rank([C]) ≤ δ ≤ α. The number of SMS of a Petri net is exponential with its size in theory. For an LS3 PR net N = (P0 ∪ PA ∪ PR , T, F ), the number of column vectors in [C] is |P0 ∪ PA ∪ PR | if Π = ∅. If α, δ, and a linearly independent maximal set of column vectors in [C] are found, the number of elementary siphons can be obtained. To find a linearly independent maximal set of column vectors in [C] is equivalent to find the linearly dependent nonzero column vectors in [C]. This section mainly focuses on determining the number of elementary siphons in N . In what follows, the ith strong component of D0 (D0 [Ω]) is denoted as D0i (Di ). Theorem 12: Suppose that D0 has k strong components. α is equal to the sum of the number of edges of all strong components of D0 , i.e., α = ki=1 |E(D0i )|. Proof: By Theorem 10, if ∀i ∈ Nk , |V (D0i )| > 1, then D0i corresponds to an SMS S. By Lemma 3, ∀et ∈ E0i , there exists one and only one operation place p ∈ [S], where p ∈ PA and p• = {t}. Thus, every edge of D0i corresponds to a nonzero column vector in [C]. Clearly, ∀i ∈ Nk , |E(D0i )| ≥ |E(D )| is true, where D is any of the subgraphs of D0i , and D is strongly  connected. Thus, α = ki=1 |E(D0i )| is true.  By Theorem 12, an algorithm, namely, Algorithm 1, is developed to determine α. Since no vertex is deleted from D0 in this algorithm, it can be called “Deleting-0-vertexmethod.” The set of SMS obtained from it is denoted by Π0 . The C–matrix derived from Π0 is denoted by [C]0 . Clearly, Π0 ⊆ Π. Algorithm 1: Deleting-0-vertex-method (to determine α) 1. Find the strong components of D0 , i.e., D01 –D0k 2. [C]0 := ∅, Π0 := ∅, n := 0 3. For i = 1 to k If V (D0i ) > 1 n := n + 1 Find [S] and S that corresponds to D0i by (5) and (2), respectively /* λT [S] is the nth row of [C]0 and S is the nth SMS in Π0 */ Endif Endfor 4. Output [C]0 and Π0 5. End  For example, the strong components of D0 in Fig. 3(a) are D01 and D02 , as shown in Fig. 3(b) and (c), respectively. Let S1

918

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 39, NO. 4, JULY 2009

and S2 be the SMS corresponding to D01 and D02 . We can obtain two SMS and their complementary sets by (5) and (2) or by (3) and (4). Thus, we have [C]0 , shown at the bottom of the page, and α = 14. Next, a method is proposed to determine δ, the number of mutually unequal nonzero column vectors in [C]. First, a concept involving that two edges in D0 coexist in every S ∈ Π is developed. Let βpi and βpj be two column vectors in [C]. If βpi = βpj = 0, then ∃tx , ty ∈ T such that • tx ∩ PA = {pi }, • ty ∩ PA = {pj }, and ∃etx , ety ∈ E0 = E(D0 ). Hence, ∀S ∈ Π, etx and ety coexist in D0 [Ω], where Ω = SR . That is to say, in any strongly connected subgraph of D0 , the existence of etx implies that of ety , and vice versa. Definition 11: If βpi1 = βpi2 = · · · = βpik = 0, then etx1 , etx2 , . . ., and etxk are called coexisting edges, where {pij } = • txj ∩ PA and j ∈ Nk . {etx1 etx2 , . . . , etxk } is called a set of coexisting edges in D0 . Theorem 13: Suppose that D0 has k strong components. If etx , ety ∈ E(D0i ), i ∈ Nk , and their incident vertex sets are the same, then they are coexisting edges. Proof: Let • tx ∩ PA = {pm } and • ty ∩ PA = {pn }. By etx , ety ∈ E(D0i ), we have βpm = 0 and βpn = 0. Since the incident endpoints of two edges are the same, both edges are deleted once either of their incident endpoints is deleted. This  ensures the coexistence of etx and ety . Corollary 3: etx and ety are coexisting edges if they are either symmetric or parallel with etx , ety ∈ E(D0i ). Proof: Since the subgraph of D0 induced by the endpoints of two symmetric edges is strongly connected, they belong to one of strong components of D0 and the sets of their endpoints are identical. By Theorem 13, they must be coexisting edges. In the case that they are parallel edges, their endpoints are identical. etx , ety ∈ E(D0i ) indicates that they belong to the same strong component of D0 . As a result, they are coexisting by Theorem 13.  Theorem 14: Suppose that D0 has k strong components. If etx ∈ E(D0i ) and ety ∈ E(D0j ), i, j ∈ Nk , i = j, then βpm = 0, βpn = 0, and βpm = βpn , where {pm } = • tx ∩ PA and {pn } = • ty ∩ PA . Proof: It follows from the concept of coexisting edges and the proof of Theorem 13.  Next, an algorithm, namely, Algorithm 2, is developed to determine δ. ∀i ∈ Nk , D0i is dealt with as follows. ∀vj ∈ V (D0i ), find the strong components of D0i − vj and the SMS corresponding to them. The above step is repeated until each vertex of D0i is deleted once. Thus, Algorithm 2 can be called “Deleting-1-vertex-method.” The set of SMS obtained by Algorithm 2 is denoted by Π1 . The C–matrix corresponding to Π1 is denoted by [C]1 . The number of mutually unequal nonzero column vectors in [C]1 is denoted by γ.



Algorithm 2: Deleting-1-vertex-method (to determine δ) Input: [C]0 , Π0 , D01 , D02 , . . ., and D0k (via Algorithm 1) 1. n := |Π0 |, [C]1 := [C]0 , Π1 := Π0 2. For i = 1 to k If V (D0i ) > 1 For j = 1 to |V (D0i )| Find strong components D1 , D2 , . . ., and Dkj of D0i − vj , vj ∈ V (D0i ) For m = 1 to kj If |V (Dm )| > 1 n := n + 1 Find [S] and S corresponding to Dm by (5) and (2), respectively /* λT [S] is the nth row of [C]1 , and S is the nth SMS in Π1 */ Endif Endfor Endfor Endif Endfor 3. Output [C]1 and Π1 4. End  Theorem 15: The numbers of mutually unequal nonzero column vectors in [C] and [C]1 are the same, i.e., δ = γ. Proof: Let D0i be a strong component of D0 , and et = e(rx , ry )t ∈ E(D0i ). The induced subgraph D0i − rx (D0i − ry ) is the subgraph resulting from removing rx (ry ) from D0i while keeping the other endpoint. Clearly, et ∈ / E(D0i − rx ) and et ∈ / i 1 2 kx E(D0 − ry ). Let D , D , . . . , and D be all the strong components of D0i − rx , and Dkx +1 , Dkx +2 , . . . , and Dkx +ky be all the strong components of D0i − ry . The difference between the edge sets of D0i and all the strong components of D0i − rx and D0i − ry , which is a set of edges, i.e., E(D0i )\(et ∪ kx +ky (∪m=1 E(Dm ))), can be obtained, in which each edge et satisfies the predicate that “et does not exist ⇒ et does not exist.” Thus, Algorithm 2 finds all coexisting edges in D0i . In addition, the column vectors in [C] corresponding to any two edges in different strong components of D0 are obviously unequal. Thus, two coexisting edges in D0i must be coexisting in D0 . The edges corresponding to the equal nonzero column vectors in [C]1 are coexisting. We hence have γ = δ.  Applying Algorithm 2 to D0 shown in Fig. 3(a), six new SMS S3 -S8 can be found. We have γ = δ = 8 and rank([C]1 ) = 7. There are five sets of coexisting edges: {et3 , et9 }, {et2 , et7 }, {et4 , et8 }, {et14 , et18 , et22 }, and {et23 , et24 }. [C]1 is shown at the bottom of the next page. By Algorithms 1 and 2, α and δ can be found. Since [C]1 can be a part of [C], we have rank([C]1 ) ≤ rank([C]) ≤ δ. If rank([C]1 ) = δ, then rank([C]) = δ = |ΠE |. This means that the number of elementary siphons is obtained. However, there may exist linearly dependent mutually unequal nonzero column vectors in [C]1 but not in [C].

1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [C]0 = 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0



WANG et al.: EFFECTIVE ALGORITHM TO FIND ELEMENTARY SIPHONS

919

Proof:  Let θ = {px1 , px2 , . . . , pxm }. For ∀S ∈ Π, the ith item of m i=1 ai λ[S] (pxi ) is ai , if pxi ∈ [S] ai λ[S] (pxi ) = / [S]. 0, if pxi ∈

To handle this case, Algorithm 3, namely, “Deleting-2vertex-method,” is developed, which, by increasing the number of SMS that are explicitly computed, is sufficient to determine whether there exist linearly dependent mutually unequal nonzero column vectors in [C]. That is to say, Algorithm 3 can determine |ΠE |. The set of SMS by Algorithm 3 is denoted by Π2 . The C–matrix corresponding to Π2 is denoted by [C]2 . Let V2 (D0i ) = {{v1 , v2 }|v1 , v2 ∈ V (D0i ) ∧ v1 = v2 }, where i D0 is the ith strong component of D0 . Obviously, we have 2 |V2 (D0i )| = C|V . (D i )|

Let S0 be the siphon corresponding to D0j − V , j where V ⊆ V 0 ) and |V | > 2. Assume that S0 is an (D m SMS i=1 ai λ[S0 ] (pxi ) = k = 0. Since ∀S ∈ Π2 , m and a λ (p ) = 0, S0 ∈ / Π2 . i x [S] i i=1 Let V = {x, y, z}. A number of cases are considered as follows.

0

Algorithm 3: Deleting-2-vertex-method Input: [C]1 , Π1 , D01 , D02 , . . ., and D0k via Algorithms 2 and 1 1. n := |Π1 |, [C]2 := [C]1 , and Π2 := Π1 2. For i = 1 to k If |V (D0i )| > 3 /* if |V (D0i )| ≤ 3, no SMS is produced while deleting two vertices from D0i */ 2 For j = 1 to C|V (D i )|

1) We have to show that ∀V ⊂ V with |V | = 2, D0j − V is strongly connected. It is known that there exists at least one strongly connected subgraph of D0j − V . If there does not exist such a subgraph, D0j − V cannot be strongly connected. We conclude that D0j − V must be strongly connected since otherwise, D0j − V must be a strong component of D0j − V , which is obviously not true. 2) Let S1 (S2 ; S3 ) be the SMS resulting from D0j − {y, z}(D0j − {x, y}; D0j − {x, z}). Note that {S1 , S2 , S3 } ⊆ Π2 . The case of D0j − {y, z} is first dealt with. Let θ0 = [S0 ] ∩ θ and θ1 = [S1 ] ∩ θ. Since D0j − V is a subgraph θ0 is true. If θ1 = θ0 , we have of D0j − {y, z}, θ1 ⊇  m m xi ) = k = 0. This i=1 ai λ[S1 ] (pxi ) = i=1 ai λ[S0 ] (p  contradicts the fact that ∀S ∈ Π2 , m i=1 ai λ[S] (pxi ) = 0. Hence, θ1 ⊃ θ0 is true. Therefore, we have λ[S1 ] = λ[S0 ] + (λ[S1 ] − λ[S0 ] ).

0

Find strong components D1 , D2 , . . ., and Dkj of D0i − Vj , where Vj is the jth element of V2 (D0i ) For m = 1 to kj If |V (Dm )| > 1 Find [S] and S corresponding to Dm by (5) and (2), respectively n := n + 1 λT [S] is the nth row of [C]2 , and S is the nth SMS in Π2 Endif Endfor Endfor Endif Endfor 3. Output [C]2 and Π2 4. End

m

ai λ[S1 ] (pxi ) =

i=1

i=1

=

A column vector in [C]2 associated with pxi is denoted by and a column vector in [C] associated with pxi is denoted by βpxi , where xi ∈ N|P0 ∪PA ∪PR | . Let βp x -βp xm (βpx1 -βpxm ) 1 be m nonzero column vectors in [C]2 ([C]), where ∀i, j ∈ Nm , i = j, βp x = βp x . i j Theorem 16: The linear dependence of βp x -βp xm in [C]2 , 1  i.e., m i=1 ai βpxi = 0, implies that of βpx1 -βpxm in [C], i.e., m i=1 ai βpxi = 0, where ∀i ∈ Nm , ai = 0.

1 ⎢0 ⎢ ⎢0 ⎢ ⎢0 [C]1 = ⎢ ⎢1 ⎢ ⎢0 ⎣ 0 0

1 0 0 1 0 0 0 0

1 0 1 0 0 0 0 0

0 0 0 0 0 0 0 0

1 0 0 0 1 0 0 0

1 0 1 0 0 0 0 0

1 0 0 1 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 1 0 0 0 0 1 1

0 1 0 0 0 1 1 0

0 1 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 1 0 0 0 1 1 0

m

ai λ[S0 ](pxi )+

i=1

βp x i



m

ai λ[S0 ] + λ[S1 ] −λ[S0 ] (pxi )

= k+

m

ai λ[S1 ] −λ[S0 ] (pxi ) i=1

m

ai λ[S1 ] −λ[S0 ] (pxi ) = 0.

i=1

 This leads to m i=1 ai (λ[S1 ] − λ[S0 ] )(pxi ) = −k. Every element in θ1 \ θ0 corresponds to an edge in E(D0j − V ) \ E(D0j − V ). In this case, E(D0j − V ) \ E(D0j − V ) is the set of edges. The head or tail of each

0 1 0 0 0 0 1 0

0 0 0 0 0 0 0 0

0 1 0 0 0 1 1 0

0 1 0 0 0 0 0 1

0 1 0 0 0 0 0 1

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

⎤ 0 0⎥ ⎥ 0⎥ ⎥ 0⎥ ⎥ 0⎥ ⎥ 0⎥ ⎦ 0 0

920

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 39, NO. 4, JULY 2009

Fig. 5. Cases of Deleting-|V  |-vertex, |V  | ∈ {2, 3, 4}. (a) Case of |V  | = 3. (b) Case of |V  | = 4. (c) Case of |V  | = 2.

edge in E(D0j − V ) \ E(D0j − V ) is vertex x. Therefore, a nonzero item of λ[S1 ] − λ[S0 ] must correspond to  an edge in E(D0j − V ) \ E(D0j − V ). m i=1 ai (λ[S1 ] − λ[S0 ] )(pxi ) = −k is indicated by a double-arrow arc, as shown in Fig. 5(a). Similarly, in  the cases D0j − {x, z} and D0j − m {x, my}, we have i=1 ai (λ[S2 ] − λ[S0 ] )(pxi ) = −k and i=1 ai (λ[S3 ] − λ[S0 ] )(pxi ) = −k. 3) Similar to 2), itcan be shown that D0j − v is strongly m connected and i=1 ai λ[S] (pxi ) = k − 2k + k = 0, as shown in Fig. 5(a), where S is the SMS resulting from deleting a vertex v ∈ V from D0j . j 4) Let S be the SMS corresponding m to D0 . By (1), (2), and (3), it is easy to see that i=1 ai λ[S−0 ] (pxi ) = k − 3k + 3k = k = 0. This contradicts the fact that ∀S ∈ Π2 ,  m i=1 ai λ[S] (pxi ) = 0. a result, the assumption that “S0 is an SMS and As m a i=1 i λ[S0 ] (pxi ) = k = 0” is not true when |V | = 3. Next, we consider the case of V = {x, y, z, w}.  m Similarly, ∀V ⊂ V with |V | = 3, i=1 ai λ[S] (pxi ) = k − k = 0, as shown in Fig. 5(b), where S is the siphon corresponding to D0j − V . m ∀V ⊂ V with |V | = 2, i=1 ai λ[S] (pxi ) = k − 2k + k = 0, whereS is the siphon corresponding to D0j − V . ∀v ∈ V , m i=1 ai λ[S] (pxi ) = k − 3k + 3k = k = 0, where S is the siphon corresponding to D0j − v. This contradicts the m fact that ∀S ∈ Π2 , i=1 ai λ[S] (pxi ) = 0. The assumption is hence not true when |V | = 4. Similarly, it can be shown that the assumption is not true when |V | (5 ≤ |V | ≤ |V (D0j )| − 2) vertices are deleted from D0j . Trivially, when |V (D0j )| − 1 vertices are deleted, no SMS is generated. In summary, every SMS obtained by deleting more than two vertices from D0j does not change the linear dependence existing in [C]2 . Thus, m linearly dependent column vectors in [C]2 are linearly dependent in [C].  Theorem 17: Algorithm 2 cannot sufficiently decide whether a set of linearly dependent vectors in [C]1 is linearly dependent in [C]. Proof: Let S0 be the siphon corresponding to D0j − m {x, y}. Assume that S0 is an SMS and i=1 ai λ[S0 ] (pxi ) = k = 0. It is obvious that S0 ∈ / Π1 and S0 ∈ Π2 . Similar to the proof of Theorem 16, it can be shown that m ∀S ∈ Π1 , a λ (p ) = 0 does not contradict the asi=1 i [S] xi sumption, as shown in Fig. 5(c). Consequently, a set of linearly

dependent vectors in [C]1 can be linearly independent in [C]2 . Furthermore, a set of linearly dependent vectors in [C]1 can be linearly independent in [C].  Theorem 18: In an LS3 PR N , we have |ΠE | = rank([C]2 ). Proof: This follows from Theorems 16 and 17.  V. U PPER B OUNDS OF |Π| AND |ΠE | Definition 12: EI is called a set of independent edges of D0 if (1) there exist eu , ev ∈ EI such that they are symmetric; and (2) any other element in EI , if existing, is a parallel edge of eu or ev . For instance, there are four sets of independent edges in Fig. 2: {et3 , et9 }, {et2 , et7 }, {et4 , et8 }, and {et14 , et18 , et22 }. They are also the sets of coexisting edges. However, {et23 , et24 } is coexisting but not independent edges. It is trivial that the independence of an edge set implies its coexistence but not vice versa. Definition 13: Let A be the matrix consisting of all mutually unequal nonzero column vectors in [C]. A is called the reduced C–matrix of N . A is a |Π| × δ matrix. The row of A corresponding to S ∈ Π is denoted by θS . It is obvious that rank(A) = rank([C]). Property 2: Let EI be a set of independent edges, Ω the set of incident vertices of EI and S the siphon corresponding to D0 [Ω]. Then, S is an SMS and θS = [0 0 · · · 0 1 0 · · · 0]. Proof: By Definition 12 and Corollary 3, D0 [Ω] is strongly connected with |Ω| = 2 and EI is also a set of coexisting edges. By Theorem 10, S is an SMS. By Definition 13, every set of coexisting edges corresponds to one and only one column vector in A, therefore θS is [0 0 · · · 0 1 0 · · · 0].  Obviously, the existence of parallel edges in D0 does not affect the reachability of D0 . From Corollary 3, it does not affect the rank of [C] and furthermore, it does not affect |Π| and |ΠE |. Thus, it is sufficient to use D0S to determine the upper bounds of the numbers of SMS and elementary siphons in N . Let |Π|max and |ΠE |max denote the upper bounds of the numbers of SMS and elementary siphons in N , respectively. Theorem 19: |Π|max = 2n − n − 1 and |ΠE |max = n(n − 1)/2, where n = |V0 |. Proof: We show that these upper bounds are reached when D0S is a complete graph. In this case, the set of edges determined by any two vertices is a set of independent edges. Therefore, the number of all the sets of independent edges is Cn2 = n(n − 1)/2. Clearly, we have δ = Cn2 = n(n − 1)/2.

WANG et al.: EFFECTIVE ALGORITHM TO FIND ELEMENTARY SIPHONS

921

Fig. 6. The computational cost when dealing with Petri nets with different sizes (solid lines for |ΠE | and dashed lines for ΠE after |ΠE | is known). (a) R6-100-0.01. (b) R10-50-0.01. (c) R20-17-0.01. (d) R30-1-0.01.

Fig. 7. Variation of the number of elementary siphons with different net sizes. (a) R6-100-0.01. (b) R10-50-0.01. (c) R20-17-0.01. (d) R30-1-0.01.

Since every set of independent edges corresponds to a unit vector in A, the number of elementary siphons reaches its upper bound Cn2 = n(n − 1)/2. ∀Ω ⊆ PR with |Ω| > 2, according to Theorem 11, D0 [Ω] corresponds to an SMS. Thus, |Π| reaches its upper bound Cnn + Cnn−1 + · · · + Cn3 + Cn2 = 2n − Cn1 − Cn0 = 2n − n − 1.  This result verifies that the number of SMS in N is exponential with respect to the number of its resource places in general cases. It is also shown that the upper bound of elementary siphons is limited to |PR |(|PR | − 1)/2. In Fig. 3(b), D01 is an order-three complete graph. Accordingly, the number of SMS derived from D01 is 23 − 3 − 1 = 4 and that of elementary ones is 3(3 − 1)/2 = 3.

∀Ω ⊆ PR with |Ω| = 2, if D0 [Ω] is strongly connected, a set of independent edges can be decided. In this case, it is trivial to compute all the sets of independent edges in D0 . From Property 2, in A, θS of siphon S corresponding to a set of independent edges is a unit vector, and any two of such vectors are not identical. As a result, |ΠE | can be trivially found when D0S is a complete graph without using Algorithms 1, 2, and 3. A complete graph D0S implies the lower computational cost compared with the case that D0S is not complete. Fig. 6 verifies this statement by investigating a large number of LS3 PR nets that are randomly generated by a software package developed by our group. In Fig. 6, the solid and dashed lines represent the average computational cost (CPU time in seconds) of finding |ΠE | and ΠE given |ΠE |, respectively, versus the edge ratio Δ = |E0 |/(|V0 |(|V0 | − 1)), where E0 is the edge set of D0 , |V0 |(|V0 | − 1) is the number of edges in an order-|V0 | complete graph, and V0 = PR . In other words, the edge ratio or horizontal axis represents the trend of D0 approaching an order-|V0 | complete graph as Δ approaches 1. When Δ = 0, E0 = ∅. When Δ = 1, D0 is a complete graph. Since the existence of parallel edges in D0 does not affect |Π| and |ΠE |, it is sufficient to consider that the maximal number of edges in D0 is |V0 |(|V0 | − 1). In fact, by neglecting parallel edges, the developed software tool ensures that D0 = D0S and D0 is a complete graph when Δ = 1. The subcaption “Rx-y-z” in the figure means that there are x resources in each sample, y samples are computed, and the increasing step of the ratio is z. Take the label “R6-100-0.01” in Fig. 6(a) as an example. “R6” represents |V0 | = |PR | = 6 in each sample, “100” represents 100 samples at each step, and “0.01” represents increasing step of the ratio Δ. That is to say, Fig. 6(a) is obtained by computing 100/0.01 = 10 000 samples that are randomly generated under the condition that each of the samples has six resources.

VI. C OMPLEXITY A NALYSIS AND E XPERIMENTAL S TUDY In the process of determining the number of elementary siphons, a basic operation is to find the strong components of a resource digraph. By using a depth-first search algorithm, the complexity of computing the strong components in a resource digraph D0 = (V0 , E0 ) is O(|V0 |(|V0 | − 1)) = O(|V0 |2 ) [18]. For an LS3 PR, in the worst case the number of the strong components in D0 is one. Moreover, the number of the strong components in Dl remains to be one, where Dl is the subgraph resulting from deleting l (l ≤ |V0 | − 1) vertices from D0 . Algorithm 2 needs Cn1 cycles to compute the strong components in D0 − v. Its complexity is O(|V0 |(|V0 | − 1)(|V0 | − 2)), i.e., O(|V0 |3 ). Algorithm 3 needs Cn2 cycles to compute the strong components in D0 − V , where |V | = 2. Its complexity is O(Cn2 (|V0 | − 2)(|V0 | − 3)), i.e., O(|V0 |4 ). In summary, the complexity of determining the number of elementary siphons in an LS3 PR is O(|V0 |2 ) + O(|V0 |3 ) + O(|V0 |4 ), i.e., O(|V0 |4 ). Considering that |V0 | = |PR |, at the worst case, the complexity is O(|PR |4 ).

922

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 39, NO. 4, JULY 2009

From Fig. 6, we can see that the computational time of finding the number of elementary siphons in a net always increases first and then decreases as Δ increases from 0 to 1. In Fig. 6(d), the size of the net is |P | = 2640 and |T | = 2610 when Δ = 1, i.e., D0S is a complete graph. In this case, the computational cost is minimized thanks to its structural characteristics. Specifically, it takes 46.766 and 3.344 s to find |ΠE | and ΠE given |ΠE |, respectively. When INA [15] is used, the siphon computation aborts due to memory overflow when a net reaches the size |P | = 87 and |T | = 75. Fig. 7 shows the variation of the number of elementary siphons corresponding to the cases in Fig. 6. Note that |ΠE | in an LS3 PR with its resource place set PR approaches |PR |(|PR | − 1)/2 when Δ approaches one. Specifically, if Δ = 1, we have |ΠE | = |PR |(|PR | − 1)/2. The computational efficiency is fully shown by the experimental study. Moreover, an interesting phenomenon is found, i.e., the cost reduces fast as the resource graph of an LS3 PR approaches completeness. Note that the algorithms presented in this paper are coded by MATLAB 6.5, and the computation is carried out in an Acer Aspire 3608 NWXci notebook with 1.60-GHz CPU clock and 256-MB memory under Microsoft Windows XP 2002. VII. C ONCLUDING R EMARKS Siphon control is recognized as an important way of preventing deadlocks in a resource allocation system. Their complete or partial enumeration is usually necessary before the development of a deadlock prevention policy. The existing deadlock prevention policies that depend on the addition of monitors for siphons may lead to a structurally complex liveness-enforcing Petri net supervisor. It is shown that a supervisor can be found by explicitly adding monitors for the elementary siphons only. Their number is bounded by the net size. For a class of Petri nets, linear system of simple sequential processes with resources, this paper develops a polynomial algorithm to find a set of elementary siphons. The future work will concentrate on extending the methods to more general classes of Petri nets. ACKNOWLEDGMENT The authors would like to thank the four anonymous reviewers whose comments and suggestions greatly improved the quality and presentation of this paper.

[7] F. S. Hsieh, “Analysis of flexible assembly processes based on structural decomposition of Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 37, no. 5, pp. 792–803, Sep. 2007. [8] Y. Huang, M. D. Jeng, X. L. Xie, and S. L. Chung, “Deadlock prevention policy based on Petri nets and siphons,” Int. J. Prod. Res., vol. 39, no. 2, pp. 283–305, Jan. 2001. [9] Z. Li and M. Zhou, “Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 34, no. 1, pp. 38–51, Jan. 2004. [10] Z. Li and M. Zhou, “Clarifications on the definitions of elementary siphons of Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 36, no. 6, pp. 1127–1129, Nov. 2006. [11] Z. Li and M. Zhou, “Control of elementary and dependent siphons in Petri nets and their application,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 38, no. 1, pp. 133–148, Jan. 2008. [12] Z. W. Li and M. C. Zhou, Deadlock Resolution in Automated Manufacturing Systems: A Novel Petri Net Approach. London: Springer-Verlag, 2009. [13] S. A. Reveliotis, “On the siphon-based characterization of liveness in sequential resource allocation systems,” in Proc. Int. Conf. Appl. Theory Petri Nets, W. M. P. van der Aalst and E. Best, Eds. Berlin, Germany: Springer-Verlag, 2003, vol. 2679, pp. 241–255. [14] K. H. Rosen, Discrete Mathematics and Its Applications, 5th ed. New York: McGraw-Hill, 2003. [15] P. H. Starke, INA: Integrated Net Analyzer, Jul. 2003. [Online]. Available: http://www2.informatik.hu-berlin.de/lehrstuehle/automaten/ina/ [16] W. T. Tutte, Graph Theory. Cambridge, U.K.: Cambridge Univ. Press, 2001. [17] M. Uzam, “An optimal deadlock prevention policy for flexible manufacturing systems using Petri net models with resources and the theory of regions,” Int. J. Adv. Manuf. Technol., vol. 19, no. 3, pp. 192–208, Feb. 2002. [18] M. A. Weiss, Data Structures and Algorithm Analysis in Java. Reading, MA: Addison-Wesley, 1999. [19] D. B. West, Introduction to Graph Theory, 2nd ed. Englewood Cliffs, NJ: Prentice–Hall, 2001. [20] N. Q. Wu and M. C. Zhou, “Avoiding deadlock and reducing starvation and blocking in automated manufacturing systems,” IEEE Trans. Robot. Autom., vol. 17, no. 5, pp. 658–669, Oct. 2001. [21] N. Q. Wu and M. C. Zhou, “Modeling and deadlock avoidance of automated manufacturing systems with multiple automated guided vehicles,” IEEE Trans. Syst., Man, Cybern. B, Cybern., vol. 35, no. 6, pp. 1193– 1202, Dec. 2005. [22] N. Q. Wu and M. C. Zhou, “Shortest routing of bidirectional automated guided vehicles avoiding deadlock and blocking,” IEEE ASME Trans. Mechatronics, vol. 12, no. 1, pp. 63–72, Feb. 2007. [23] N. Q. Wu and M. C. Zhou, “Deadlock resolution in automated manufacturing systems with robots,” IEEE Trans. Autom. Sci. Eng., vol. 4, no. 3, pp. 474–480, Jul. 2007. [24] N. Q. Wu, M. C. Zhou, and Z. W. Li, “Resource-oriented petri net for deadlock avoidance in flexible assembly systems,” IEEE Trans. Syst., Man, and Cybern. A, Syst., Humans, vol. 38, no. 1, pp. 56–69, Jan. 2008. [25] M. C. Zhou and F. DiCesare, “Parallel and sequential mutual exclusions for petri net modeling for manufacturing systems with shared resources,” IEEE Trans. Robot. Autom., vol. 7, no. 4, pp. 515–527, Aug. 1991. [26] M. C. Zhou, F. DiCesare, and A. A. Desrochers, “A hybrid methodology for synthesis of petri nets for manufacturing systems,” IEEE Trans. Robot. Autom., vol. 8, no. 3, pp. 350–361, Jul. 1992.

R EFERENCES [1] J. A. Bondy and U. S. R. Murty, Graph Theory With Applications. New York: Macmillan, 1976. [2] J. Ezpeleta, J. M. Colom, and J. Martinez, “A Petri net based deadlock prevention policy for flexible manufacturing systems,” IEEE Trans. Robot. Autom., vol. 11, no. 2, pp. 173–184, Apr. 1995. [3] J. Ezpeleta, F. Garcia-valles, and J. M. Colom, “A class of well structured Petri nets for flexible manufacturing systems,” in ICATPN, 1998, vol. 1420, pp. 64–83. [4] M. P. Fanti and M. C. Zhou, “Deadlock control methods in automated manufacturing systems,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 34, no. 1, pp. 5–22, Jan. 2004. [5] F. S. Hsien and S. C. Chang, “Dispatching-driven deadlock avoidance controller synthesis for flexible manufacturing systems,” IEEE Trans. Robot. Autom., vol. 10, no. 2, pp. 196–209, Apr. 1994. [6] F. S. Hsieh, “Fault tolerant deadlock avoidance algorithm for assembly processes,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 34, no. 1, pp. 65–79, Jan. 2004.

AnRong Wang (M’09) received the M.S. and Ph.D. degrees from Xidian University, Xi’an, China, in 2003 and 2009, respectively. Since 2003, he has been with Xidian University, where he is currently a Lecturer with the School of Electro-Mechanical Engineering. His research interests are Petri net theory and applications, and supervisory control of discrete event systems.

WANG et al.: EFFECTIVE ALGORITHM TO FIND ELEMENTARY SIPHONS

ZhiWu Li (M’06–SM’07) received the B.S., M.S., and Ph.D. degrees from Xidian University, Xian, China, in 1989, 1992, and 1995, respectively. Since 1992, he has been with Xidian University, where he is currently a Professor with the School of Electro-Mechanical Engineering. From 2002 to 2003, he was a Visiting Professor with the Systems Control Group, Department of Electrical and Computer Engineering, University of Toronto, Toronto, ON, Canada. From February 2007 to February 2008, he was a Visiting Scientist with the Laboratory for Computer-Aided Design and Lifecycle Engineering, Department of Mechanical Engineering, Technion—Israel Institute of Technology, Haifa. He has over 100 publications, including a book Deadlock Resolution in Automated Manufacturing Systems: A Novel Petri Net Approach (Springer-Verlag, 2009). His main research interests include Petri net theories and applications, supervisory control of discrete event systems, workflow modeling and analysis, and systems integration. Dr. Li is a member of the Discrete Event Systems Technical Committee of the IEEE Systems, Man, and Cybernetics Society. He is a member of the International Advisory Committee of the 10th International Conference on Automation Technology (Automation 2009), Tainan, Taiwan, June 27–28, 2009. He served as a member of the Program Committee of the 2005 IEEE International Conference on Networking, Sensing, and Control, March 19–22, 2005, Tucson, AZ; the 2007 IEEE International Conference on Systems, Man, and Cybernetics, Montreal, Canada, October 7–10, 2007; and the International Conference on Applications and Theory of Petri Nets, Xian, June 23–27, 2008. He serves as a frequent reviewer for 15 international journals, including a number of IEEE Transactions, as well as many international conferences. He is an Associate Editor of the IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND E NGINEERING . He is a recipient of Alexander von Humboldt Research Grant from the Alexander von Humboldt Foundation, Germany. He cochaired the session on manufacturing and automation in the First Asian Symposium on Mechatronics, Xian, September 24–27, 2004. He served as the General Cochair of the IEEE Conference on Automation Science and Engineering, Washington, DC, August 23–26, 2008 and the Workshop on Petri Nets and Agile Manufacturing, which was a satellite event of the 2008 International Conference on Applications and Theory of Petri Nets. He coorganized an invited session on Supervisory Control Design and Applications in the 17th World Congress The International Federation of Automatic Control, Seoul, Korea, July 6–11, 2008.

JianYuan Jia received the B.Eng. and M.Eng. degrees in mechanical engineering from Xidian University, Xi’an, China, in 1978 and 1981, respectively. Since 1978, he has been with Xidian University, where he is currently a Professor and Dean of the School of Electro-Mechanical Engineering, Xidian University. He has over 80 publications. His research interests are mechatronics, computer-aided design and computer-aided engineering, engineering structural optimization on design, microsensors, microfluidics, microscale heat transfer theory, and Petri nets.

923

MengChu Zhou (S’88–M’90–SM’93–F’03) received the B.S. degree from the Nanjing University of Science and Technology, Nanjing, China, in 1983, the M.S. degree from the Beijing Institute of Technology, Beijing, China, in 1986, and the Ph.D. degree in computer and systems engineering from Rensselaer Polytechnic Institute, Troy, NY, in 1990. Since 1990, he has been with New Jersey Institute of Technology (NJIT), Newark, where he is currently a Professor of electrical and computer engineering and the Director of the Discrete-Event Systems Laboratory. He also serves as the Director of the MS program in Computer Engineering and founding Director of the MS program in Power and Energy Systems at NJIT. He was invited to lecture in Australia, Canada, China, France, Germany, Hong Kong, Italy, Japan, Korea, Mexico, Taiwan, and the U.S. He has more than 300 publications, including eight books, more than 130 journal papers, and 17 book chapters. His research interests include intelligent automation, Petri nets, wireless ad hoc and sensor networks, semiconductor manufacturing, multi-lifecycle engineering, and green product design. Dr. Zhou is a Life Member of the Chinese Association for Science and Technology—U.S. and served as its President in 1999. He is currently the Editor of the IEEE TRANSACTONS ON AUTOMATION SCIENCE AND ENGINEERING; an Associate Editor of the IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A and the IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, and he is the Editor-in-Chief of the International Journal of Intelligent Control and Systems. He was the General Cochair of the 2003 IEEE International Conference on Systems, Man, and Cybernetics (IEEE SMC), Washington, DC, October 5–8, 2003, and the Founding General Cochair of the 2004 IEEE International Conference on Networking, Sensing, and Control, Taipei, Taiwan, March 21–23, 2004. He was the Program Chair of the 1998 IEEE SMC and the 1997 IEEE International Conference on Emerging Technologies and Factory Automation, and a Guest Editor of the IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS and the IEEE TRANSACTIONS ON SEMICONDUCTOR MANUFACTURING. He was the General Chair of the 2006 IEEE International Conference on Networking, Sensing, and Control, Fort Lauderdale, FL, April 23–25, 2006 and the IEEE Conference on Automation Science and Engineering, Washington, DC, August 23–26, 2008. He has led or participated in 36 research and education projects with a total budget of more than $10 million, funded by the National Science Foundation (NSF), Department of Defense, Engineering Foundation, New Jersey Science and Technology Commission, and industry. He was the Founding Chair of the Discrete Event Systems Technical Committee, IEEE SMC Society, and the Semiconductor Manufacturing Automation Technical Committee, IEEE Robotics and Automation Society. He serves as Vice Chair of IFAC Technical Committee on Economic and Business Systems and Co-Chair of Enterprise Information Systems Technical Committee, IEEE SMC Society. He was the recipient of the following awards: the NSF’s Research Initiation Award, the CIM University-LEAD Award by the Society of Manufacturing Engineers, the Perlis Research Award by NJIT, the Humboldt Research Award for U.S. Senior Scientists, the Leadership Award and Academic Achievement Award by the Chinese Association for Science and Technology—U.S., and the Distinguished Lecturer of the IEEE SMC Society.

Suggest Documents