• 沒有找到結果。

Computation of Elementary Siphons in Petri Nets For Deadlock Control

N/A
N/A
Protected

Academic year: 2021

Share "Computation of Elementary Siphons in Petri Nets For Deadlock Control"

Copied!
11
0
0

加載中.... (立即查看全文)

全文

(1) The Author 2006. Published by Oxford University Press on behalf of The British Computer Society. All rights reserved. For Permissions, please email: journals.permissions@oxfordjournals.org Advance Access published on May 12, 2006 doi:10.1093/comjnl/bxl019. Computation of Elementary Siphons in Petri Nets For Deadlock Control Daniel Yuh Chao1 Department of Management and Information Science, National Cheng Chi University, Taipei, Taiwan, ROC Email: yaw@mis.nccu.edu.tw When designing liveness-enforcing Petri net supervisors, unlike other techniques, Li et al. added control places and arcs to a plant net model for its elementary siphons only, greatly reducing the structural complexity of the controlled system. Their method, however, suffers from the expensive computation of siphons. We propose a new T-characteristic vector z to compute strict minimal siphons (SMS) for S3PR (systems of simple sequential processes with resources) in an algebraic fashion. For a special subclass of S3PR, called S4PR (simple S3PR), we discover that elementary siphons can be constructed from elementary circuits where all places are resources. Thus, the set of elementary siphons can be computed without the knowledge of all SMS. We also propose to construct characteristic T-vectors h by building a graph to find dependent siphons without their computations. Keywords: flexible manufacturing systems, deadlock prevention, Petri nets, siphons, S3PR. Received 20 June 2005; revised 2 April 2006. 1.. INTRODUCTION. Flexible manufacturing systems (FMS) often share resources such as machines, robots, fixtures, buffers and palletized and programmable material handling systems. An FMS offers a very promising approach to productivity increase through state-of-the-art manufacturing technology. Deadlock interrupts normal operation schedules significantly degrading the performance. There are three approaches to deadlock controls: recovery, avoidance and prevention [1–15]. Recovery restores the system to a normal state so as to be able to finish the production. Avoidance determines possible system evolutions at each system state and chooses the correct ones to proceed. Prevention synthesizes or builds net models with desired properties such as deadlock-freeness or liveness using special rules [14, 15], or it establishes the control policy in a static way [7–11] by building freely a Petri net (PN) model and adding necessary control places and related arcs to make it deadlock-free [8–11, 16–19]. Prevention is preferred to avoidance by carrying out the computation once and off-line. Without the need to do on-line analysis upon system changing states, it is essential. 1 The former name of the author is Yuh Yaw, which appeared in some of his earlier papers.. when real time response time is critical since it runs much faster. Ezpeleta et al. [10] proposed a class of PN called systems of simple sequential processes with resources (S3PR). They compute all minimal siphons with no traps (called strict minimal siphons) of the given model and find the maximum number of tokens at each idle state followed by a control policy of adding arcs and nodes with tokens. Most recent deadlock control approaches [8, 9, 11, 14] extend Ezpeleta’s work. Liveness can be enforced by adding a control place to each strict minimal siphon (SMS). The method is simple and guarantees a success, but suffers from adding too many control places and arcs, leading to a much more complex PN than the uncontrolled one. In fact, the same amount of places as that of SMS are added in the target net and further, much more arcs are generally added, particularly for large-scale PN. Iterative control methods in [16] find all SMS and add control places in each iteration. Repeat it until there are no more new emptiable SMS. With so many SMS, it becomes difficult and complex even for a moderate-size model. To control fewer SMS, Huang et al. [8, 11] employed the mixed integer programming (MIP) technique to find a maximal siphon under a given marking. From it, all possible emptiable SMS can be extracted [8] without finding all SMS. However, Li and zhou [18] proposed simpler Petri net controllers by adding control places to elementary siphons. The Computer Journal Vol. 49 No. 4, 2006.

(2) Computation of Elementary Siphons in Petri Nets only (generally a much smaller set than that of SMS in large Petri nets). SMS can be divided into two groups: elementary and dependent; characteristic T-vectors of the latter are linear combinations of that of the former. They added a control place for each elementary siphon without generating new SMS by the method developed in [10], while controlling all other SMS (i.e. always marked) too. This leads to much fewer control places to be suitable for large-scale Petri nets. However, their method has to compute all SMS; the number of them grows exponentially with that of places [19, 20]. Hence their algorithm takes exponential time in addition to the extra efforts (also exponential time) to extract elementary siphons from all SMS. We propose an algorithm to compute elementary siphons based on a new characteristic T-vector (Section 4) without the knowledge of all SMS. Section 2 presents the preliminaries followed by Section 3 where we show that a siphon can be synthesized by constructing handles upon a circuit. Section 4 defines elementary, dependent siphons and characteristic T-vectors respectively. Sections 5 and 6 compute all elementary and dependent siphons respectively. Section 7 concludes the paper.. 2.. PRELIMINARIES. In this paper, we consider strongly connected nets only. DEFINITION 1. A Petri net is a 4-tuple PN ¼ (P, T, F, M0) where P ¼ {p1, p2, . . . , pa} is a set of places, T ¼ {t1, t2, . . . , tb} a set of transitions, with P [ T 6¼ ˘ and P \ T ¼ ˘, F: (P · T) [ (T · P) ! {0, 1, 2, . . .} is the flow relation and a marking of N is a mapping M: P ! IN, where IN ¼ {0, 1, 2, . . .}. The i-th component of M, M(pi), represents the number of tokens in place pi under M. A node x in N ¼ (P, T, F) is either a p 2 P or a t 2 T. The postset of node x is x ¼ {y 2 P [ T j F(x, y) > 0}, and its preset x ¼ {y 2 P [ T j F(y, x) > 0}. The preset (postset) of a set is defined as the union of the presets (postsets) of its elements. A directed path G ¼ [n1 n2    nk], k  1, is a graphical object containing a sequence of nodes and the single arc between each two successive nodes in the sequence. N0 ¼ (P0 , T0 , F0 ) is called a subnet of N where P0  P, T0  T and F0 ¼ F \ ((P0 · T0 ) [ (T0 · P0 )). The incidence matrix of N is a matrix A: P · T ! Z indexed by P and T such that A(p, t) ¼ 1, if p 2 t\t; A(p, t) ¼ 1, if p 2 t\t; otherwise A(p, t) ¼ 0 for all p 2 P and t 2 T, where Z is the set of integers. Ordinary Petri nets (OPN) are those for which F: (P · T) [ (T · P) ! {0, 1}. An OPN is called a state machine (SM) if 8t 2 T, jtj ¼ jtj ¼ 1. For an OPN, ti is firable or enabled under M, in symbols M[t>, iff 8pj 2 t, M(pj) > 0. Firing ti under M0 removes a token from pj and deposits a token into each place pk in t, moving the system state from M0 to M1. Repeating this process, it reaches M0 by firing a sequence. 471. s of transitions. M0 is said to be reachable from M0, i.e. M0[s > M0 . All nets referred to in this paper will be OPN. DEFINITION 2. Let N ¼ (P, T, F) be a net, (N, M0) a marked net and R(N, M0) the set of markings reachable from M0. A transition t 2 T is live under M0 iff 8M 2 R(N, M0), 9M0 2 R(N, M0): M0 [t> holds. A transition t 2 T is dead under M0 iff @M 2 R(N, M0): M[t> holds. A PN (N, M0) is live under M0 iff 8t 2 T, t is live under M0. It is bounded if 8M 2 R(N, M0), 8p 2 P, M(p)k, where k is a positive integer. DEFINITION 3. G ¼ [n1 n2    nk], k  1, is an elementary directed path in N if 8(i, j), 1  i < j  k, ni 6¼ nj. G is (non) virtual if it contains only (more than) two nodes. G is an elementary circuit c in N if 8(i, j), 1  i  j  k, ni ¼ nj implies that i ¼ 1 and j ¼ k. DEFINITION 4. A siphon (trap) D (t) is a nonempty subset of places if D  D (t  t), i.e. every transition having an output (input) place in D(t) has an input (output) place in D(t). A minimal siphon does not contain a siphon as a proper subset. It is called a strict minimal siphon (SMS), denoted by S, if it does not contain a trap. DEFINITION 5. A subnet Ni ¼ (Pi, Ti, Fi) of N is generated by X ¼ Pi [ Ti, if Fi ¼ F \ (X · X). It is an I-subnet of N if Ti ¼ Pi. IS is the I-subnet (derived from (S, S)) of an SMS S. Note that S ¼ P(IS); S is the set of places in IS. We add bold texts for new terms to the following definitions [10]. Refer to [10] for more details of the S3PR model. DEFINITION 6. [10]. A simple sequential process (S2P) is a net N ¼ (P [ {p0}, T, F) where (1) P 6¼ ˘, p0 2 = P (p0 is called the process idle or initial or final state); (2) N is a strongly connected state machine (SM) and (3) every circuit of N contains place p0. Any elementary circuit containing p0 is called a subprocess. DEFINITION 7. [10]. A simple sequential process with resources (S2PR), also called a working processes (WP), is a net N ¼ (P [ {p0} [ R, T, F) so that (1) the subnet generated by X ¼ P [ {p0} [ T is an S2P; (2) R 6¼ ˘ and P [ {p0} \ R ¼ ˘; (3) 8p 2 P, 8t 2 p, 8t0 2 p, 9rp 2 R, t \ R ¼ t0  \ R ¼ {rp}; (4) the two following statements are verified: 8r 2 R, (4.a) r \ P ¼ r \ P 6¼ ˘, (4.b) r \ r ¼ ˘; (5) (p0) \ R ¼ (p0) \ R ¼ ˘. 8p 2 P [ {p0}, p is called a state place. 8r 2 R, r is called a resource place. H(r) ¼ r \ P denotes the set of holders of r (states that use r). r(r) ¼ {r} [ H(r) denotes the union of H(r) and {r}. The above models the constraints as follows: Definition 7.3 allows only one shared resource to be used at each state; Definition 7.4.a dictates that the resource used in a state be released when moving to the next state; Definition 7.4.b shows that two adjacent states cannot use the same resource and Definition 7.5 ensures that the initial and final state do. The Computer Journal Vol. 49 No. 4, 2006.

(3) 472. D. Y. Chao. t1. p20. p6. t12. t8. p21. t4 p24. p4 t14. p16. p17. t9. M4. p9. M2. t19. t18. p12. p8. t13. p25 M3. t3. P2M2 p3. t7. p7. p23. p15. p20. p11. M1. p2. p1. R1. t2. t11. t20. p13. t5. p26 t10. p10. R3. t6. p22. p14. t17 p18 t16 p19 t15. p5. FIGURE 1. An example of systems of simple sequential processes with resources (S3PR) [18]. A colour version of this figure is on The Computer Journal website.. not use resources. S2PR is an S2P which uses a unique resource at every nonidle state. DEFINITION 8. [10]. A system of S2PR (S3PR) is defined recursively as follows: (1) An S2PR is defined as an S3PR; (2) Let Ni ¼ (Pi [ P0i [ Ri, Ti, Fi), i 2 {1, 2} be two S3PR so that (P1 [ P01) \ (P2 [ P02) ¼ ˘. R1 \ R2 ¼ PC(6¼˘) and T1 \ T2 ¼ ˘. The net N ¼ (P [ P0 [ R, T, F) resulting from the composition of N1 and N2 via PC defined as follows: (1) P ¼ P1 [ P2; (2) P0 ¼ P01 [ P02; (3) R ¼ R1 [ R2; (4) T ¼ T1 [ T2 and (5) F ¼ F1 [ F2 is also an S3PR. A directed path (circuit, subnet) G in N is called a resource path (circuit, subnet) if 8p 2 G, p 2 R. An elementary resource circuit is both a resource and an elementary circuit. The S3PR example in Figure 1 [18] consists of three robots (R1, R2, R3) and four machines (M1–M4).. 3.. SYNTHESIS OF SMS. We construct an SMS based on the concept of handles. Roughly speaking, a ‘handle’ is an alternate disjoint path between two nodes. A PT-handle starts with a place and ends with a transition while a TP-handle starts with a transition and ends with a place.. DEFINITION 9. [21]. Let N ¼ (P, T, F). H1 ¼ [nsn1n2    nkne] and H2 ¼ [nsn0 1n0 2    n0 hne] are elementary directed paths, ni, n0 j 2 P [ T, i ¼ 1, 2, . . . , k, j ¼ 1, 2, . . . , h. Each is called a handle in N if ni 6¼ n0 j, 8i, j. H1 is an XY-handle where X and Y can be T or P. X is T (P) if ns 2 T (ns 2 P). Y is T (P) if ne 2 T (ne 2 P). H1 is a resource handle if all places in H1 are resource places. The handle H to a subnet N0 (similar to the handle of a tea pot) is an elementary directed path from ns in N0 to another node ne in N0 ; any other node in H is not in N0 . H is said to be a handle in N0 [ H which denotes the union of graphical objects N0 and H. In Figure 1, [t18 p16 t19 p25] is a TP-handle with ns ¼ t18 and ne ¼ p25, and [p21 t11 p2 t12 p21] is a PP-handle. H ¼ [p21 t17] is a virtual PT-handle since it contains only two nodes. LEMMA 1. (1) IS is strongly connected [20, 21]. (2) A subnet N0 is an I-subnet (see Definition 5) of a minimal siphon iff N0 is maximal in the sense that each handle H in N0 is a PP- or TP- or virtual PT-handle and there are none of PP-, TP- and virtual PT-handles to N0 . (3) P(N0 ) is an SMS iff there is a nonvirtual PT-handle to N00 , which is a subnet of N0 without any TP-handles. Proof. (2) (!) Assume contrarily that H may be a nonvirtual PT- or TT-handle. All places in H can be deleted. The Computer Journal Vol. 49 No. 4, 2006.

(4) 473. Computation of Elementary Siphons in Petri Nets from the siphon while other places still form a siphon violating the fact that it is minimal. ( ) There is a circuit c in N0 since it is strongly connected by (1). P(N0 ) is a siphon because 8p 2 P(N0 ),  p 2 T(N0 ) since p is in c or in a PP- or TP-handle of N0 . For the same reason, 8t 2 T(N0 ), t 2 P(N0 ), i.e. T(N0 )  P(N0 ). (Note that p may not be in T(N0 ) if p is in a PT-handle to N0 .) Thus P(N0 )  P(N0 ). It is minimal since if we remove a p in any TP- or PP-handle, then it is not a siphon. (3) ( ! ) Assume contrarily that there are no nonvirtual PT-handles to N0 . 8p 2 P(N0 ), 8t 2 P(N0 ), it is in IS and 9p0 2 P(N0 ), t 2 p0 . We have P(N0 ) ¼ P(N0 ), and P(N0 ) is a trap—contradiction. ( ) Assume contrarily that P(N0 ) contains a trap and is not an SMS whose I-subnet must include N00 . Let t be the output transition of ns of the nonvirtual PT-handle. We have t 2 P(N00 ), t 2 = P(N00 ); hence, P(N00 ) cannot be a trap and 0 P(N ) does not contain a trap—contradiction. & DEFINITION 10. An elementary resource circuit is called a basic circuit, denoted by cb. The procedure to add handles to form IS based on Lemma 1 is called handle-construction. The corresponding S ¼ P(IS) is called a basic siphon. The set of resource places in cb is denoted by Rb. An expanded cb is the union of cb and the set of all PP-handles (called PP0 -handles) of the form [r1 t0 r2], where r1 2 cb and r2 2 cb. EXAMPLE. In Figure 1, first find a circuit cb ¼ [p21 t17 p26 t16 p22 t5 p24 t4 p21]. Second add PP0 -handles [p24 t12 p21], [p21 t13 p24], [p26 t9 p21] and [p22 t10 p26] to form the expanded cb. Next, add TP-handles [t10 p10 t6 p22], [t13 p4 t14 p21] and [t17 p17 t18 p21] to get S4 ¼ {p4, p10, p17, p21, p22, p24, p26} with nonvirtual PT-handles [p21 t11 p2 t12], [p21 t3 p8 t4], [p21 t8 p12 t9] and [p22 t15 p19 t16] to the cb. Note that in the expanded cb, we can find other basic circuits, e.g. [p22 t10 p26 t16 p22]. Thus, fewer basic circuits need to be searched. Note that if there were PP-, TP- and virtual PT-handles to N0 , i.e. N0 was not maximal, then S would not be a siphon. If IS contains only one resource place r, it cannot be strict since r(r) (e.g. r(p26) ¼ {p26, p18, p13}) is both a trap and a siphon [10]. Also the synthesized siphon may not be minimal since part of the cb or handles may become a TT-handle. In Figure 1, the siphon constructed based on cb ¼ [p20 t19 p25 t7 p20] is not minimal since [t19 p25 t7] is a TT-handle to I(r(p20)). Note the presence of virtual PT-handle [p6 t7]. LEMMA 2. All places in a cb must be resource places. Proof. Suppose there are state places in the cb, then there is an edge [t1 p1 t2] (on the cb) in a certain WPj. There are two possible outgoing edges from t2: (a) [t2 r1], p1 2 H(r1) and (b) [t2 p2], p2 2 WPj. For Case (b), repeat the arguments and continue. For Case (a), the next edge from r1, [r1 t3] is part of a circuit of r1 as edges [t1 p1 t2] and [t2 r1] are. t3 belongs to WPj or a different WPk. In both cases, [r1 t1] is a virtual. PT-handle and [t3 p3 t4 r1] a TP-handle to or part of cb respectively. Thus both circuits [r1 t1 p1 t2 r1] and [r1 t3 p3 t4 r1] belong to the ID constructed from cb. Other circuits of r1 are in ID. Hence I(r(r1))  ID and the siphon D constructed is not minimal since I(r(r1)) is the I-subnet of a minimal siphon containing r1 and H(r1) and D contains another minimal siphon as a proper subset. & For instance, in Figure 1, the nonminimal siphon constructed on c ¼ [p25 t7 p11 t8 p12 t9 p13 t10 p26 t16 p18 t17 p17 t18 p16 t19 p25] contains state places p11, p12 etc. and r(p25). Lemma 2 helps to locate a cb. The following table shows all possible basic siphons and circuits in Figure 1. Basic siphons S1 S4 S10 S16 S17 S18. Places. cb. p10, p18, p22, p26 p4, p10, p17, p21, p22, p24, p26 p4, p9, p12, p17, p21, p24 p2, p4, p8, p13, p17, p21, p26 p2, p4, p8, p12, p15, p20, p21, p23, p25 p2, p4, p8, p12, p16, p21, p25. [p22 t10 p26 t16 p22] [p21 t17 p26 t16 p22 t5 p24 t4 p21] [p21 t13 p24 t4 p21] [p21 t17 p26 t9 p21] [p21 t3 p23 t2 p20 t19 p25 t18 p21] [p21 t8 p25 t18 p21]. There may be PP-handles to a cb which are also resource paths resulting in a new cb. We do not have to consider TPhandles of resource paths for a different reason—they simply do not exist. LEMMA 3. Let H be a TP-handle or a nonvirtual PT-handle to a cb. H is not a resource path. Proof. Assume contrarily that the ns (ne) of H (recall Definition 9) has two output (input) resource places against the fact that any state place can use and release only one resource. & COROLLARY 1. The resource subnet (Definition 8) of any IS in an S3PR is a state machine (SM). Proof. Lemma 3 indicates that all resource handles to a cb must be PP-handles. The cb plus these PP-handles is an SM. & Upon a strongly connected resource subnet N0 , we can add nonresource TP- and PP-handles to form an IS. Since r(r) is a siphon for each r 2 N0 , so is the union d of all such r(r). Deleting nonvirtual PT- and TT-handles from d forms the IS. The rest are PP- or TP-handles which are parts of circuits of some I(r(r)). Note that each circuit of an I(r(r)) contains exactly one state place. Let R be the set of their resource places in the net N, Tu ¼ R \ R and Nu the net generated by R and Tu. To find all SMS, we have to locate all possible N0 as in algorithm 1.. The Computer Journal Vol. 49 No. 4, 2006.

(5) 474. D. Y. Chao. (1) Find all strongly connected components (SCC) N00 in Nu in linear time using the algorithm by Tarjan [23]. If not found, then exit since no SMS exists. (2) For each N00 (an SM), find all its strongly connected subcomponents, called sub-SCC y. For each such subSCC, add all nonresource TP- and PP-handles to form an IS. P(IS) is an SMS. ALGORITHM 1. SMS computation.. To the best of our knowledge, no efficient algorithms exist to find all sub-SCC (future work). Since the number of subSCC is exponential to the size of the net, the time complexity is at least exponential. Hence we will consider the simple case where cb1 \ cb2 ¼ {r}, r 2 R, whenever a dependent siphon can be constructed from cb1 [ cb2 for any pair of cb1 and cb2. Note that if two different y 1, y 2 have the same set of resource places, i.e. R(y 1) ¼ R(y 2), then they will synthesize the same SMS. DEFINITION 11. A simple S3PR (S4PR) is defined to be (1) an S3PR and (2) 8cb1 2 CB, cb2 2 CB, such that cb1 \ cb2 6¼ F, if neither Rb1  Rb2 nor Rb2  Rb1 holds, then cb1 \ cb2 ¼ {r}, r 2 R, where CB is the set of all cb in the S3PR. Note that if either Rb1  Rb2 or Rb2  Rb1 holds, then cb1 [ cb2 ¼ cb2 or cb1, and cb1 [ cb2 results in no new SMS. The net in Figure 1 is an S4PR, where Rb1  Rb4, Rb10  Rb4, Rb16  Rb4 and Rb18  Rb17. Also for the rest, if cb1 \ cb26¼F, we have cb1 \ cb2 ¼ {p21} (e.g. cb4 \ cb17 ¼ cb4 \ cb18 ¼ cb10 \ cb18 ¼ cb16 \ cb18 ¼ cb10 \ cb16 ¼ {p21}), except that cb1 \ cb16 ¼ {p26}. We will show in Theorem 3 that for an S4PR the sets of elementary siphons and basic siphons are identical. Thus, we only need to find the cb for elementary (also basic) siphons. Since all places in a cb are resources, we can remove all state places and their incident arcs in N and apply well-known algorithms [24] to search elementary directed circuits. We will present a method to construct a characteristic T-vector followed by an algorithm to construct a basic siphon given a cb. In the worst case of densely connected resource subnets, any subset of more than one resource place contributes to a basic siphon. Thus, the total number of basic siphons equals v(k) ¼ C(k, 2) + C(k, 3) +    + C(k, k) ¼ 2k  k  1, where k ¼ O(jRj) and C(k, h) means the number of ways to select h items out of k items with no distinction. For real FMS applications, however, it is loosely connected, and the total number of basic siphons is a polynomial with respect to jRj. Since it takes O(jFj+jTj+jRj) time [25] to find a circuit, the total time to find all basic siphons is polynomial. Further, the constraint for S4PR limits the number of eligible cb to be a polynomial with respect to O(jFj+jTj+jRj) if 8cb1 2 CB, cb2 2 CB, neither Rb1  Rb2 nor Rb2  Rb1 holds.. This is because, to be exponential, at least one arc or directed path must be shared by more than one cb—in contradiction to the definition of S4PR. On the other hand, if it is possible that either Rb1  Rb2 or Rb2  P Rb1 holds, then in the worst case, there are wðkÞ  k1 i¼2 Bðk‚ iÞ basic siphons where B(k, i) is the number of basic siphons that should be deleted from v(k) since they share i > 1 resource places and are not subset of Peach other (see Definition 11). Note that B(k, i) is O(k2) and k1 i¼2 Bðk‚ iÞ is O(k3). Thus, the total number of basic siphons remains to be exponential in the worst case. For large nets, computing a basic siphon may not be easy. The concept of characteristic T-vector will be presented in the next section to compute basic siphons in an algebraic way. 4.. ELEMENTARY SIPHONS AND CHARACTERISTIC T-VECTORS. This section defines elementary, dependent siphons and characteristic T-vectors respectively. DEFINITION 12. [18]. Let W  P be a subset of places of N. P-vector lW is called the characteristic P-vector of W iff 8p 2 W, lW(p) ¼ 1; otherwise lW(p) ¼ 0. DEFINITION 13. [18]. Let W  P be a subset of places of N, and lW the characteristic P-vector of W. h is called the characteristic T-vector of W, if hT ¼ lTWA, where A is the incidence matrix. Note that for the net in Figure 1, each h has 20 components, which is too long. Instead, we ignore all zero components, and if h(tx) ¼ 1 (h(tx) ¼ 1), we replace 1 (1) with +tx (tx). Physically, the sets where h > 0, h ¼ 0 and h < 0 are the sets of transitions whose firings increase, maintain and decrease the number of tokens in W respectively. DEFINITION 14. [18]. (S0 2 P (the set of all S), if @S1, S2, . . . , Sn 2 P (8i 2 {1,2, . . . , n}, S0 6¼ Si) such that h0 ¼ a1 h1 + a2 h2 +    + an hn holds, where a1, a2, . . . , an 2 a, the set of all real numbers, then S0 is called an elementary siphon of net N. PE denotes the set of all S0. DEFINITION 15. [25]. Let S0 2 P\PE be a siphon in a net N and S1, S2, . . . , Sn be its elementary siphons. S0 is called a dependent siphon with respect to S1, S2, . . . , Sn, and if h0 ¼ a1 h1+ a2 h2 +    + an hn holds, where a1, a2, . . . , an 2 a, the set of all real numbers. h0 is said to touch h1, h2, . . . , hn. S0 is called a strongly dependent siphon [25] if 8i 2 {1, 2, . . . , n}, ai > 0. S0 is called a weakly dependent siphon if 9i, j 2 {1, 2, . . . , n}, ai > 0 and aj < 0. Li and zhou [18] proposed to find elementary siphons based on all SMS. First, they construct the characteristic P(T)-vector matrix [l] ([h]) of the siphons in N followed by finding linearly independent vectors in [l] ([h]). Note that. The Computer Journal Vol. 49 No. 4, 2006.

(6) 475. Computation of Elementary Siphons in Petri Nets TABLE 1. Elementary siphons and their h for the net in Figure 1. Elementary SMS S1 S4 S10 S16 S17 S18. TABLE 3. Elementary siphons and their z for the net in Figure 1.. Places. h. SMS. p10, p18, p22, p26 p4, p10, p17, p21, p22, p24, p26 p4 p9, p12, p17, p21, p24 p2, p4, p8, p13, p17, p21, p26 p2, p4, p8, p12, p15, p20, p21, p23, p25 p2, p4, p8, p12, p16, p21, p25. [t9 + t10  t15 + t16] [t3 + t5  t8 + t10  t11 + t13  t15 + t17] [t3 + t4  t11 + t13] [ +t9  t8 + t17  t16] [t1 + t3 + t8 t17 + t19]. 1. S1 2. S4 3. S10 4. S16 5. S17. [t7 + t8  t17 + t18] 6. S18. Places in cb, Pb R3, M4 R3, M2, R2, M4 R2, M2 R2, M4 R1, R2, M1, M3 R2, M3. zR [t5 + t6  t9  t15 + t17] [t3 + t6  t8  t11 + t14  t15 + t18] [t3 + t5  t8 + t9  t11 + t14  t17 + t18] [t3 + t4t8 + t10  t11 + t12  t13 + t14  t16 + t18] [t1 + t4 + t9  t11 + t12  t13 + t14  t17 + t20] [t3 + t4  t7 + t9  t11 + t12  t13 + t14  t17 + t19]. TABLE 2. Dependent siphons and their h for the net in Figure 1 Dependent siphons S2 S3 S5 S6 S7 S8 S9 S11 S12 S13 S14 S15. Places. h relationship. p4, p10, p15, p20, p21, h2 ¼ h4 + h17 p22, p23, p24, p25, p26 p4, p10, p16, p21, p22, p24, p25, p26 h3 ¼ h4 + h18 p4, p9, p13, p15, p20, p21, h5 ¼ h10 + h16 + h17 p23, p24, p25, p26 p4, p9, p13, p16, p21, p24, p25, p26 h6 ¼ h10 + h16 + h18 p4, p9, p13, p17, p21, p24, p26 h7 ¼ h10 + h16 p4, p9, p12, p15, p20, p21, h8 ¼ h10 + h17 p23, p24, p25 p4, p9, p12, p16, p21, p24, p25 h9 ¼ h10 + h18 p2, p4, p8, p10, p15, p20, h11 ¼ h1 + h16 + h17 p21, p22, p23, p25, p26 p2, p4, p8, p13, p15, p20, h12 ¼ h16 + h17 p21, p23, p25, p26 p2, p4, p8, p10, p16, p21, h13 ¼ h1 + h 16 + h18 p22, p25, p26 p2, p4, p8, p13, p16, p21, p25, p26 h14 ¼ h16 + h18 p2, p4, p8, p10, p17, p21, p22, p26 h15 ¼ h1 + h16. decrease the number of tokens in R respectively. Note that zR is a linear sum of all zr as in the following lemma. LEMMA 4. zTR ¼ Sr2RzTr where R is the set of all resource places in a resource subnet of an S3PR. Proof. It holds by Definition 16. zTR ¼ lTR A ¼ Sr2R(lTr  A) ¼ Sr2RzTr . & Note that 8t 2 r (r), zr(t) ¼ 1 (1). For instance, for S4 in Figure 1, zR ¼ Sr2Rzr ¼ [t3 + t6  t8  t11 + t14  t15 + t18]. The rest are in Table 3. Thus, it is easy to compute z for elementary siphons. But we need to compute SMS from z and the computed SMS may not be minimal, the condition of which is unclear. We also need to find dependent siphons from elementary siphons. We observe that the number of basic siphon circuits is six, the same as that of elementary siphons. Actually we can construct the same set of elementary siphons from these circuits (Theorem 3). The next section will present the algorithm to compute elementary siphons.. 5. [l] ¼ [l1jl2j    jlk]T and [h] ¼ [h1jh2j    jhk]T, k ¼ jPj. Finally, the siphons corresponding to these independent vectors are the elementary siphons in the net system. But they have to look for all SMS. We find elementary siphons without the knowledge of all SMS. Tables 1 and 2 show all the elementary and dependent siphons and their h for the net in Figure 1 respectively. Similarly, we propose zR based on the set of resource places in S. DEFINITION 16. Let R  P be a subset of resource places of N and lR the characteristic P-vector of R. zR is called the characteristic T-vector for R, if zTR ¼ lTR  A. Physically, the sets where zR > 0, zR ¼ 0 and zR < 0 are the sets of transitions whose firings increase, maintain and. ALGORITHM OF COMPUTATION OF ELEMENTARY SIPHONS. The algorithm is based on Lemma 4. Just as the h for a dependent SMS is a linear combination of that of some elementary siphons, so is zR of zr of resource places in the circuit. The following lemma helps to understand Lemmas 7 and 8. LEMMA 5. Let Pb ¼ P(cb) be the set of places in cb, z the characteristic T-vector of the basic siphon and Tb0 ¼ Pb \ Pb. (1) 8t 2 Tb0 , z(t) ¼ 0; (2) t 2 Pb\Tb0 , iff z(t) ¼ 1; (3) t 2 Pb\Tb0 , iff z(t) ¼ 1. Proof. There is at most one input (output) place, say r (r0 ), of t in Pb due to the fact that any state place can use and release only one resource. Four possibilities for t 2 T: (a) exactly one input (output) place, (b) zero input and one output place, (c) one input and zero output place and (d) no input (output). The Computer Journal Vol. 49 No. 4, 2006.

(7) 476. D. Y. Chao. place in Pb. z(t) ¼ 0 for Cases (a) and (d). z(t) ¼ 1 (1) for Case (b) (c). (1) 8t 2 Tb0 , Case (a) holds; there is exactly one input (output) place, say r (r0 ), of t in Pb. We have zr(t) ¼ 1 (zr0 (t) ¼ 1). Hence z(t) ¼ zr(t) + zr0 (t) ¼ 0. (2) (!) If t 2 Pb\Tb0 , Case (c) holds. Hence, z(t) ¼ 1. ( ) If z(t) ¼ 1, Case (c) holds and there is exactly one input and zero output place in Pb. Hence t 2 Pb\Tb0 . (3) (!) If t 2 Pb\Tb0 , Case (b) holds; hence, z(t) ¼ 1. ( ) If z(t) ¼ 1, Case (b) holds and there is exactly one input and zero output place in Pb. Hence t 2 Pb\Tb0 . & The following lemma shows the relationship between handles to a cb and the nonzero components of z. LEMMA 6. Let H be a handle to cb and t 2 H. (1) If z(t) ¼ 1, H is a PT- or PP-handle. (2) If z(t) ¼ 1, H is a TP- or PP-handle. Proof. (1) If z(t) ¼ 1, then t 2 Pb. 8p 2 t, p 2 = Pb. Hence p is a state place. Let p 2 r(r) where r 2 Pb and t0 2 r(r) \ p. If z(t0 ) ¼ 1, then H is a PP-handle. If z(t0 ) ¼ 0, then H is a PT-handle. (2) If z(t) ¼ 1, then t 2 Pb. 8p 2 t, p 2 = Pb. Hence p is a state place. Let p 2 r(r), r 2 Pb and t0 2 r(r) \ p. If z(t0 ) ¼ 1, then H is a PP-handle. If z(t0 ) ¼ 0, then H is a TP-handle. & Similarly, we have the relationship between handles to a cb and the nonzero components of h in the following lemma: LEMMA 7. Let H be a handle to cb and t 2 H. (1) If h(t) ¼ 1, H is a PT-handle. (2) If h(t) ¼ 1, H is a TP-handle. Proof. (1) If h(t) ¼ 1, then t 2 Pb. 8p 2 t, p 2 = P b. Hence p is a state place. Let p 2 r(r), r 2 Pb. If H is a PP-handle, h(t) ¼ 0. The firing of t removes tokens from S, but they will return to S by firing t0 2 r(r) \ p. Hence, H must be a PT-handle; the firing of t decreases the number of tokens in S. (2) If h(t) ¼ 1, then t 2 Pb. 8p 2 t, p 2 = Pb. Hence p is a state place. If H is a PP-handle, h(t) ¼ 0. The firing of t increases tokens in S, but they will leave S by firing t0 2 r(r) \ p. Hence, H must be a TP-handle; the firing of t increases the number of tokens in S. & LEMMA 8. Let Pb ¼ P(cb) and Tb0 be defined in Lemma 5. (1) 8t 2 Pb\Tb0 , h(t) ¼ 0. (2) 8t 2 Pb\Tb0 , (2.a) if t is on a PP-handle, h(t) ¼ 0; (2.b) otherwise, h(t) ¼ 1. (3) 8t 2 Tb0 , (3.a) if t is on a TT-handle, h(t) ¼ 0; (3.b) otherwise, it is on a TP-handle, h(t) ¼ 1. Proof. It follows from the proof of Lemmas 5–7.. &. Upon the detection of an elementary circuit, we can construct a siphon based on Lemmas 4–6: the computed S may not be minimal if it contains a r(r) to be detected by the following lemma. LEMMA 9. Let zR ¼ Sr2Rzr where R ¼ P(cb). Let S ¼ R [ {p j zr(t) ¼ 1, p 2 t \ H(r)}. (1) S ¼ P(I) where I is the. I-subnet built using the handle-construction procedure. (2) S is minimal iff :(8p 2 r\R (p is a state place), 9t0 , t00 , z(t0 ) ¼ 1, z(t00 ) ¼ 0, t0 , t00 2 p (i.e. 9 a virtual PT-handle in I)). Proof. (1) It follows from Lemma 6. (2) As shown in [10], any minimal siphon in Ni is a r(r), r 2 R. (!) By Lemma 6, [r t p t0 r] is a PP-circuit to Ni and is in I by Lemma 1. I now contains r(r) and it is not minimal—contradiction. ( ) It implies p 2 = S (a nonvirtual PT-handle [r t p t0 ] to Ni); hence, S does not contain any r(r) and is minimal. & In Figure 1, let c ¼ [p20 t19 p25 t7 p20], r ¼ p20, t1 2 p20. z(t1) ¼ 1. p6 2 t1, p6 2 = c. p6 ¼ {t2, t7}. z(t0 ¼ t2) ¼ 1, z(t7) ¼ 0. Hence the computed S ¼ {p20, p25, p6, p11, p15} is not minimal. We now have. (1) S ¼ P(cb) (2) zR ¼ Sr2Rzr where R ¼ P(cb) (3) 8r 2 cb, if 8p 2 r\R (p is a state place), 9t0 , t00 , z(t0 ) ¼ 1, z(t00 ) ¼ 0, t0 , t00 2 p, the SMS if computed, will not be minimal; break and exit. (4) 8t00 , z(t00 ) ¼ 1, p 2 t00 , p 2 = cb, S [ {p} ! S (add p to S). ALGORITHM 2. Basic-siphon computation based on z.. Although Algorithm 2 computes elementary siphons, it can also compute dependent siphons if we replace the cb in the algorithm by a resource subnet. Step 1 first sets S to be the set of all resource places in cb taking O(jRj) time. Then it computes zR in Step 2. Because a holder can be used by only one resource place (constraints in Definitions 7.3 and 7.4.a), Step 2 takes O(jPj+jRj) time. Step 3 tests to see if it is minimal. It takes O(jPj+jRj) time to detect r(r). Hence the time complexity for Step 3 is also O(jPj+jRj). The rest of S are in TP- or PP-handles (Step 4) as in Lemma 6. Step 4 takes O(jRj) time owing to the constraints in Definitions 7.3 and 7.4.a. We will show in the next section that the set of elementary siphons equals that of basic siphons (Theorem 3) and the characteristic T-vectors for dependent siphons can be constructed by building a graph without their computations. Algorithm 2 helps to compute elementary siphons from cb. The following theorem is helpful to prove Theorem 3. THEOREM 1. For every sub-SCC N  made of cb1 and cb2 in an S4PR (defined earlier) corresponding to an SMS S , h  ¼ h1 + h2 iff cb1 \ cb2 ¼ {r}, where r 2 R and h  is the h value for S . Proof. First, we explore the conditions under which h  ¼ h1 + h2 holds for all possible cases where cb1 \ cb2 6¼ F. Let q1 (q2) be the set of transitions in all nonresource PP-, TP-,. The Computer Journal Vol. 49 No. 4, 2006.

(8) 477. Computation of Elementary Siphons in Petri Nets TABLE 4. h1,h2,h and the testing h1 + h2 ¼ h ? for Case T4. Case 1 2 3 4 5 6 7 8 9 10 11 12. h1. h2. h. 1tp 1tp 1tp 1pt 1pt 1pt 0pp 0pp 0pp 0tp 0tp 0tp 0tt 0tt 0tt 1tp 1pt 0tt 0pp 0tt 0tt 0pp 0tp 0tp 0pp 1tp 1tp 0pp 1pt 1pt 1tp 0tt 0tt 1pt 0tt 0tt. h1 + h2 ¼ h ?. t 2 H. H unchanged in the union?. no no yes yes yes yes yes yes yes yes no no. yes yes yes yes yes no no no no no no no. PT- and TT-handles to cb1 (cb2). T ¼ T1 + T2 + T3 + T4 where T1 is the set of transitions neither in q1 nor in q2, T2 that in q1\q2, T3 that in q2\q1 and T4 that in q1 \ q2. 8t 2 T1, h1(t) ¼ h2(t) ¼ h (t) ¼ 0. 8t 2 T2, h (t) ¼ h1(t) and h2(t) ¼ 0. 8t 2 T3, h (t) ¼ h2(t) and h1(t) ¼ 0. All satisfy h  ¼ h1 + h2. Case T4 is discussed based on Table 4. Column 6 ‘t 2 H. H unchanged in the union’ means if t is in H, H is a (same type) handle to both cb and their union. H cannot be, say, PP-handle to cb1, but a different type, say TP-handle, to cb2 or cb1 [ cb2. This is the reason that if any entry in Column 6 is yes (Cases 1–5), h1 ¼ h2. Let N0 ¼ I1 \ I2. t is either in N0 or on a handle H to N0 , where I1(I2) is the I-subnet of the SMS built on cb1(cb2). The values for the rest entries are ‘no’ (Cases 6–10) and come from the fact that part of a TP- (or PT-) handle may become a TT-handle and part of a PP-handle may become a TP- (or TT-) handle. Note that if h1 + h2 6¼ h , then the SMS for cb1 [ cb2 is elementary, but not a basic siphon. For Cases 1–5, h1 + h2 ¼ h holds for only Cases 3–5 where h1 ¼ h2 ¼ 0 and 8t 2 Tb10 \ Tb20 (see Lemma 5 for definition of Tb0 ), it must be on a TT-handle corresponding to entry ‘0tt’ in the table. In order to be on a TT-handle, t0 2 t \ N0 (N0 defined earlier in this lemma) must be on the same subprocess (Definition 6) as t. This implies that the R (e.g. R ¼ {R2, M3, R4}) of N  must extend between two adjacent WP such as WP12 and WP3 in Figure 1. However, at the terminal r nodes of N0 where part of a TP- (and PT-) handle becomes a TT-handle, Cases 11 and 12 apply and h1 + h2 6¼ h . Such a problem will not occur iff cb1 \ cb2 ¼ {r}. That is it must be an S4PR where Cases 1, 2, 4 and 5 cannot happen either. Thus, if h  ¼ h1 + h2, then cb1 \ cb2 ¼ {r} and if cb1 \ cb2 ¼ {r}, then h  ¼ h1 + h2. & COROLLARY 2. For every sub-SCC N  made of N1 and N2 in an S4PR (defined earlier) corresponding to an SMS. root. n18. n17. n10. n16. n4. n1 FIGURE 2. The cb-graph to compute all dependent SMS.. S , h  ¼ h1 + h2 iff N1 \ N2 ¼ {r}, where r 2 R and h  (h1, h2) is the h value for S  (S1, S2) which is the SMS corresponding to N  (N1, N2). Proof. It follows by a similar reasoning to that for Theorem 1. & We explain Cases 6, 7 and 12 where t 2 T4. Case 6: h1(t) ¼ 1. By Lemma 7, t is on a TP-handle [t p t0 r] to cb1. Due to the constraint that every state place can use and release exactly one resource, t must be in a PT-handle [r t p t0 ] to cb2, h2(t) ¼ 1. t is also in a TT-handle [t p t0 ] to c ¼ cb1 [ cb2; hence h1 + h2 ¼ h  ¼ 0. Case 7: h2(t) ¼ 0. t is on a TT-handle [t p t0 ]. t and t0 are on cb2 and in a PP-circuit [r t p t0 r] (must be a circuit) to cb1. Hence h2 ¼ 0. t remains to be in a TT-handle to c. Thus we have h1 + h2 ¼ h  ¼ 0. As an example, h16 + h18 ¼ h14. Case 12: h2(t) ¼ 0. t is on a TT-handle [t p t0 ]. t and t0 are on cb2 and in a PT-circuit [r t p t0 ] to cb1. Hence h2 ¼ 1. t remains to be in a TThandle to c. Thus we have h1 + h2 6¼ h . Cases 8–11 are similar. 6.. COMPUTATION OF DEPENDENT SIPHONS OF S4PR. Recall that each SMS can be constructed from a sub-SCC. After locating all cb, we may condense the resource subnet Nu by building a graph with a set of nodes and edges (Figure 2). Each node represents a cb or a dummy node (e.g. root). Output nodes (e.g. for S18, S17, S10, S16 and S4) of a dummy node (root) represent those cb sharing the same set of resource places ({p21}). There is a dashed and directed arc from nh to nk to indicate Rbh  Rbk (Rule 4 in Definition 16) implying the constraint that hh and hk never appear together in (or touched by) any h. The problem then is equivalent to finding all connected components in the graph while observing the constraint and others mentioned later. For instance, path n10-root-n16 in Figure 2 is a connected component and indicates a dependent siphon whose h ¼ h10 + h16. DEFINITION 17. A cb-graph G^ is a graph built using the following rules: (1) any node is either a dummy node or a node ni for cbi; (2) 8cbi, there is a unique ni 2 G^; (3) 8 (cbi, cbj), Rbi \ Rbj 6¼ F and neither Rb1  Rb2 nor Rb2  Rb1, there is a solid edge between ni and nj, (4) if Rbi  Rbj, the edge between. The Computer Journal Vol. 49 No. 4, 2006.

(9) 478. D. Y. Chao. ni and nj is dashed and directed from ni to nj; (5) 8 (cb1, cb2, . . . , cbk), if Rb1 \ Rb2    \Rbk 6¼ F, then n1, n2, . . . , nk are output nodes of a dummy node; (6) 8(cb1, cb2, . . . , cbk), if n1d1n2d2 . . . dknk, where di, 1  i  k, is a null or dummy node, and Rb1 [ Rb2    [Rbk ¼ Rbq, q 2 = {1, 2, . . . k} then add a dashed edge between n1 and nk. Condition 6 is to avoid generating a dependent siphon which actually is a basic siphon. We call such a generation nonunique: We construct a dependent siphon using Theorem 2 based on the following: DEFINITION 18. An SMS S is said to be generated by cb1, cb2, . . . , cbk if S is created by the handle-construction process upon a strongly connected resource subnet containing cb1, cb2, . . . , cbk. It is called a unique generation if (1) no proper subset of cb1, cb2, . . . , cbk generates the same S and (2) S is not a basic siphon. Counter examples: (1) the union of the set of resource places in the cb for S1, S10, S16 equals that for S4; i.e. Rb1 [ Rb10 [ Rb16 ¼ Rb4. The union of these cb generates S4—neither new nor dependent and is not a unique generation. In column 3 of Table 2, S18 (one of S1, S10 and S16) and S17 (S4) never appear together. To avoid such, we create a dashed edge between n18 (one of n1, n10 and n16) and n17 (n4) to forbid it. In the graph, a path (n10-root-n16-n1) covers the three nodes for S1, S10, S16 and would normally create a new dependent siphon. To avoid such, we create a dashed edge between n1 and n10 to forbid it. Further, a circuit with all edges solid may not exist in the graph. Otherwise, a new cb and hence S can be formed from the set of resources in the circuit and hence it is not a unique generation. Thus, combinations of cb on the circuit should be avoided. We may break the circuit by making one edge dashed (found by locating a tree from the solid subgraph). In any case, the presence of a dashed edge forbids the associated combination. THEOREM 2. For an S4PR (defined earlier), the unique generation by cb1, cb2, . . . , cbk creates a strongly dependent siphon S  and h  ¼ h1 + h2 +    + hk. Proof: Prove by induction. We first prove the case for k ¼ 2. By Theorem 1, h  ¼ h1+h2. Now assume it holds for n ¼ k  1. Replace cb1 by cbk and cb2 by cbi, i 2 {1, 2, . . . k  1} in the proof of Theorem 1 (i.e. nk is an output node of ni), we again have h  ¼ hk1 + hk ¼ h1 + h2 +    +hk. It holds for n ¼ k because for each case in the proof of Theorem 1, exactly two cb (cbk and cbi) are involved due to the constraint that every state place can use and release exactly one resource. Otherwise, if nk is an output node of another nj, j 2 {1, 2, . . . k – 1} and j 6¼ i, then a circuit with all edges solid exists containing ni, nj, nk in the graph—forbidden.. It is strongly dependent since all the coefficients in the expres& sion for h  are positive (see Definition 15). Starting from the root, perform a breadth-first search. Each time we reach a new node nd from nc, we create a new h ¼ hv + hd for each hv in list lc which includes all h touching (Definition 14) hc. In the case of a dashed edge between nd and a traced node nt, delete all creations where hv touches both hc and ht corresponding to a path from nt to nc. The above method generates all dependent siphons based on the idea that any dependent siphon corresponds to a sub-SCC made of multiple interconnected cb in the resource subnet (see Algorithm 1). The above method constructs a graph where each cb corresponds to a node and each connected component m (with no dashed arcs between nodes in m) in the graph corresponds to a sub-SCC and a dependent siphon. Conversely, each sub-SCC made of multiple interconnected cb corresponds to a m. Thus, it generates all dependent siphons since each of them can be computed using Algorithm 2 from the corresponding sub-SCC. Note that in the worst case, the number b of dependent siphons is O(2h), where h is the number of nodes or basic siphons in the above graph. If h is O(log2jRjf) (f is a constant), then b ¼ O(jRjf) is polynomial. And the above method takes a polynomial time (unlike other methods) with respect to the size of the resource subnet. Finally, we have the following important result. THEOREM 3. For an S4PR, the set of elementary siphons equals that of basic siphons. Proof. The set of all basic siphons plus those constructed from multiple interconnected cb form the set of all SMS. First, we show that any basic siphon is an elementary one. Suppose the h for any basic siphon can be a linear sum of those of other basic siphons, i.e. h is dependent. This implies the SMS constructed from a cb equals that from a number of other cb—contradiction. Next, we show that any elementary siphon S is a basic one. Assume contrarily that S corresponds to a sub-SCC made of multiple cb, by Theorem 2, S is dependent—contradiction. & 7.. CONCLUSION. We have proposed an algebraic approach to compute SMS by computing the new characteristic T-vector z for a cb as a linear sum of zr, r 2 cb. For S4PR, a special subclass of S3PR, the sets of elementary and basic siphons are identical and can be computed without the knowledge of all SMS. An elementary siphon includes all resource places in the circuit plus all input state places of transitions with positive components in z. We have also proposed to build a graph to construct characteristic T-vectors h for all dependent siphons without their computations.. The Computer Journal Vol. 49 No. 4, 2006.

(10) Computation of Elementary Siphons in Petri Nets Because only one resource is used in each job stage and the processes are modeled using state machines in S3PR, its modeling power is limited. It cannot model iteration statements (loop) in each sequential process (SP) and the relationships of synchronization and communication among SP. At any state of a process, it cannot use multi-sets of resources. Future work will extend the technique to more complex nets than S3PR and S4PR. REFERENCES [1] Barkaoui, K. and Abdallah, I. B. (1996) An efficient deadlock avoidance control policy in FMS using structural analysis of Petri nets. In Proc. IEEE Int. Conf. on System, Man, and Cybernetics, San Antonio, TX, pp. 525–530. IEEE, Piscataway, NJ. [2] Banaszak, Z. and Krogh, B. H. (1990) Deadlock avoidance in flexible manufacturing systems with concurrently competing process flows. IEEE Trans. Robot. Automat., 6, 724–734. [3] Lautenbach, K. and Ridder, H. (1996) The linear algebra of deadlock avoidance—a Petri net approach. University of Koblenz, Research Report, Institute for Computer Science, Koblenz, Germany. [4] Hsien, F. S. and Chang, S. C. (1994) Dispatching-driven deadlock avoidance controller synthesis for flexible manufacturing systems. IEEE Trans. Robot. Automat., 10, 196–209. [5] Xing, K. Y., Hu, B. S. and Chen, H. X. (1996) Deadlock avoidance policy for Petri-net modeling of flexible manufacturing systems with shared resources. IEEE Trans. Automat. Contr., 42, 289–296. [6] Park, J. and Reveliotis, S. A. (2001) Deadlock avoidance in sequential resource allocation systems with multiple resource acquisitions and flexible routings. IEEE Trans. Automat. Contr., 46, 1572–1583. [7] Viswanadham, N., Narahari, Y. and Johnson, T. (1990) Deadlock prevention and deadlock avoidance in flexible manufacturing systems using Petri net models. IEEE Trans. Robot. Automat., 6, 713–723. [8] Huang, Y. S., Jeng, M., Xie, X. L. and Chung, S. L. (2001) A deadlock prevention policy for flexible manufacturing systems using siphons. In Proc. IEEE Int. Conf. on Robotics Automation, Seoul, Korea, May 21–26, pp. 541–546, IEEE, Piscataway, NJ. [9] Barkaoui, K. and Abdallah, I. B. (1995) A deadlock prevention method for a class of FMS. In Proc. IEEE Int. Conf. on Systems, Man, and Cybernetics, Vancouver, BC, Canada, October 22–25, pp. 4119–4124, IEEE, Piscataway, NJ. [10] Ezpeleta, J., Colom, J. M. and Martinez, J. (1995) A Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE Trans. Robot. Automat., 11(2), 173–184.. 479. [11] Huang, Y. S., Jeng, M. D., Xie, X. L. and Chung, S. L. (2001) Deadlock prevention policy based on Petri nets and siphons. Int. J. Prod. Res., 39(3), 283–305. [12] Fanti, M. P. and Zhou, M. C. (2004) Deadlock control methods in automated manufacturing systems. IEEE Trans. Syst., Man, Cybern., A: Syst. Humans, 34(1), 5–22. [13] Zhou, M. C. and Fanti, M. P. (2005) Deadlock Resolution in Computer Integrated Systems. Marcel Dekker, New York, NY. [14] Zhou, M. C. and DiCesare, F. (1993) Petri Net Synthesis for Discrete Event Control of Manufacturing Systems. Kluwer Academic Publishers, Boston, MA. [15] Zhou, M. C., DiCesare, F. and Desrochers, A. A. (1992) A hybrid methodology for synthesis of Petri nets for manufacturing systems. IEEE Trans. Robot. Automat., 8(3), 350–361. [16] Iordache, M. V., Moody, J. O. and Antsaklis, P. J. (2001) A method for the synthesis liveness enforcing supervisors in Petri nets. In Proc. Amer. Control. Conf. Arlington, Virginia, June 25–27, pp. 4943–4948. IEEE, Piscataway, NJ. [17] Tricas, F. and Martinez, J. (1995) An extension of the liveness of concurrent sequential processes competing for shared resources. In Proc. IEEE Int. Conf. on System, Man, and Cybernetics, Vancouver, BC, Canada, October 22–25, pp. 4119–4124. IEEE, Piscataway, NJ. [18] Li, Z. and Zhou, M. (2004) Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems. IEEE Trans. Syst., Man, Cybern., A: Syst. Humans, 34(1), 38–51. [19] Ezpeleta, J., Couvreur, J. M. and Silva, M. (1993) A new technique for finding a generating family of siphons, traps, and st-components: application to colored Petri nets. In Rozenberg, G. (ed.), Advances in Petri Nets, 674, pp. 126–147. Springer-Verlag, New York. [20] Lautenbach, K. (1987) Linear algebraic calculation of deadlocks and traps. In Voss, Genrich and Rozemberg (eds), Concurrency and Nets, pp. 315–336. Springer-Verlag, Berlin, Germany. [21] Chao, D. Y. and Nicdao, J. A. (2001) Liveness for synchronized choice Petri nets. Comput. J., 44(2), 124–136. [22] Chu, F. and Xie, X. L. (1997) Deadlock analysis of Petri nets using siphons and mathematical programming. IEEE Trans. Robot. Automat., 13(6), 793–804. [23] Tarjan, R. (1972) Depth-first search and linear graph algorithms. SIAM J. Comput., 1, 146–160. [24] Johnson, D. B. (1975) Finding all the elementary circuits of a directed graph. SIAM J. Comput., 4, 77–84. [25] Cormen, T. H., Leiserson, C. E. and Rivest, R. L. (1992) Introduction to Algorithms. The MIT Press/MacGraw-Hill Book Company, Cambridge, MA. [26] Li, Z. and Zhou, M. (2006) Clarifications on the definitions of elementary siphons in Petri nets. IEEE Trans. Syst., Man, Cybern., A: Syst. Humans, to appear.. The Computer Journal Vol. 49 No. 4, 2006.

(11) Reproduced with permission of the copyright owner. Further reproduction prohibited without permission..

(12)

參考文獻

相關文件

The first row shows the eyespot with white inner ring, black middle ring, and yellow outer ring in Bicyclus anynana.. The second row provides the eyespot with black inner ring

In Case 1, we first deflate the zero eigenvalues to infinity and then apply the JD method to the deflated system to locate a small group of positive eigenvalues (15-20

Quadratically convergent sequences generally converge much more quickly thank those that converge only linearly.

denote the successive intervals produced by the bisection algorithm... denote the successive intervals produced by the

Therefore, it is our policy that no Managers/staff shall solicit or accept gifts, money or any other form of advantages in their course of duty respectively without the

Then, it is easy to see that there are 9 problems for which the iterative numbers of the algorithm using ψ α,θ,p in the case of θ = 1 and p = 3 are less than the one of the

In summary, the main contribution of this paper is to propose a new family of smoothing functions and correct a flaw in an algorithm studied in [13], which is used to guarantee

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005..