226
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 42, NO. 1, JANUARY 2012
A Method to Compute Strict Minimal Siphons in a Class of Petri Nets Based on Loop Resource Subsets ShouGuang Wang, Member, IEEE, ChengYing Wang, MengChu Zhou, Fellow, IEEE, and ZhiWu Li, Senior Member, IEEE
Abstract—Strict minimal siphons (SMS) play an important role in the development of deadlock control policies for flexible manufacturing systems (FMS). For a class of Petri nets called Systems of Simple Sequential Processes with Resources (S3 PR), the resource circuit-based method is an effective way to compute SMS. In this paper, a more effective one to compute SMS is proposed. First, the concepts of loop resource subsets and their characteristic resource subnets are proposed. Next, sufficient and necessary conditions for loop resource subsets to generate SMS are established. Finally, an algorithm is given to find all the SMS based on loop resource subsets. Since the number of loop resource subsets is much less than that of resource circuits and their combinations, the computational efficiency of the SMS enumeration task is significantly improved by the proposed method. An FMS example is used to illustrate the application of the proposed method, and computational time comparisons are provided on several S3 PRs to show its superior efficiency. Index Terms—Deadlock, discrete event system (DES), flexible manufacturing system (FMS), Petri net, supervisory control.
I. I NTRODUCTION
P
ETRI nets are widely used to describe and analyze the behavior of discrete event systems (DES), including FMS, workflow management systems, and automated guided vehicles. Many researchers adopt Petri net models to handle supervisory control problems in DES [1]–[6]. As a structural object of Petri nets, siphons play an important role in the development of deadlock control policies for FMS Manuscript received June 1, 2010; revised November 22, 2010 and April 8, 2011; accepted April 30, 2011. Date of publication July 14, 2011; date of current version December 16, 2011. This work is in part supported by National Natural Science Foundation of China under Grant 61100056, the National Basic Research Program of China (973 Program) under Grant 2011CB302804, the Zhejiang Provincial Natural Science Foundation of China under Grant Y1090232 and Y1100830, the Science Fund for Young Scholars of Zhejiang Gongshang University, and the Zhejiang Provincial Education Department Foundation under Grant Y201018216. This paper was recommended by Associate Editor A. Konar. S. Wang and C. Wang are with the College of Information & Electronic Engineering, Zhejiang Gongshang University, Hangzhou 310018, China (e-mail:
[email protected];
[email protected]). M. Zhou is with The Key Laboratory of Embedded System and Service Computing, Ministry of Education, Tongji University, Shanghai 200092, China, and also with the Department of Electrical and Computer Engineering, New Jersey Institute of Technology, Newark, NJ 07102 USA (e-mail:
[email protected]). Z. Li is with School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China, and also with Industrial Engineering Department, College of Engineering, King Saud University, Riyadh 11421, Saudi Arabia (
[email protected]). Digital Object Identifier 10.1109/TSMCA.2011.2159590
[7]–[37]. Briefly, a siphon is a set of places that remains permanently unmarked once it loses all tokens. Hence, if a siphon is unmarked, some transitions become permanently disabled. As a result, deadlock-freedom and liveness of a Petri net are closely related to its siphons. Ezpeleta et al. [13] study the relationship between siphons and deadlocks in a class of Petri nets called S3 PR. They characterize the liveness in terms of siphons and propose an approach that adds monitors for SMS such that they are not emptied. Consequently, the liveness of a net is enforced. The significance of their work lies in the fact that a plant and its supervisor are successfully separated such that control implementation technology for the latter can be independently developed. However, this approach suffers from such problems as computational complexity, behavior permissiveness, and structural complexity. Many deadlock control policies after [13] add monitors to SMS to enforce liveness and focus on solving the above problems [14]–[28]. Their computational complexity mainly lies in the SMS computation. To lower it, this paper introduces an efficient method to compute SMS for S3 PR. In [16], Chu and Xie propose a deadlock-detection method based on mixed-integer programming. By their method, a maximal unmarked siphon can be found at a given marking. Its computational efficiency is relatively insensitive to the initial marking and more efficient than classical state-enumeration methods. Similar work on the computation of a maximal unmarked siphon is reported in [35], [36]. Based on [16], Huang et al. [17] propose an SMS-extraction algorithm such that complete siphon enumeration is successfully avoided. Its shortcoming is that the maximal unmarked siphons need to be computed beforehand; thus, its computational efficiency remains to be improved. Li and Zhou [18], [19] classify SMS in a Petri net into two categories: elementary and dependent siphons. By making the former invariant controlled in an S3 PR net, they prove that under some conditions, a live supervisor can be obtained by controlling elementary siphons only, which avoids the redundant monitors and hence significantly improves the computational efficiency. The computational complexity of a deadlock control policy based on elementary siphons mainly lies in their computation. For this reason, many researchers have studied ways of computing elementary siphons and made remarkable progress [20]–[26].
1083-4427/$26.00 © 2011 IEEE
WANG et al.: METHOD TO COMPUTE SIPHONS IN A CLASS OF PETRI NETS BASED ON LOOP RESOURCE SUBSETS
Li and Zhou [20], [21] first utilize resource circuits to compute SMS. In their approach, for each resource circuit in the net, they compute its related SMS. By fully utilizing the structural information in a net, Li and Zhou [22] propose a method to compute a set of elementary siphons in S3 PR based on resource circuits. They claim that any dependent siphon can be found through the composition of elementary ones that are derived from resource circuits. Compared with their previous work [20], [21], the method in [22] avoids complete SMS enumeration and hence improves the computational efficiency. However, some results on SMS computation in [22] are incorrect. This paper points out the flaws via some counterexamples. For less restrictive classes of nets than S3 PR, Barkaoui and Lemaire [37] propose sufficient and necessary conditions for a set of places to be a minimal siphon based on graph theory, but their focus is the characterization of minimal siphons, not SMS. Liu et al. [23] and Wang et al. [24] propose an SMS-extraction method based on graph theory and resource circuits. They propose a sufficient and necessary condition under which the resource circuits can generate SMS in L-S3 PR (a subclass of S3 PR). Moreover, they propose an algorithm to compute the upper bound of the number of elementary siphons. In this paper, we utilize loop resource subsets to compute all the SMS in S3 PR. The new contributions of this paper are: 1) Some flaws in SMS computation in [22] are pointed out by counterexamples; 2) An algorithm to find the set of all resource circuits is proposed; 3) The concept of loop resource subsets is proposed, which plays an important role in finding SMS; 4) An algorithm to find the set of all loop resource subsets is proposed; 5) The concept of characteristic resource subnets is proposed, which is important in deciding the loop resource subsets to generate SMS; 6) Sufficient and necessary conditions for loop resource subsets to generate SMS are established; 7) An algorithm is proposed to find all the SMS in an S3 PR. The experimental study shows that the resource circuitbased method is an effective way to compute SMS for S3 PR [22]. Compared with the methods in [22], [38], and [39], the proposed one has higher computational efficiency via many randomly generated examples [40]. Moreover, it has solved some problems in [22]. The rest of this paper is organized as follows. Section II briefly reviews preliminaries used in this paper. A method to compute SMS is developed in Section III. Section IV presents an FMS example to demonstrate the method. A comparison study over several nets is given in Section V. Finally, Section VI concludes this paper. II. P RELIMINARIES A. Petri Nets [6], [30] A Petri net is a 3-tuple N = (P, T, F ), where P and T are finite, nonempty, and disjoint sets. P is a set of places,
227
and T is a set of transitions. The set F ⊆ (P × T ) ∪ (T × P ) is the flow relation. Given a net N = (P, T, F ), and a node x ∈ (P ∪ T ), • x = {y ∈ P ∪ T |(y, x) ∈ F} is the preset of x, while x• = {y ∈ P ∪ T |(x, y) ∈ F } is the post-set of x. ∀X ⊆ (P ∪ T ), • X = ∪•x∈X x, and X • = ∪x∈X x• . ∀x ∈ (P ∪ T ), •• x = • (• x), and x•• = (x• )• . The incidence matrix of N is a matrix [N ] : P × T → Z indexed by P and T such that [N ] (p, t) = −1 if p ∈ • t \ t• ; [N ] (p, t) = 1 if p ∈ t• \• t; otherwise, [N ](p, t) = 0 for all p ∈ P and t ∈ T . 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 Z is the set of integers. I is a P -invariant if I = 0 and I T • [N ] = 0T hold. A P -invariant I is a semiflow if every element of I is non-negative. I = {p ∈ P |I(p) = 0} is called the support of I. A nonempty set S ⊆ P is a siphon if • S ⊆ S • . A siphon is minimal if there is no siphon contained in it as a proper subset. A minimal siphon that does not contain the support of any P -invariant is called an SMS. A marking M of N is a mapping from P to N where N= {0, 1, 2, . . .}. In general, we use the multi-set notation p∈P M (p)p to denote vector M , where M (p) indicates the number of tokens in p at M . For example, M = [1, 2, 0, 0]T is denoted by M = p1 + 2p2 . p is marked by M if M (p) > 0. A transition t is enabled at a marking M , denoted by M [t >, if ∀p ∈ • t, M (p) > 0. An enabled transition t at M can fire, resulting in a new marking M , denoted by M [t > M , where M (p) = M (p) + [N ](p, t), ∀p ∈ P . A sequence of transitions α = t1 , t2 , . . . , tk , ti ∈ T , i = 1, 2, . . . , k is feasible from a marking M if there exist Mi , i = 1, 2, . . . , k, such that Mi [ti > Mi+1 where M1 = M . In such a case, we use M [α > Mk+1 to denote the case that Mk+1 is reachable from M after firing a sequence of transitions α. Let R (N, M0 ) denote the set of all reachable markings of N from the initial marking M0 . A string x1 , x2 , . . ., and xn is called a path of N if ∀i ∈ {1, 2, . . . , n − 1}, xi+1 ∈ x•i , where xi ∈ P ∪ T . A path x1 , x2 , . . ., and xn is called a circuit if x1 = xn . A node may appear more than once in a circuit. Two circuits are the same if the sets of their nodes and arcs are the same, respectively. A circuit c can determine a unique subnet whose nodes and arcs are in c. We call this subnet a circuit too, for simplicity. Hence, a circuit is a strongly connected subnet. An elementary path from x1 to xn is a path whose nodes are all different (except, perhaps, x1 and xn ). A path x1 , x2 , . . ., and xn is called an elementary circuit if it is an elementary path and x1 = xn . A place without any input transition is called a source place, and one without any output transition is called a sink place. A Petri net N = (P, T, F ) is called a state machine if ∀t ∈ T , |• t| = |t• | = 1 .
B. S3 PR [16] Definition 1: A System of Simple Sequential Process with Resources (S3 PR) N = Oki=1 Ni = (PA ∪ P0 ∪ PR , T, F ) is defined as the union of a set of nets Ni = (PAi ∪ {pi0 } ∪
228
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 42, NO. 1, JANUARY 2012
PRi , Ti , Fi ) sharing common places, where the following statements are true: 1) pi0 is called the process idle place of Ni . Elements in PAi and PRi are called operation and resource places; 2) PAi = ∅; PRi = ∅; pi0 ∈ PAi ; (PAi ∪ {pi0 }) ∩ PRi = ∅; 3) ∀p ∈ PAi , ∀t ∈ • p, ∀t ∈ p• , ∃rp ∈ PRi , • t ∩ PRi = t • ∩ PRi = {rp }; 4) ∀r ∈ PRi , •• r ∩ PAi = r•• ∩ PAi = ∅, • r ∩ r• = ∅; 5) •• (pi0 ) ∩ PRi = (pi0 )•• ∩ PRi = ∅; 6) Ni is a strongly connected state machine, where Ni = (PAi ∪ {pi0 }, Ti , Fi ) is the resulting net after the places in PRi and related arcs are removed from Ni ; 7) Every circuit of Ni contains place pi0 ; 8) Any two Ni are composable when they share a set of common places. Every shared place must be a resource place. 9) For r ∈ PR , H(r) = (•• r) ∩ PA is the set of operation places that use r and are called holders of r. 10) For p ∈ PA , (•• p) ∩ PR = {rp } where resource place rp is called the resource used by p.
Fig. 1.
S3 PR (N, M0 ).
Fig. 2.
Counterexample to Theorem 2.
Definition 2: Let N = (PA ∪ P0 ∪ PR , T, F ) be an S 3 P R. An initial marking M0 is called an acceptable one if 1) ∀p ∈ P0 , M0 (p) ≥ 1; 2) ∀p ∈ PA , M0 (p) = 0; and 3) ∀p ∈ PR , M0 (p) ≥ 1. III. SMS C OMPUTATION M ETHOD In this section, we first point out some flaws in the SMS computation scheme presented in [22]. Then, we propose a method to compute all the SMS in an S3 PR based on loop resource subsets. The essence of this method is to find the loop resource subsets whose characteristic resource subnets are strongly connected and then compute their related SMS. In the remaining discussion, we assume that N = (PA ∪ P0 ∪ PR , T, F ) is an S 3 P R net with an acceptable initial marking. We use Ω to denote a set of resource places in N where Ω = {r1 , r2 , . . . , rm } ⊆ PR (m ≥ 2). We use A t and tA to denote the input and output operation places of t, respectively, and use R t and tR to denote the input and output resource places of t, respectively. Moreover, for any T ⊆ T , we use A T and T A to denote the input and output operation places of T , respectively, and R T and T R to denote the input and output resource places of T , respectively. For example, t2 is a transition of N in Fig. 1, and we have A R R t 2 = p7 , t A 2 = p3 , t2 = p12 , and t2 = p11 . A. Incorrect Results on SMS Computation in [22] Li and Zhou [22] pioneered in utilizing resource circuits to compute SMS. However, some results in [22] are incorrect, e.g., the upper bound of resource circuits and elementary siphons as corrected in [41]. Definition 3: Let {r1 , r2 , . . . , rm } ⊆ PR (m ≥ 2) be a set of resources in N . An elementary circuit C(r1 , t1 , r2 , t2 , . . . , rm , tm , r1 ) is called a resource circuit. We use C R = {r1 , r2 , . . . , rm } to denote the set of resource places in a resource circuit C in N .
Theorem 1 [22]: Let C be a resource circuit in N . Then S = CR ∪ (HC \ PC ) is a siphon in N derived from C, where HC = r∈C R H(r), H(r) = (•• r) ∩ PA , and PC = {p|p ∈ HC , ∀t ∈ p• , |• t ∩ (HC ∪ C R )| = 2}. R Theorem 2 [22]: S = C ∪ (HC \ PC ) is a siphon in N , where HC = r∈C R H(r) and PC = {p|p ∈ HC , ∀t ∈ p• , |• t ∩ (HC ∪ C R )| = 2}. If S does not contain the support of any P -semiflow, S is strict minimal. A close analysis of Theorem 2 reveals that it is incorrect. A counterexample is shown in Fig. 2 where C1 = (r1 , t8 , r2 , t4 , r1 ) and C2 = (r2 , t4 , r1 , t2 , r3 , t3 , r2 ) are resource circuits. By Theorem 1, S1 = {r1 , p8 , p2 , r2 , p4 } and S2 = {r1 , p8 , p2 , r2 , p4 , r3 } are siphons derived from C1 and C2 . Clearly, we have that S1 ⊂ S2 , and hence S2 is not minimal. This contradicts Theorem 2. Similar error can be found in the following Theorem 3.
WANG et al.: METHOD TO COMPUTE SIPHONS IN A CLASS OF PETRI NETS BASED ON LOOP RESOURCE SUBSETS
Definition 4 [22]: Let C1 and C2 be resource circuits in N . They are connected if ∃r ∈ PR , r ∈ C1R ∩ C2R . Definition 5 [22]: Let Ci and Cj be resource circuits in N , and let Si = Si P ∪ Si R and Sj = SjP ∪ Sj R be the siphons derived form Ci and Cj , respectively. Let Pi,j = {p|p ∈ Si P ∪ SjP , ∀t ∈ p• , |• t ∩ (Si ∪ Sj )| = 2}. The composition operation ♦ on two siphons that are derived from two connected resource circuits is defined as S = Si ♦Sj = Si ∪ Sj \ Pi,j . Theorem 3 [22]: Let Si and Sj be siphons derived from two connected resource circuits. If S = Si ♦Sj does not contain the support of any P -semiflow, then it is an SMS.
B. Computation of Resource Circuits Definition 6: Let PQ ⊆ PR be a set of resource places in N . NQ = (PQ , TQ , FQ ) is called a resource subnet of N generated by PQ if 1) TQ = • PQ ∩ PQ• and 2) FQ = F ∩ [(PQ × TQ ) ∪ (TQ × PQ )]. Algorithm 1: Computation of resource circuits Input: an S3 PR N = (PA ∪ P0 ∪ PR , T, F ). Output: the set of all resource circuits C. 1) C := ∅; 2) PQ := PR ; 3) Compute the resource subnet NQ = (PQ , TQ , FQ ) by Definition 6; 4) while there exists a sink place p or a source place p in NQ do 5) PQ := PQ \ {p}; 6) or PQ := PQ \ {p }; 7) end while 8) for each r ∈ PQ do 9) Let r be the root node of this tree, and r be a new node; 10) while (there exists a new node x) do 11) if there exists another node y on the path C(r, t1 , . . . , tn , x) from r to x such that y = x then 12) if y = r then 13) C := C ∪ {C}; 14) end if 15) else 16) if (x•• ∩ PQ = ∅) then 17) for ∀t ∈ x• do 18) if t• ∩ PQ = ∅ then 19) Let t• ∩ PQ = {p}; 20) Node p now becomes a new node; 21) Add an arc t from x to p; 22) end if 23) end for 24) end if 25) end if 26) Node x now becomes an old node; 27) end while 28) PQ := PQ \ {r}; 29) while there exist a sink place p or a source place p in NQ do 30) PQ := PQ \ {p}; 31) or PQ := PQ \ {p };
229
32) end while 33) end for 34) Output: C; 35) End. Given an S3 PR net, all the resource circuits can be computed by Algorithm 1. We briefly explain this algorithm as follows. First, a resource subnet without any sink or source place is computed by Steps 2 to 7 since resource circuits do not contain any sink or source place. Next, a resource place r is chosen from PQ , and the tree of r is generated. The resource circuits that contain r are computed from the tree of r, and r is removed from PQ after that. The removal of r may generate some sink or source places, and thus we have to remove them as shown in Steps 29 to 32. Then, another resource place r is chosen from PQ \ {r} and the tree of r is generated. Similarly, the resource circuits that contain r but not r are computed from the tree of r , and r is removed from PQ \ {r} as well. By repeating these steps, we can ultimately compute the set of all resource circuits. Theorem 4: Given an S3 PR net, the set of resource circuits C computed by Algorithm 1 is the set of all resource circuits in it. Proof: By Steps 3 to 7, we can obtain a resource subnet NQ without any sink or source place. First, we choose a place r1 from NQ and generated the tree of r1 by Steps 8 to 27. The resource circuits that contain r1 are computed from the tree of r1 , denoted by C(r1 ), and r1 is removed from NQ after that. Now, we can obtain another resource subnet NQ without any sink or source place by Steps 29 to 32. For this time, we choose a place r2 from the new resource subnet NQ and generate the tree of r2 by Steps 8 to 27. The resource circuits that contain r2 but not r1 are computed from the tree of r2 , denoted by C(r2 ), and r2 is removed from NQ after that. Trivially, by repeating these steps, we can ultimately compute the set of all resource circuits. To illustrate Algorithm 1, consider (N, M0 ) shown in Fig. 3. It is an S 3 P R net if PA = {p2 − p7 , p− p13 }, P0 = {p1 , p8 }, and PR = {p14 − p19 }. Let PQ = PR = {p14 , p15 , p16 , p17 , p18 , p19 }. By Definition 6, the resource subnet NQ = (PQ , TQ , FQ ) generated by PQ is shown in Fig. 4(a). According to Algorithm 1, the tree of resource place p14 is shown in Fig. 5(a). Clearly, only one resource circuit contains p14 : C1 = (p14 , t3 , p18 , t4 , p14 ). Next, remove p14 from PQ , and the new resource subnet NQ is shown in Fig. 4(b). Now, we choose another resource place p15 . By Algorithm 1, the tree of p15 is shown in Fig. 5(b). Clearly, four resource circuits contain p15 but not p14 : C2 = (p15 , t2 , p18 , t5 , p15 ), C3 = (p15 , t2 , p18 , t13 , p15 ), C4 = (p15 , t12 , p18 , t5 , p15 ), and C5 = (p15 , t12 , p18 , t13 , p15 ). By repeating these steps, all the resource circuits in N can be computed. In conclusion, the net in Fig. 3 has six resource circuits as shown in Table I.
C. Computation of Loop Resource Subsets Definition 7: Let Ωi and Ωj be resource subsets in N . Ωi and Ωj are composable if Ωi ∩ Ωj = ∅, Ωi ⊂ Ωj and Ωj ⊂ Ωi .
230
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 42, NO. 1, JANUARY 2012
TABLE I S ET OF A LL R ESOURCE C IRCUITS C IN FIG. 3
Fig. 3. S3 PR net (N, M0 ).
Fig. 6.
Fig. 4. Two resource subnets.
Fig. 5. (a) tree of p14 and (b) tree of p15 .
The composition operation ◦ on two resource subsets Ωi and Ωj is defined as follows: 1) Ωi ◦ Ωj = Ωi ∪ Ωj if Ωi and Ωj are composable; 2) Ωi ◦ Ωj = ∅ if Ωi and Ωj are not composable.
S3 PR (N, M0 ).
In what follows, we use Ωi,j to denote Ωi ◦ Ωj if Ωi and Ωj are composable. Trivially, Ωi ◦ Ωi = ∅. For example, Ω1 , Ω2 , and Ω3 are resource subsets in Fig. 1 where Ω1 = {p11 , p15 }, Ω2 = {p12 , p13 }, and Ω3 = {p13 , p14 }. Ω1 and Ω2 are not composable since Ω1 ∩ Ω2 = ∅. Therefore, Ω1 ◦ Ω2 = ∅. Similarly, we have Ω1 ◦ Ω3 = ∅. Ω2 and Ω3 are composable since Ω2 ∩ Ω3 = {p13 } = ∅, Ω2 ⊂ Ω3 , and Ω3 ⊂ Ω2 . Therefore, Ω2,3 = Ω2 ◦ Ω3 = Ω2 ∪ Ω3 = {p12 , p13 , p14 }. Property 1: Let Ωi , Ωj , and Ωk be resource subsets in N where Ωi,j = Ωi ◦ Ωj = ∅ and Ωi,j ◦ Ωk = ∅. Then, Ωi,j,k = Ωi ◦ Ωj ◦ Ωk = Ωi,j ◦ Ωk = Ωi ∪ Ωj ∪ Ωk . For example, with reference to the Petri net shown in Fig. 6, Ω1 = {p11 , p12 }, Ω2 = {p12 , p13 }, and Ω3 = {p13 , p14 } are resource subsets in N where Ω1 ◦ Ω2 = ∅ and (Ω1 ◦ Ω2 ) ◦ Ω3 = ∅. Then, we have Ω1,2,3 = Ω1 ◦ Ω2 ◦ Ω3 = (Ω1 ◦ Ω2 ) ◦ Ω3 = Ω1,2 ◦ Ω3 = {p11 , p12 , p13 , p14 }. Definition 8: Let Q and Q be sets of resource subsets. The composition operation ◦ on Q and Q is defined as Q ◦ Q = {Ω ◦ Ω |∀Ω ∈ Q , ∀Ω ∈ Q , Ω ◦ Ω = ∅}. Consider the net in Fig. 6. Q = {Ω1 , Ω2 } and Q = {Ω2 , Ω3 } are sets of resource subsets in N where Ω1 = {p11 , p12 }, Ω2 = {p12 , p13 }, and Ω3 = {p13 , p14 }. Clearly, Ω1 ◦ Ω2 = ∅, Ω1 ◦ Ω3 = ∅, Ω2 ◦ Ω2 = ∅, and Ω2 ◦ Ω3 = ∅. Hence, Q ◦ Q = {Ω1,2 , Ω2,3 } where Ω1,2 = {p11 , p12 , p13 } and Ω2,3 = {p12 , p13 , p14 }. Definition 9: Let C = {C1 , C2 , . . . , Cn } be the set of all resource circuits in N . ∀i ∈ {1, 2, . . . , n}, CiR is called a simple
WANG et al.: METHOD TO COMPUTE SIPHONS IN A CLASS OF PETRI NETS BASED ON LOOP RESOURCE SUBSETS
231
TABLE II S IMPLE L OOP R ESOURCE S UBSETS Θ
TABLE III R ESULTANT L OOP R ESOURCE S UBSETS Ξ
Fig. 7.
S3 PR (N, M0 ).
loop resource subset if ∃j and k ∈ {1, 2, . . . , n} \ {i}(j = k) such that CiR = CjR ∪ CkR . The set of all simple loop resource subsets in N is denoted by Θ. Consider the net in Fig. 7. It has three resource circuits: C1 = (p11 , t7 , p12 , t2 , p11 ), C2 = (p12 , t6 , p13 , t3 , p12 ), and C3 = (p11 , t7 , p12 , t6 , p13 , t10 , p11 ). Then, we have C1R = {p11 , p12 }, C2R = {p12 , p13 }, and C3R = {p11 , p12 , p13 }. Clearly, C1R and C2R are simple loop resource subsets, while C3R is not since C3R = C1R ∪ C2R . Therefore, Θ = {C1R , C2R }. Definition 10: A resource subset Ω is called a resultant loop resource subset if ∃Ω1 , Ω2 , . . . , Ωn ∈ Θ such that Ω = Ω1 ◦ Ω2 ◦ · · · ◦ Ωn = Ω1 ∪ Ω2 ∪ · · · ∪ Ωn (n ≥ 2). The set of all resultant loop resource subsets in N is denoted by Ξ. As shown in Fig. 6, Θ = {Ω1 , Ω2 , Ω3 } where Ω1 = {p11 , p12 }, Ω2 = {p12 , p13 }, and Ω3 = {p13 , p14 }. Since Ω1 ∩ Ω2 = {p12 } = ∅, Ω1 ⊂ Ω2 , and Ω2 ⊂ Ω1 , we have that Ω1,2 = Ω1 ◦ Ω2 = {p11 , p12 , p13 } is a resultant loop resource subset. Similarly, so are Ω2,3 and Ω1,2,3 . As a result, Ξ = {Ω1,2 , Ω2,3 , Ω1,2,3 } where Ω1,2 = {p11 , p12 , p13 }, Ω2,3 = {p12 , p13 , p14 }, and Ω1,2,3 = {p11 , p12 , p13 , p14 }. We use Q to denote the set of all loop resource subsets in N where Q = Θ ∪ Ξ. In principle, Q can be found using the loop resource subsets composition approach in an iterative way. In the remaining discussion, we assume that Q1 = Θ, Q2 = Q1 ◦ Q1 , Q3 = Q1 ◦ Q2 , . . . , Qi−1 = Q1 ◦ Qi−2 , Qi = Q1 ◦ Qi−1 . Lemma 1: Qi = ∅ if i > |Θ|. Proof: By contradiction, suppose that Qi = ∅. Let Ω ∈ Q. Then, ∃Ω1 , Ω2 , . . . , Ωi ∈ Θ such that Ω = Ω1 ◦ Ω2 ◦ · · · ◦ Ωi . It is obvious that ∃k, j ∈ Ni such that Ωk = Ωj since i > |Θ|. Thus, Ω = Ω1 ◦ Ω2 ◦ · · · ◦ Ωi = ∅ by the definition of composition operation. This contradicts the fact that Ω = ∅. Therefore, Qi = ∅ if i > |Θ|. Lemma 2: Qi = ∅ if Qk = ∅ (k < i). Proof: The proof is trivial. Lemma 3: Qi = Qj ◦ Qk if j + k = i. Proof: The proof is trivial. Lemma 4: Ξ = Q2 ∪ Q3 ∪ · · · ∪ Qi−1 ∪ Qi , i = |Θ|. Proof: The proof is trivial.
Based on the above results, we can propose the following algorithm for the computation of all loop resource subsets in S3 PR. Algorithm 2: Computation of all loop resource subsets Input: Θ, the set of all simple loop resource subsets Output: Q, the set of all loop resource subsets 1) Q := ∅; Ξ := ∅; 2) Q1 := Θ; 3) i := 2; 4) while (Qi−1 = ∅) do 5) Qi := Q1 ◦ Qi−1 ; 6) Ξ := Ξ ∪ Qi ; 7) i := i + 1; 8) end while 9) Q := Θ ∪ Ξ; 10) Output: Q; 11) End. By Algorithm 2, all the loop resource subsets can be computed from the set of all simple loop resource subsets. The essence of Algorithm 2 is the computation of resultant loop resource subset Ξ using the simple loop resource subset composition approach in an iterative way, as shown in Steps 4 to 8. Theorem 5: Given the set of all simple loop resource subsets Θ in N , all the loop resource subsets in N can be obtained by Algorithm 2. Proof: According to Lemmas 1 to 4, the resultant loop resource subsets Ξ can be obtained using the simple loop resource subsets composition approach in Algorithm 2. Since the set of all the loop resource subsets Q in N is composed by Θ and Ξ, the conclusion holds. To illustrate Algorithm 2, consider (N, M0 ) shown in Fig. 3. From Algorithm 1, the net has six resource circuits as shown in Table I. Let Ω1 = C1R = {p14 , p18 }, Ω2 = C2R = C3R = C4R = C5R = {p15 , p18 }, and Ω3 = C6R = {p16 , p17 , p18 , p19 }. Clearly, Ω1 , Ω2 , and Ω3 are simple loop resource subsets, and Θ = {Ω1 , Ω2 , Ω3 } as shown in Table II. According to Algorithm 2, Q1 = Θ = {Ω1 , Ω2 , Ω3 }. Let i = 2. Since Qi−1 = Q2−1 = Q1 = ∅, we have Q2 = Q1 ◦ Q1 . By Definition 7, Q2 = Q1 ◦ Q1 = {Ω1,2 , Ω1,3 , Ω2,3 }. Similarly, we have that Q3 = Q1 ◦ Q2 = {Ω1,2,3 }. As a result, Ξ = {Ω1,2 , Ω1,3 , Ω2,3 , Ω1,2,3 } as shown in Table III. In conclusion,
232
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 42, NO. 1, JANUARY 2012
TABLE IV L OOP R ESOURCE S UBSETS Q
Fig. 9.
Characteristic resource subnet NΩ of Ω.
• A •
{ ( Ω \ Ω• )} holds. We accordingly have the following two cases. 1) t ∈ • Ω. t ∈ • Ω means that either t ∈ • Ω \ Ω• or t ∈ Ω• holds. There are two subcases: a) t ∈ • Ω \ Ω• . Then, t ∈ {A (• Ω \ Ω• )}• ⊆ S • . b) t ∈ Ω• . Then, t ∈ Ω• ⊆ S • . 2) t ∈ • {A (• Ω \ Ω• )}. Let tA = p. Then, there exists a resource place rp ∈ Ω such that t ∈ rp• by the definitions of S3 PR. As a result, t ∈ rp• ⊆ Ω• ⊆ S • .
Fig. 8. S3 PR (N, M0 ).
Q = Θ ∪ Ξ = {Ω1 , Ω2 , Ω3 , Ω1,2 , Ω1,3 , Ω2,3 , Ω1,2,3 } as shown in Table IV.
D. Sufficient and Necessary Conditions for Loop Resource Subsets to Generate SMS In the remaining discussion, we assume that Ω = {r1 , r2 , . . . , rm } ⊆ PR (m ≥ 2) is a resource subset in N . Definition 11: ∀t ∈ • Ω ∩ Ω• , t is called Δ-transition related to Ω if ∃t ∈ • Ω \ Ω• : A t = A t . The set of all Δ-transitions related to Ω is denoted by TΩΔ . Consider an S3 PR in Fig. 8 where PA = {p2 , p3 , p4 , p5 }, P0 = {p1 , p6 }, and PR = {p7 , p8 }. Ω = {p7 , p8 } is a loop resource subset in N where • Ω ∩ Ω• = {t2 , t6 } and • Ω \ Ω• = {t3 , t4 , t7 }. Clearly, t2 is a Δ-transition related to Ω since ∃t3 ∈ • Ω \ Ω• such that A t2 = A t3 = p2 . As a result, TΩΔ = {t2 }. Definition 12: NΩ = (PΩ , TΩ , FΩ ) is called a characteristic resource subnet of Ω if 1) PΩ = Ω; 2) TΩ = {• Ω ∩ Ω• } \ TΩΔ ; and 3) FΩ = F ∩ [(PΩ × TΩ ) ∪ (TΩ × PΩ )]. As shown in Fig. 8, Ω = {p7 , p8 } is a resource subset in N where TΩΔ = {t2 }. The characteristic resource subnet NΩ = (PΩ , TΩ , FΩ ) of Ω is shown in Fig. 9 where PΩ = Ω = {p7 , p8 } and TΩ = {• Ω ∩ Ω• } \ TΩΔ = {t2 , t6 } \ {t2 } = {t6 }. Theorem 6: S is a siphon if S = Ω ∪ A (• Ω \ Ω• ). Proof: If we want to prove that S is a siphon, we have to prove that ∀t ∈ • S, t ∈ S • . ∀t ∈ • S, either t ∈ • Ω or t ∈
By the above discussions for cases 1) and 2), we can conclude that ∀t ∈ • S, t ∈ S • . Therefore, S = Ω ∪ A (• Ω \ Ω• ) is a siphon. In what follows, we use SΩ to denote the siphon derived from a resource subset Ω, i.e., SΩ = Ω ∪ A (• Ω \ Ω• ). Lemma 5 [25]: If S is an SMS, |S ∩ PR | ≥ 2. Lemma 6 [25]: ∀r ∈ PR , only {PAi ∪ P0i |i = 1, 2, . . . , k} and H(r) ∪ {r} are the supports of minimal P -semiflows of N . By using the concept of characteristic resource subnets, we can have the following results. Note that if there exists a path from node xi to node xj in a directed graph, we say that xj is accessible from xi . By default, every node is accessible from itself. Lemma 7: SΩ is not an SMS if NΩ is not strongly connected. Proof: Since NΩ is not strongly connected, ∃ri , rj ∈ Ω such that rj cannot be accessible from ri in NΩ . Let X and Y be the accessible and unaccessible sets of ri ∈ Ω in NΩ where Y = Ω \ X. By the definition of accessibility of a node, we know that ri ∈ X. Clearly, rj ∈ Y = ∅. ∀rx ∈ X, ∃ry ∈ Y such that ry is accessible from rx since Y is the unaccessible set of ri ∈ Ω. That is, (X • ∩ • Y ) ∩ TΩ = ∅. Let SY = Y ∪ A (• Y \ Y • ). By Theorem 6, SY is a siphon. Now, we prove that ∀p ∈ A (• Y \ Y • ), p ∈ A (• Ω \ Ω• ). By contradiction, suppose that ∃p ∈ A (• Y \ Y • ): p ∈ A (• Ω \ Ω• ). Let A t = p and r ∈ t• where t ∈ (• Y \ Y • ). Since p ∈ A (• Ω \ Ω• ), there exists a resource place r ∈ (Ω \ Y ) = X such that r ∈ • t. t is not a Δ-transition that is related to Ω since otherwise p ∈ A (• Ω \ Ω• ). Clearly, we have r ∈ Y . Thus, t ∈ (X • ∩ • Y ) ∩ TΩ = ∅. This contradicts (X • ∩ • Y ) ∩ TΩ = ∅. Hence, we have that ∀p ∈ A (• Y \ Y • ): p ∈ A (• Ω \ Ω• ). Thus, SY ⊂ SΩ .Therefore, SΩ is not an SMS if NΩ is not strongly connected. Lemma 8: SΩ is not an SMS if Ω is not a loop resource subset. Proof: Since Ω is not a loop resource subset, it is obvious that its characteristic resource subnet NΩ is not strongly con nected. Therefore, SΩ is not an SMS by Lemma 7.
WANG et al.: METHOD TO COMPUTE SIPHONS IN A CLASS OF PETRI NETS BASED ON LOOP RESOURCE SUBSETS
233
TABLE V SMS IN FIG. 3
Fig. 10. Seven characteristic resource subnets.
Lemma 9: SΩ is an SMS if Ω is a loop resource subset and its characteristic resource subnet NΩ is strongly connected. Proof: According to Theorem 6, SΩ = Ω ∪ A (• Ω \ Ω• ) is a siphon. First, we prove that SΩ is strict. ∀r ∈ Ω, ∃r ∈ Ω and t ∈ TΩ such that (r , t) ∈ FΩ and (t, r) ∈ FΩ since NΩ is strongly connected. By the definition of characteristic resource subnet, t is not a Δ-transition related to Ω. A t = p ∈ SΩ since otherwise t is a Δ-transition related to Ω. Since p ∈ H(r), SΩ does not contain any minimal P -semiflow H(r) ∪ {r}, ∀r ∈ Ω. Since S ∩ P0 = ∅, SΩ does not contain the support of any P -invariant by Lemma 6. Hence, SΩ is strict. Next, we prove that S is minimal. By contradiction, assume that S is not minimal. That is to say, there exists a siphon S ∗ ∗ such that S ∗ ⊂ SΩ holds. Let S ∗ = SR ∪ SP∗ , there are two ∗ ∗ A • • ∗ ⊂ Ω. cases: 1) SR = Ω, SP ⊂ ( Ω \ Ω ) and 2) SR ∗ 1) SR = Ω, SP∗ ⊂ A (• Ω \ Ω• ). Then, there exists an operation place p such that p ∈ A (• Ω \ Ω• ) and p ∈ SP∗ hold. Then, ∃r ∈ Ω and t ∈ (• Ω \ Ω• ) such that A t = p and tR = r. Since t ∈ (• Ω \ Ω• ), we have t ∈ Ω• . t ∈ (SP∗ )• since SP∗ ⊆A (• Ω \ Ω• ) \ {p}. Thus, t ∈ S ∗• . Therefore, there exists a transition t ∈ • S ∗ such that t ∈ S ∗• , which clearly contradicts the assumption that S ∗ is a siphon. ∗ ∗ ∗ ⊂ Ω. ∃r ∈ Ω ∩ SR , r ∈ Ω \ SR , and t ∈ TΩ such 2) SR • • that t ∈ r ∩ r since NΩ is strongly connected. A t = p ∈ SΩ since otherwise t is a Δ-transition related to Ω. It is obvious that t ∈ • S ∗ . p ∈ S ∗ since otherwise t ∈ S ∗• . Hence, S ∗ ⊂ SΩ . This contradicts the assumption that S ∗ ⊂ SΩ .
Therefore, SΩ is an SMS if NΩ is strongly connected. Theorem 7: SΩ is an SMS iff Ω is a loop resource subset and its characteristic resource subnet NΩ is strongly connected. Proof: Straight forward from Lemmas 7, 8, and 9.
Fig. 11. Petri net model (N, M0 ) of an FMS [13].
E. Algorithm to Compute SMS The above results show that SMS in an S3 PR are generated only by the loop resource subsets whose characteristic resource subnets are strongly connected. Algorithm 3: Computation of all SMS in an S3 PR Input: an S3 PR N = (PA ∪ P0 ∪ PR , T, F ). Output: the set of all SMS Π. 1) Π := ∅; 2) Compute the set C of all resource circuits by Algorithm 1; 3) Compute the set Θ of all simple loop resource subsets by Definition 9; 4) Compute the set Q of all loop resource subsets by Algorithm 2; 5) for each Ω ∈ Q do 6) obtain the characteristic resource subnet NΩ = (PΩ , TΩ , FΩ ) generated by Ω; 7) if (NΩ is strongly connected) then 8) S := Ω ∪ A (• Ω \ Ω• ); 9) Π := Π ∪ {S}; 10) end if 11) end for 12) Output: Π; 13) End.
234
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 42, NO. 1, JANUARY 2012
TABLE VI R ESOURCE C IRCUITS IN FIG. 11
TABLE VII S IMPLE L OOP R ESOURCE S UBSETS Θ IN FIG. 11
Fig. 12.
Six characteristic resource subnets. TABLE IX A LL SMS IN N ET S HOWN IN FIG. 11
TABLE VIII R ESULTANT L OOP R ESOURCE S UBSETS Ξ IN FIG. 11
Based on loop resource subsets, Algorithm 3 can compute all the SMS in S3 PR. We briefly explain this algorithm as follows. First, Steps 2 and 3 are the computation of all simple loop resource subsets. Then, loop resource subsets are computed following the procedure in Algorithm 2 as shown in Step 4. For each loop resource subset whose characteristic resource subnet is strongly connected, we compute its related SMS by Steps 7 to 10. Finally, all the SMS can be computed. Theorem 8: Given an S 3 P R net N , all the SMS in N can be obtained by Algorithm 3. Proof: According to Theorem 7, SMS in S3 PR are generated only by the loop resource subsets whose characteristic
resource subnets are strongly connected. Hence, it is obvious that all the SMS in N can be obtained by Algorithm 3. As shown in Fig. 3, (N, M0 ) has seven loop resource subsets Ω1 to Ω1,2,3 as shown in Table IV. Next, we need to compute the characteristic resource subnets generated by Ω1 to Ω1,2,3 according to Definitions 11 and 12. Consider the resource subset Ω2 = {p15 , p18 } where • Ω2 ∩ • Ω2 = {t2 , t5 , t12 , t13 } and • Ω2 \ Ω•2 = {t3 , t6 , t14 }. Clearly, only t2 is a Δ-transition related to Ω2 since ∃t3 ∈ • Ω2 \ Ω•2 such that A t2 = A t3 = p2 . Therefore, TΩΔ2 = {t2 }. By Definition 12, the characteristic resource subnet NΩ2 = (PΩ2 , TΩ2 , FΩ2 ) of Ω2 is shown in Fig. 10(b) where PΩ2 = Ω2 = {p15 , p18 } and TΩ2 = {• Ω2 ∩ Ω•2 } \ TΩΔ2 = {t2 , Other characteristic t5 , t12 , t13 } \ {t2 } = {t5 , t12 , t13 }.
WANG et al.: METHOD TO COMPUTE SIPHONS IN A CLASS OF PETRI NETS BASED ON LOOP RESOURCE SUBSETS
235
TABLE X C OMPUTATIONAL C OST C OMPARISON
resource subnets can be similarly computed as shown in Fig. 10. Clearly, all the characteristic resource subnets in Fig. 10 are strongly connected except NΩ1 in Fig. 10(a) and NΩ6 in Fig. 10(f). By Theorems 6 and 7, SΩ2 is an SMS with SΩ2 = Ω2 ∪ A (• Ω2 \ Ω•2 ) = {p15 , p18 } ∪ (• t3 ∩ PA ) ∪ (• t6 ∩ PA ) ∪ (• t14 ∩ PA ) = {p2 , p5 , p13 , p15 , p18 }. Similarly, we can compute other SMS. In conclusion, (N, M0 ) has five SMS, as shown in Table V. IV. FMS E XAMPLE Fig. 11 shows a Petri net model of an FMS. It is an S3 PR if P0 = {p1 , p5 , p14 }, PR = {p20 − p26 }, PA1 = {p2 , p3 , p4 }, PA2 = {p15 − p19 }, and PA3 = {p6 − p13 }. By Algorithm 1, the net has nine resource circuits as shown in Table VI. By Definition 9, the set of all simple loop resource subsets Θ = {Ω1 , Ω2 , Ω3 , Ω4 , Ω5 , Ω6 } as shown in Table VII. Following the procedure in Algorithm 2, we can compute the set of all resultant loop resource subsets Ξ as shown in Table VIII. As a result, the net in Fig. 11 has 25 loop resource subsets generating 25 siphons. However, some of them may be not strict minimal. Consider Ω1 = {p20 , p25 }. By Definition 11, TΩΔ1 = {t7 }. By Definition 12, the characteristic resource subnet NΩ1 = (PΩ1 , TΩ1 , FΩ1 ) is shown in Fig. 12(a) where PΩ1 = Ω1 = {p20 , p25 } and TΩ1 = {• Ω1 ∩ Ω•1 } \ TΩΔ1 = {t7 , t19 } \ {t7 } = {t19 }. Other characteristic resource subnets can be similarly computed and the characteristic resource subnets generated by the simple loop resource subsets Ω1 to Ω6 are shown in Fig. 12. Clearly, all the characteristic resource subnets in Fig. 12 are strongly connected except NΩ1 in Fig. 12(a). As shown in Tables VII and VIII, NΩ1 , NΩ1,2 , NΩ1,2,4 , NΩ1,2,5 , NΩ1,2,4,5 , NΩ1,2,5,6 , and NΩ1,2,4,5,6 are not strongly connected. By Theorems 6 and 7, SΩ2 is an SMS with SΩ2 = Ω2 ∪ A (• Ω2 \ Ω•2 ) = {p2 , p4 , p8 , p12 , p16 , p21 , p25 }. Similarly, we can compute the set of all SMS. In conclusion, the net (N, M0 ) in Fig. 11 has 18 SMS, as shown in Table IX. V. C OMPARISON OF C OMPUTATIONAL C OSTS Fig. 6 in [22] shows that the resource circuit-based approach offers much higher computational efficiency than some direct SMS computation approaches such as the INA-based method [38] and the sign matrix method [39], especially in large systems. Therefore, we compare the proposed method with the resource circuit-based one only. Compared with the SMS
computation method that is based on resource circuits [22], the proposed one offers higher computational efficiency for the following reasons: First, one simple loop resource subset may correspond to more than one resource circuit, and hence the number of siphons that correspond to simple loop resource subsets is less than that of resource circuits. Second, the combination of resource circuits may lead to a larger number of resultant siphons than that generated by resultant loop resource subsets. Finally, in the proposed method, there exists a one-to-one correspondence between an SMS and a loop resource subset whose characteristic resource subnet is strongly connected. A detailed comparison between the proposed method and the one in [22] is shown in Table X via some FMS examples. The superiority of the proposed one is obvious, since the new method is faster from one to several magnitudes than that in [22]. The latter is faster than INA [38] and the sign matrix method [39]. From Table X, we can also see that an increasing number of loop resource subsets leads to increasing computational time. Note that the authors of the work [22] provide the computational times of the two methods, and the computation is carried out on a 2.52-GHz Pentium-III computer with 2-GB memory under Windows XP operating system. Note that the data is obtained after they correct some mistakes in [22]. The experimental files and tools for the computation are available in [40] for a reader’s examination.
VI. C ONCLUSION Strict Minimal Siphons (SMS) assumes significance in the theory of Petri nets [42], [43]. They play an important role in many deadlock control methods for FMS [6]–[8], [28]– [37], [43]–[47]. A resource circuit-based method is one of the most effective ways to compute them for a class of Petri nets modeling FMS [22]. In this paper, a method with higher computational efficiency is proposed to compute SMS. Since the proposed method is applicable to S3 PR only, our future work includes extending this method to more general classes of Petri nets, e.g., [26], [31]–[34], [44]–[60].
ACKNOWLEDGMENT The authors would like to thank the anonymous referees whose comments helped us improve the quality of this paper.
236
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 42, NO. 1, JANUARY 2012
R EFERENCES [1] J. L. Luo, W. M. Wu, H. Y. Su, and J. Chu, “Supervisor synthesis for enforcing a class of GMECs on Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 39, no. 6, pp. 1237–1246, Nov. 2009. [2] N. Q. Wu, “Necessary and sufficient conditions for deadlock-free operation in flexible manufacturing systems using a colored Petri net model,” IEEE Trans. Syst., Man, Cybern. C, Appl. Rev., vol. 29, no. 2, pp. 192–204, May 1999. [3] N. Q. Wu, L. P. Bai, and C. B. Chu, “Modeling and conflict detection of crude-oil operations for refinery process based on controlled-colored-timed Petri net,” IEEE Trans. Syst., Man, Cybern. C, Appl. Rev., vol. 37, no. 4, pp. 461–472, Jul. 2007. [4] N. Q. Wu and W. Q. Zeng, “Deadlock avoidance in AGV system using colored Petri net model,” Int. J. Prod. Res., vol. 40, no. 1, pp. 223–238, 2002. [5] K. Xing, B. Hu, and H. Chen, “Deadlock avoidance policy for Petri net modeling of flexible manufacturing systems with shared resources,” IEEE Trans. Autom. Control, vol. 41, no. 2, pp. 289–295, Feb. 1996. [6] Z. W. Li and M. C. Zhou, Deadlock Resolution in Automated Anufacturing Systems: A Novel Petri Net Approach. London, U.K.: Springer-Verlag, Feb. 2009. [7] L. Piroddi, R. Cordone, and I. Fumagalli, “Combined siphon and marking generation for deadlock prevention in Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 39, no. 3, pp. 650–661, May 2009. [8] L. Piroddi, R. Cordone, and I. Fumagalli, “Selective siphon control for deadlock prevention in Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 38, no. 6, pp. 1337–1348, Nov. 2008. [9] A. Giua and C. Seatzu, “Modeling and supervisory control of railway networks using Petri nets,” IEEE Trans. Autom. Sci. Eng., vol. 5, no. 3, pp. 431–445, Jul. 2008. [10] Y. S. Huang, M. D. Jeng, X. L. Xie, and D. H. Chung, “Siphon-based deadlock prevention policy for flexible manufacturing systems,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 36, no. 6, pp. 1248– 1256, Nov. 2006. [11] Y. S. Huang, “Deadlock prevention for sequence resource allocation systems,” J. Inf. Sci. Eng., vol. 23, no. 1, pp. 215–231, Jan. 2007. [12] Y. S. Huang, “Design of deadlock prevention supervisors using Petri nets,” Int. J. Adv. Manuf. Technol., vol. 35, no. 3/4, pp. 349–362, Dec. 2007. [13] 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. [14] R. Cordone, L. Ferrarini, and L. Piroddi, “Enumeration algorithms for minimal siphons in Petri nets based on place constraints,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 35, no. 6, pp. 844–854, Nov. 2005. [15] R. Cordone, L. Ferrarini, and L. Piroddi, “Some results on the computation of minimal siphons in Petri nets,” in Proc. 42nd IEEE Conf. Decision Control, Maui, HI, Dec. 9–12, 2003, vol. 4, pp. 3754–3759. [16] F. Chu and X. L. Xie, “Deadlock analysis of Petri nets using siphons and mathematical programming,” IEEE Trans. Robot. Autom., vol. 13, no. 6, pp. 793–804, Dec. 1997. [17] Y. S. 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. [18] Z. W. Li and M. C. 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. [19] Z. W. Li and M. C. Zhou, “Clarifications on the definitions of elementary siphons of Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 36, no. 6, pp. 1227–1229, Nov. 2006. [20] Z. W. Li and A. R. Wang, “A Petri net based deadlock prevention approach for flexible manufacturing systems,” Acta Autom. Sin., vol. 29, no. 5, pp. 733–740, 2003. [21] Z. W. Li, M. C. Zhou, and M. D. Jeng, “A maximally permissive deadlock prevention policy for FMS based on Petri net siphon control and the theory of regions,” IEEE Trans. Autom. Sci. Eng., vol. 5, no. 1, pp. 182–188, Jan. 2008. [22] Z. W. Li and M. C. Zhou, “On siphon computation for deadlock control in a class of Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 38, no. 3, pp. 667–679, May 2008. [23] X. L. Liu, A. R. Wang, and Z. W. Li, “A fast algorithm to find a set of elementary siphons for a class of Petri nets,” in Proc. IEEE Int. Conf.Autom. Sci. Eng., Shanghai, China, Oct. 7–10, 2006, pp. 399–404.
[24] A. R. Wang, Z. W. Li, J. Y. Jia, and M. C. Zhou, “An effective algorithm to find elementary siphons in a class of Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 39, no. 4, pp. 912–923, Jul. 2009. [25] Z. W. Li and M. C. 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. [26] Z. W. Li and M. Zhao, “On controllability of dependent siphons for deadlock prevention in generalized Petri nets,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 38, no. 2, pp. 369–384, Mar. 2008. [27] Z. W. Li, M. C. Zhou, and M. Uzam, “Deadlock control policy for a class of petri nets without complete siphon enumeration,” IET Control Theory Appl., vol. 1, no. 6, pp. 1594–1605, Nov. 2007. [28] Z. W. Li and M. C. Zhou, “Two-stage method for synthesizing livenessenforcing supervisors for flexible manufacturing systems using Petri nets,” IEEE Trans. Ind. Inf., vol. 2, no. 4, pp. 313–325, Nov. 2006. [29] K. Y. Xing, M. C. Zhou, H. X. Liu, and F. Tian, “Optimal petri net based polynomial complexity deadlock avoidance policies for automated manufacturing systems,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 39, no. 1, pp. 188–199, Jan. 2009. [30] B. Hruz and M. C. Zhou, Modeling and Control of Discrete Event Dynamic Systems. London, U.K.: Springer, 2007. [31] H. Hu, M. C. Zhou, and Z. Li, “Liveness enforcing supervision of video streaming systems using non-sequential Petri nets,” IEEE Trans. Multimedia, vol. 11, no. 8, pp. 1457–1465, Dec. 2009. [32] H. Hu, M. C. Zhou, and Z. Li, “Low-cost high-performance supervision in ratio-enforced automated manufacturing systems using timed Petri nets,” IEEE Trans. Autom. Sci. Eng., vol. 7, no. 4, pp. 933–944, Oct. 2010. [33] H. Hu, M. C. Zhou, and Z. Li, “Algebraic synthesis of timed supervisor for automated manufacturing systems using Petri nets,” IEEE Trans. Autom. Sci. Eng., vol. 7, no. 3, pp. 549–557, Jul. 2010. [34] H. Hu, M.C. Zhou, and Z. Li, “Supervisor design to enforce production ratio and absence of deadlock in automated manufacturing systems,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 41, no. 2, pp. 201– 212, Mar. 2010. [35] J. Park and S. A. Reveliotis, “Deadlock avoidance in sequential resource allocation systems with multiple resource acquisitions and flexible routings,” IEEE Trans. Autom. Control, vol. 46, no. 10, pp. 1572–1583, Oct. 2001. [36] S. A. Reveliotis, “On the siphon-based characterization of liveness and liveness-enforcing supervision for sequential resource allocation systems,” in Deadlock Resolution in Computer-Integrated Systems, M. C. Zhou and M. P. Fanti, Eds. New York: Marcel Dekker, 2005, pp. 283–307. [37] K. Barkaoui and B. Lemaire, “An effective characterization of minimal deadlocks and traps in petri nets based on graph theory,” in Proc. 10th Int. Conf. Appl. Theory Petri Nets, 1989, pp. 1–21. [38] P. H. Starke, INA: Integrated Net Analyzer, 1992. [Online]. Available: http://www2.informatik.hu-berlin.de/~starke/ina.html [39] E. R. Boer and T. Murata, “Generating basis siphons and traps of Petri nets using sign incidence matrix,” IEEE Trans. Circuits Syst. I, Fundam. Theory Appl., vol. 41, no. 4, pp. 266–271, Apr. 1994. [40] Computation results for SMS of S3PR, Nov. 2010. [Online]. Available: http://web.njit.edu/~zhou/SMS.rar [41] H. X. Liu, K. Y. Xing, and S. Gao, “Comment on ‘On siphon computation for deadlock control in a class of Petri nets’,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 39, no. 6, pp. 1348–1350, Nov. 2009. [42] N. Q. Wu and M. C. Zhou, System Modeling and Control with ResourceOriented Petri Nets. New York: CRC, 2010. [43] M. C. Zhou and M. P. Fanti, Eds., Deadlock Resolution in ComputerIntegrated Systems. New York: Marcel Dekker, Jan. 2005. [44] D. Liu, Z. W. Li, and M. C. Zhou, “Liveness of an Extended S3PR,” Automatica, vol. 46, no. 6, pp. 1008–1018, 2010. [45] M. C. Zhou, Ed., Petri Nets in Flexible and Agile Automation. London, U.K.: Kluwer, 1995. [46] M. C. Zhou and K. Venkatesh, Modeling, Simulation and Control of Flexible Manufacturing Systems: A Petri Net Approach. Singapore: World Scientific, 1998. [47] M. C. Zhou and F. DiCesare, Petri Net Synthesis for Discrete Event Control of Manufacturing Systems. London, U.K.: Kluwer, 1993. [48] M. C. Zhou, “Deadlock avoidance methods for a distributed robotic system: Petri net modeling and analysis,” J. Robotic Syst., vol. 12, no. 3, 12, pp. 177–187, 1995. [49] Z. Ding, C. Jiang, and M. C. Zhou, “Deadlock checking for one-place unbounded Petri Nets based on modified reachability trees,” IEEE Trans. Syst., Man, Cybern.: Part B, vol. 38, no. 3, pp. 881–883, 2008.
WANG et al.: METHOD TO COMPUTE SIPHONS IN A CLASS OF PETRI NETS BASED ON LOOP RESOURCE SUBSETS
[50] M. C. Zhou and F. DiCesare, “Parallel and sequential mutual exclusions for Petri net modeling for manufacturing systems with shared resources,” IEEE Trans. Robot. Automat., vol. 4, no. 7, pp. 515–527, 1991. [51] M. C. Zhou, F. DiCesare, and A. A. Desrochers, “A hybrid methodology for synthesis of Petri Nets for manufacturing systems,” IEEE Trans. Robot. Automat., vol. 8, no. 3, pp. 350–361, 1992. [52] M. C. Zhou, F. DiCesare, and D. Rudolph, “Design and implementation of a Petri Net based supervisor for a flexible manufacturing system,” Automatica, vol. 28, no. 6, pp. 1199–1208, 1992. [53] M. C. Zhou, K. McDermott, and P. A. Patel, “Petri Net synthesis and analysis of a flexible manufacturing System cell,” IEEE Trans. Syst., Man, and Cybernetics, vol. 23, no. 2, pp. 523–531, 1993. [54] N. Wu, M. C. Zhou, and Z. Li, “Resource-oriented Petri Net for deadlock avoidance in flexible assembly systems,” IEEE Trans. on Systems, Man, Cybern.: Part A, vol. 38, no. 1, pp. 56–69, 2008. [55] N. 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, 2007. [56] N. Wu and M. C. Zhou, “Modeling and deadlock avoidance of automated manufacturing systems with multiple automated guided vehicles,” IEEE Trans. Syst., Man, Cybern.: Part B, vol. 35, no. 6, pp. 1193–1202, Dec. 2005. [57] N. Wu and M. C. Zhou, “Deadlock modeling and control of automated guided vehicle systems,” IEEE/ASME Trans. Mechatronics, vol. 9, no. 1, pp. 50–57, 2004. [58] N. Wu and M. C. Zhou, “Avoiding deadlock and reducing starvation and blocking in automated manufacturing systems,” IEEE Trans. Robot. Automat., vol. 17, no. 5, pp. 658–669, 2001. [59] G. Zeng, W. Wu, W. Mao, H. Su, and J. Chu, “A hybrid approach to design deadlock-free Petri net controller for discrete event systems,” Trans. Inst. Meas. Control, vol. 33, no. 1, pp. 77–92, 2011. [60] F. Lu, W. Wu, H. Su, and J. Chu, “Non-blocking decentralized control of discrete event systems based on Petri nets,” Asian J. Control, vol. 12, no. 3, pp. 1–13, 2010.
ShouGuang Wang (M’10) received the B.S. degree in computer science from Changsha University of Science and Technology, Changsha, China, in 2000 and the Ph.D. degree in electrical engineering from Zhejiang University, Hangzhou, China, in 2005 In 2005, he joined Zhejiang Gongshang University, Hanhzhou, China, where he is currently an Associate Professor with the College of Information & Electronic Engineering. He has been a visiting professor with the Electrical and Computer Engineering Department, New Jersey Institute of technology, Newark, NJ, since January 2011. His main research interests include Petri net theory and application, supervisory control of discrete event systems.
Chengying Wang received the B.S. and M.S. degrees from Zhejiang Gongshang University, Hangzhou, China, in 2008 and 2011, respectively. She is currently a Scientific Research Assistant with the College of Information & Electronic Engineering, Zhejiang Gongshang University. Her research interests include Petri net theory and application, supervisory control of discrete event systems and automated manufacturing systems.
237
Mengchu Zhou (S’88–M’90–SM’93–F’03) received the B.S. degree in electrical engineering from Nanjing University of Science and Technology, Nanjing, China, in 1983, the M.S. degree in automatic control from 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. He joined New Jersey Institute of Technology (NJIT), Newark, in 1990, and is currently a Professor of electrical and computer engineering and the Director of Discrete-Event Systems Laboratory. He is presently a Professor with The MoE Key Laboratory of Embedded System and Service Computing, Tongji University, Shanghai, China (on leave from NJIT). He was invited to lecture in Australia, Canada, China, France, Germany, Hong Kong, Italy, Japan, Korea, Mexico, Singapore, Taiwan, and U.S. and served as a plenary speaker for several conferences. He has over 390 publications including 10 books, 180+ journal papers (majority in IEEE transactions), and 17 book-chapters. His research interests are in intelligent automation, lifecycle engineering and sustainability evaluation, Petri nets, wireless ad hoc and sensor networks, Web services, workflow analysis, semiconductor manufacturing, and energy systems. Dr. Zhou served as an Associate Editor of IEEE T RANSACTIONS ON ROBOTICS AND AUTOMATION from 1997 to 2000, and IEEE T RANSACTIONS ON AUTOMATION S CIENCE AND E NGINEERING from 2004 to 2007, and currently an Editor of IEEE T RANSACTIONS ON AUTOMATION S CIENCE AND E NGINEERING , and Associate Editor of IEEE T RANSACTIONS ON S YSTEMS , M AN , AND C YBERNETICS : PART A, AND IEEE T RANSACTIONS ON I NDUSTRIAL I NFORMATICS .
ZhiWu Li (M’06–SM’07) received the B.S. degree in mechanical engineering, M.S. degree in automatic control, and Ph.D. degree in manufacturing engineering from Xidian University, Xi’an, China, in 1989, 1992, and 1995, respectively. He joined Xidian University in 1992, where he is currently a Professor with the School of ElectroMechanical Engineering and the Director of the Systems Control and Automation Group. He was a Visiting Professor with the University of Toronto, Toronto, ON, Canada; Technion-Israel Institute of Technology, Haifa, Israel; Martin Luther University of Halle-Wittenburg, Germany; and the Conservatoire National des Arts et Métiers, France. He has over 120 publications, including Deadlock Resolution in Automated Manufacturing Systems: A Novel Petri Net Approach, (Springer, 2009) and Modeling, Analysis, and Deadlock Control in Automated Manufacturing Systems (Beijing, 2009, in Chinese), both with M. C. Zhou. His current research interests include Petri net theory and application, supervisory control of discrete event systems, workflow modeling and analysis, and systems integration. Dr. Li serves an Associate Editor of the IEEE T RANSACTIONS ON AUTOMATION S CIENCE AND E NGINEERING and the IEEE T RANSACTIONS ON S YSTEMS , M AN , AND C YBERNETICS : PART A. He is the founding chair of Xi’an Chapter of the IEEE Systems, Man, and Cybernetics Society.