Deadlock analysis and control based on Petri nets: A siphon approach review

Deadlocks should be eliminated in highly automated manufacturing systems since their occurrence implies the stoppage of the whole or partial system operation. Over the past decades, Petri nets are increasingly becoming one of the most popular and full-fledged mathematical tools to deal with deadlock problems due to their inherent characteristics. In a Petri net formalism, liveness is an important property of system safeness, which implies the absence of global and local deadlock situations in an automated manufacturing system. The liveness assessment can be performed by verifying the satisfiability of certain predicates on siphons, a well-known structural object in Petri nets. Therefore, siphons have received much attention to analyze and control systems modeled with Petri nets. Particularly, elementary siphon theory plays a key role in the development of structurally simple liveness-enforcing Petri net supervisors, leading to a variety of deadlock control approaches. This survey studies on the state-of-the-art elementary siphon theory of Petri nets including refined concepts of elementary siphons and their extended version, computation methods of siphons and elementary ones, controllability conditions, and their application to deadlock control. As a reference, this work attempts to provide a comprehensive and updated research survey on siphons, elementary siphons, and their applications to the deadlock resolution in Petri nets.


Introduction
An automated manufacturing system (AMS) 1,2 is a system consisting of a set of interconnected stations for material processing that is capable of automatically processing a wide variety of types of pieces simultaneously and controlled by computers. An AMS has characteristics of high degree of automation, high degree of integration, and high degree of flexibility. The flexibility means that a system can swiftly adjust the production volume, the process routing, and the product quality. AMSs offer flexibility and efficiency far beyond traditional material handling requirements. The development of AMSs can trace to the later half of the 20th century, and this manufacturing technique is used in facilities of varying scale all over the world.
Nowadays, information technology is extensively applied to contemporary AMSs, which renders that modern AMSs are becoming software-intensive systems. The reliability, safety, and other miscellaneous requirements of a system are satisfied by control software. Deadlock problems in AMSs [3][4][5][6][7][8][9][10][11][12][13][14][15][16][17]320,326 have received increasing attention from both industry and academy since deadlocks can not only cause a partial or whole stoppage in a system, but also bring about catastrophic consequences in highly automated systems. The occurrences of deadlocks [18][19][20][21] often deteriorate the allocation of resources and may give rise to serious economy loss in highly AMSs.
One of the most interesting past developments is the use of some structural objects to derive livenessenforcing supervisors for Petri nets modeling AMSs. As a major structural object, siphons are closely related to deadlocks. In a Petri net, in case that a siphon is emptied or insufficiently marked, all its related transitions can never be enabled, which indicates the permanent blocking of part or all processes in the net system. Siphons are extensively utilized in the analysis and control of deadlocks in AMSs modeled by Petri nets, leading to a large number of siphon-based deadlock control strategies. However, the power of the siphon-based liveness-enforcing approaches is degraded and deteriorated by the fact that the number of strict minimal siphons (SMSs) in a Petri net grows quickly beyond practical limits and often grows exponentially with respect to the net size. They suffer from the computational complexity problem due to the fact that, generally, a complete siphon enumeration in a Petri net is non-deterministic polynomial (NP)-complete. Furthermore, they usually cause liveness-enforcing Petri net supervisors with more complicated structure than the plant net model that is originally built.
In order to cope with above problems, elementary siphon theory is developed by Li and Zhou. 215,216 SMSs in a Petri net model can be categorized into elementary siphons and dependent ones. The latter can be further distinguished by strongly and weakly dependent siphons. The upper bound of the elementary siphons in a net is no greater than the smaller one of place and transition counts. They prove that in some cases, by designing a monitor for each elementary siphon to make it controlled, deadlock can be successfully prevented. A dependent siphon can be implicitly controlled by properly arranging the number of tokens that can stay at its elementary siphons. The results mentioned above have widely applied to a variety of elementary siphon-related deadlock control approaches 139,[217][218][219][220][221][222][223][224][225][226][227][228][229][230][231][232][233] in the literature. This article mainly aims to reveal, first, how the elementary siphon theory of Petri nets can be used to troubleshoot deadlock problems, and second, how the refined concept of elementary siphons in a Petri net improves the existing deadlock control policies.
The rest of this article is organized as follows. In section ''Siphons and controllability conditions,'' siphons and their controllability conditions are presented. Section ''Elementary siphon theory'' expounds the elementary siphon theory in detail, including the concepts of elementary siphons and augmented ones, as well as their controllability conditions. Section ''Computation of siphons and elementary siphons'' surveys the computation methods of siphons and elementary siphons. The wide applications of siphon-based deadlock control approaches, a complete or partial siphon enumeration, elementary siphons, and related combined techniques are reviewed in section ''Siphon-based deadlock control policies.'' Section ''Concluding remarks'' concludes this article.

Siphons and traps
As a structural object of Petri nets, siphons play a significant role in the analysis of their behavioral properties, particularly liveness. Some major definitions and properties are reviewed first, and more details can be found in the works by Li and Zhou 31 and Murata. 34 Basic definitions and notations can be found in Appendix 1.

Definition 1.
A nonempty place set S P is a siphon if S S . S P is a trap if S S. A siphon (respectively (resp.) trap) is minimal if there is no siphon (resp. trap) contained in it as a proper subset. A minimal siphon S is said to be strict if S & S , that is, it contains no marked trap. Property 1. Let S 1 and S 2 be two siphons (resp. traps). Then, S 1 [ S 2 is a siphon (resp. trap).

Corollary 1.
If I is a P-semiflow, then jjIjj is both a siphon and trap.
Note that, since a P-invariant depends on both the topological structure of a net and the arcs weights, the converse of Corollary 1 is not true. However, a siphon or trap is only related with the topological structure. Corollary 1 indicates that a siphon can never be emptied if it contains the support of a P-semiflow and the support is initially marked. Example 1. Take the net shown in Figure 1 as an example. It has four siphons S 1 = fp 1 , p 2 , p 3 g, S 2 = fp 3 , p 4 g, S 3 = fp 2 , p 3 , p 5 g, and S 4 = fp 3 , p 5 g, where S 1 , S 2 , and S 4 are minimal. By S 4 = ft 2 , t 3 g and , which means that S 4 is an SMS. In Figure 1, S 1 , S 2 , and S 3 are both siphons and traps since S 1 = S 1 , S 2 = S 2 , and S 3 = S 3 . These two properties indicate that once a siphon is emptied, it remains unmarked at any subsequent markings that are reachable from the current marking, and once a trap is marked at a marking, it is always marked at the subsequent markings. An empty siphon S means that 9 = t 2 S , t is enabled. By Definition 1, all transitions belong to the postset of a siphon can never be enabled once it is emptied. Therefore, they are dead, which leads to the fact that a net containing these transitions is not live. As a result, siphons as an important structure object and their markedness or emptiness are closely related with the liveness and deadlock-freedom of a Petri net.

Controllability conditions of siphons
The controllability concept of a Petri net can be found in the works by Murata 34 and Barkaoui and Pradat-Peyre. 234 A net is said to be completely controllable if any marking is reachable from any other marking. 34 In an ordinary Petri net, a siphon is said to be controlled if it cannot be unmarked at any reachable marking. 31,235 If a Petri net is generalized, owing to the weights of arcs, the non-emptiness of a siphon is not sufficient for the absence of dead transitions, and the controllability of a siphon is much more complex. This part reviews the controllability of siphons in the literature.
Ordinary Petri nets. Theorem 1. Let (N , M 0 ) be an ordinary net and P be the set of its siphons. 31,234 The net is deadlock-free if 8S 2 P, 8M 2 R(N, M 0 ), M(S).0.
Theorem 2. Let (N , M) be an ordinary net that is in a deadlock state. 31,234 Then, fp 2 PjM(p) = 0g is a siphon.
Theorem 1 means that if no (minimal) siphon eventually becomes empty, an ordinary Petri net is deadlock-free. Theorem 2 implies that if an ordinary net is dead, then all unmarked places form a siphon.

Corollary 2.
A deadlocked ordinary Petri net contains at least one empty siphon. 31,234 Definition 2. A siphon S is said to be controlled in an ordinary Petri net system (N , M 0 ) if 8M 2 R(N, M 0 ), M(S).0. 31,234 Definition 3. Siphon S in an ordinary net system (N , M 0 ) is invariant-controlled by P-invariant I at M 0 if I T M 0 .0 and 8p 2 PnS, I(p) 0, or equivalently, I T M 0 .0 and jjIjj + S. 31,234 At an initial marking M 0 , if a siphon S is controlled by a P-invariant I, S cannot be emptied, that is, S is marked at any reachable marking M 2 R(N , M 0 ). In essence, the controllability of siphon S by adding a monitor is ensured by the fact that the number of tokens outflows from S is restricted by a marking invariant law imposed on the Petri net, which is implemented by a P-invariant whose support contains the monitor.
Generalized Petri nets. An empty siphon in an ordinary net can cause some transitions to be disabled forever. The case in a generalized Petri net is much more complicated. Owing to the weighted arcs, an insufficiently marked siphon leads to the occurrence of deadlocks. Corollary 3. Let N = (P, T , F, W ) be a deadlocked net at marking M. 31 Then, it has at least one siphon S such that 8p 2 S, 9t 2 p such that W (p, t).M(p).
On the whole, the controllability concept is concerned with the enabling and firing of transitions connected with the considered siphons.

Max-controlled
conditions. Barkaoui and colleagues 234,236 first propose the concepts of maxcontrolled siphons and cs-property (controlled-siphon property) for Petri nets. Barkaoui et al. 237 conclude that an asymmetric choice net with homogeneous valuation is live if it satisfies the cs-property. A marked S 4 PR net is live if it satisfies the cs-property, which means that the cs-property is a sufficient but not necessary condition for the liveness of an S 4 R. 31,238 Definition 4. Let (N , M 0 ) be a net system and S be a siphon of N. 234 S is said to be max-marked at a marking Definition 5. A siphon is said to be max-controlled if it is max-marked at any reachable marking. 234 Definition 6. (N , M 0 ) satisfies the cs-property (controlled-siphon property) if each minimal siphon of N is max-controlled. 234 Property 4. If (N , M 0 ) satisfies the cs-property, it is deadlock-free. 237 Property 5. If (N , M 0 ) is live, it satisfies the csproperty. 237 A siphon satisfying the max-controlled property means that it can be always marked sufficiently to allow firing a transition associated with the siphon once at least. A Petri net is deadlock-free if it satisfies the csproperty. Proposition 1. Let (N , M 0 ) be a Petri net and S be a siphon of N. 234 If there exists a P-invariant I such that 8p 2 (jjIjj À \ S), max p = 1, jjIjj + S and I T M 0 . P p2S I(p)(max p À 1), then S is max-controlled.
Example 2. For the generalized net in Figure 2(a), it has two P-invariants I 1 = p 2 + p 6 and I 2 = p 2 + 2p 3 + p 5 . Trivially, I = I 2 À I 1 = 2p 3 + p 5 À p 6 is also a P-invariant. Let S = fp 3 , p 5 g. Since S & S , S is an SMS. It can be found that jjIjj + = S, jjIjj À \ S = [, and In consequence, S is max-controlled owing to I T M 0 . P p2S I(p)(max p À1). The reachability graph of the net in Figure 2(a) is shown in Figure 2 Barkaoui et al. 237 propose a more important result about the equivalence between liveness and cs-property in an ordered P/T system. Ordered P/T systems (not necessarily bounded) include a number of subclasses of Petri nets, such as asymmetric choice (AC) systems, 234 Join Free (JF) systems, Equal Conflict (EC) systems, 239 and Extended Free Choice (EFC) nets.
Max#-controlled conditions. The max#-controlled condition of siphons is first proposed by Chao 238 in S 4 PR for the sake of reducing the restriction of the max-controlled condition. Zhong and Li 240 refine this concept and develop a formal definition of self-max#controlled conditions for WS 3 PR. They conclude that a WS 3 PR is live if each SMS is self-max#-controlled. Motivated by the work of Chao, 238 Hou et al. 222 propose the formal definitions of max#-controlled conditions for S 4 PR. The following results are mainly from the works by Chao 238 and Hou et al. 222 Let N = (P, T , F, W ) be a Petri net and S P be a subset of places. 238 The subnet generated by X = S [ S is denoted by N S , where N S = (S, S, F X , W X ). The set of input places of N S is called the set of input places of S, denoted as P in S . 222 ) fW (p, t)g.
Definition 9. Let S be a siphon of a well-initially-marked S 4 PR (N , M 0 ). 222 S is said to be max#-controlled if S is max#-marked at any reachable marking M 2 R(N , M 0 ).
Max$-controlled conditions. Liu et al. 201 present the max$-controllability condition of siphons to relax the max#-controllability condition.
Definition 10. Let S be a siphon in a well-marked S 4 PR (N , M 0 ). 201 S is said to be max$-controllable if the following conditions hold: 1. M is an initial marking; 2. 9p 2 S P such that M(p) ! 1; 3. 9r2S R , min P t2T 0 a(t,r)ÁW (t,r)+M(r)!max t 0 2r \½S fW (r,t 0 )g, where T 0 =ftjt2 r\½S , 8r 0 2 t\ P R , M(r 0 ) ! W (r 0 , t), M(P A \ t) ! 1g, a t denotes the times that t is fired from marking M, and min P t2T 0 a t Á W (t, r) can be solved by the following mixed integer program a t 2 N Definition 11. Let S be a siphon in a well-marked S 4 PR (N , M 0 ). 201 S is said to be max$-controlled if Theorem 5. Let (N , M 0 ) be a well-marked S 4 PR. 201 The net is live if all its siphons are max$-controlled.
Max H -controlled conditions. Liu and Barkaoui 241 present the max H -controllability condition of siphons to relax the existing controllability conditions for GS 3 PR nets.
Definition 12. Let S be a strict siphon in a well-marked GS 3 PR net (N, M 0 ). 241 S is said to be max H -marked (non-max H -marked) at M 2 R(N , M 0 ) if at least one (none) of the following conditions hold: 1. 9p 2 S P , M(p) ! 1; 2. 9r 2 S R , M(r) ! max t2T c r W (r, t); 3. 9t 2 T c S , e pt = 1, and e rt = 1 (t is enabled at M).
Theorem 6. Let (N , M 0 ) be a well-marked GS 3 PR net and P 6 ¼ [ be the set of SMS. 241 It is live if 8S 2 P, S is max H -controlled.
W-controlled conditions. A sufficient and necessary siphon (NS) controllability condition named W-control is developed by Guan et al., 242 under which the liveness and maximal permissiveness of a WS 3 PR can be ensured if all its siphons are W-controlled.
Definition 14. Let S be a siphon in a marked WS 3 PR (N , M 0 ). 242 S is said to be W-controlled if S is W-marked at any marking M 2 R(N , M 0 ). Theorem 7. Let (N , M 0 ) be a marked WS 3 PR. 242 The net is live if and only if all its siphons are W-controlled.
Note that max-controllability, 234 max#-controllability, 222,238 and max$-controllability 201 can be utilized in S 4 PR, and all of them are sufficient but not necessary conditions. Max H -controllability and W-controllability are both necessary and sufficient. The former is proposed for GS 3 PR, and the latter is developed for WS 3 PR.

Elementary siphons
The theory of elementary siphons is proposed by Li and Zhou,215 which is essential to the development of a structurally simple monitor-based liveness-enforcing supervisor and has been applied in designing live controlled systems for S 3 PR 235 extensively. It is shown that a dependent siphon can be implicitly controlled by properly supervising the number of tokens staying in its elementary siphons. By explicitly controlling elementary siphons via monitors, a liveness-enforcing controlled system can be found. The following definitions are from the work by Li and Zhou. 215 Elementary and dependent siphons Definition 15. Let S P be a place subset of Petri net N = (P, T , F, W ). 215 P-vector l S is called the characteristic P-vector of S if 8p 2 S, l S (p) = 1; otherwise, l S (p) = 0. h S = ½N T l S is called the characteristic Tvector of S, where ½N T is the transpose of incidence matrix ½N. Definition 16. Let N = (P, T , F, W ) be a net with jPj = m, jT j = n and P = fS 1 , S 2 , . . . , S k g be a set of siphons of N, m, n, k 2 N + . 215 Let l S i (h S i ) be the characteristic P(T)-vector of siphon S i , i 2 N k = f1, . . . , kg. ½l k 3 m = ½l S 1 jl S 2 j Á Á Á jl S k T and ½h k 3 n = ½l k 3 m 3 ½N m 3 n = ½h S 1 jh S 2 j Á Á Á jh S k T are called the characteristic P-and T-vector matrices of the siphons in N, respectively.
, h S g be a linearly independent maximal set of matrix ½h. 215 Then, Theorem 8. jP E j minfjPj, jTjg. 215 The result indicates that the number of elementary siphons in a Petri net is no more than the smaller of place and transition counts. Let P be the siphon set in a net, and P E (resp. P D ) be the set of elementary (resp. dependent) ones within the scope of P. We have Example 4. The Petri net shown in the left of Figure 4 has three SMSs: S 1 = fp 3 , p 6 , p 9 , p 13 , p 14 g, S 2 = fp 2 , p 5 , p 10 , p 12 , p 13 g, and S 3 = fp 3 , p 6 , p 10 , p 12 , p 13 , p 14 g.
We have ½l and ½h as follows It can be verified that Rank½h = jP E j = 2, that is, there are two elementary siphons. If S 1 and S 2 are selected as elementary siphons, S 3 is strongly dependent with h S 3 = h S 1 + h S 2 . If S 1 and S 3 are selected as elementary ones, S 2 becomes weakly dependent, and h S 2 = h S 3 À h S 1 . If S 2 and S 3 are selected as elementary ones, S 1 is weakly dependent.
From Definition 7, a well-initially-marked Petri net indicates that at the initial marking, a siphon has the maximal number of tokens. The controllability conditions of strongly and dependent siphons can be unified to one condition shown as follows. Figure 4. By considering monitors V S 1 and V S 2 , we have As a result, S 3 is max-controlled due to the control by V S 1 and V S 2 .

Augmented elementary siphons in generalized Petri nets
Based on the elementary siphons, a variety of deadlock control policies 216,[229][230][231][243][244][245][246] are developed for synthesizing liveness-enforcement supervisors. However, in generalized Petri nets, multiple resource requirements should be considered sufficiently in identifying a set of elementary siphons. Elementary siphons are further developed for generalized Petri nets. [222][223][224]226 Augmented elementary siphons in WS 3 PR Augmented elementary siphons. The augmented siphon and augmented complementary set of a siphon are defined in the work by Hou et al. 224 for WS 3 PR and then elementary siphons are redefined. The relationship between augmented siphons and their augmented complementary sets is also investigated by fully considering the weights information.
Definition 18. Let S be a siphon in a WS 3 224 A multisetS is the augmented version of siphon S such that (1) jjSjj = S; (2) 8r 2 S R ,S(r) = 1 and 8p 2 S P ,S(p) = I S (p), where r2S R I r (p) and I r is the minimal P-semiflow associated with the resource r.
Definition 18 indicates that a siphon S and its augmented versionS are in one-to-one correspondence. jjSjj denotes the support of the multisetS, and jjSjj = S means that a siphon S and its augmented versionS have same elements.S introduces the weighted relationship of an operation place p utilizing a resource r in S, where p, r 2 S.
Controllability of augmented dependent siphons. In a WS 3 PR, all SMSs are divided into the sets of augmented elementary and augmented dependent ones. The condition in Corollary 5 is still valid, under which an augmented dependent siphon can be always maxmarked if their augmented elementary ones are properly controlled.
Augmented elementary siphons in GLS 3 PR. Elementary siphon theory is further improved by Hou et al. 223 for a class of generalized Petri nets, namely, GLS 3 PR that is more general than WS 3 PR. The following results are from the work by Hou et al. 223 Augmented elementary siphons. By fully investigating the net structure, especially weights information, the set of elementary siphons obtained by the improved method is more compact and well suits for GLS 3 PR.  3 PR. 8r 2 P R , t 2 r, t 0 2 r , if 9 = t 00 2 r [ r such that t 0 \ N t 00 and t 00 \ N t, then t 0 and t are called a transition-pair (t-pair for short) of r, denoted as ht 0 , ti. 3 PR. 8r 2 P R , H(r) = jjI r jjnfrg, the operation places that use r, is called the set of holders of r. Its multiset version is H r = I r À r. Let ht 0 , ti be a t-pair of r. h t (r) = fpjt 0 \ N p, p\ N t, p 2 H(r)g, the operation places that use r between t 0 and t, is called the set of holders of r with respect to t-pair ht 0 , ti. Its multiset version is h t r = P p2h t (r) I r (p)p.
Elementary and dependent siphons defined in Definition 17 are originally proposed and further clarified in the work by Li and Zhou. 215,216 In order to differentiate from the augmented elementary ones, elementary (resp. dependent) siphons obtained by Definition 17 are called the original elementary siphons, denoted as P E O (resp. P D O ).

Definition 27.
Let P E O (resp. P D O ) be a set of original elementary (resp. dependent) siphons and P E A (resp. P D A ) be a set of augmented elementary (resp. dependent) siphons in a GLS 3 is called a set of elementary (resp. dependent) siphons of N. Property 6. Let P be a set of SMSs in a GLS 3 PR. Then, The net in Figure 6 is a GLS 3 PR with three SMSs S 1 , S 2 , and S 3 , where S 1 = fp 3 , p 4 , p 5 , p 10 , p 11 , p 12 g, S 2 = fp 4 , p 5 , p 8 , p 9 , p 12 , p 13 g, and S 3 = fp 4 , p 5 , p 8 , p 10 , p 11 , p 12 , p 13 g. The corresponding augmented siphons areS 1 = fp 3 , p 4 , p 5 , p 10 , p 11 , p 12 g, One can obtain l e S 1 = p 3 + p 4 + p 5 + p 10 + p 11 + p 12 l e S 2 = 2p 4 + p 5 + 3p 8 + 2p 9 + p 12 + p 13 l e S 3 = 2p 4 + p 5 + p 8 + p 10 + p 11 + p 12 + p 13 Hence, we have It can be verified that rank½h = 2 with By Definitions 17, we have Hence Then, rank½h = 3, implying that all SMSs are original elementary. In this example, the improved elementary siphon method can lead to a compact set of elementary siphons. According to Definition 27, we By Definition 28, ½S 1 = p 2 + 2p 8 + 2p 9 , ½S 2 = p 3 + p 7 , and ½S 3 = p 2 + p 3 + p 7 + 2p 8 + 2p 9 . It is found that ½S 3 = ½S 1 + ½S 2 , corresponding to Controllability of dependent siphons. In the work by Hou et al., 223 the elementary (resp. dependent) siphons consist of original and augmented parts. Obviously, the condition in Corollary 5 holds for all original dependent siphons. Moreover, it is proved that the condition in Corollary 5 is also applicable to augmented dependent siphons. The controllability of improved dependent siphons obtained by Definition 27 can be ensured by properly supervising their elementary siphons in GLS 3 PR nets.   1. P E A = fS a , S b , . . . , S g g is called a set of augmented elementary siphons in N if hS a , hS b , ., hS g (fa, b, . . . , gg N k ) are a linearly independent maximal set of matrix ½h; 2. S 6 2 P E A is called a strongly augmented dependent siphon if hS = P 3. Let P (resp. P D A ) be the set of SMSs (resp. augmented dependent siphons), is called the set of elementary (resp. dependent) siphons of N.
Lemma 4. Let P be a set of SMSs in an S 4 PR. Then, We have Rank(½h) = 5, h S 5 = h S 1 + h S 2 , and h S 7 = h S 1 + h S 6 . It can be concluded that P E O = fS 1 À S 4 , S 6 g and P D O = fS 5 , S 7 g.
Accordingly, the corresponding ½l and ½h are shown as follows It is verified that Rank(½h) = 5, hS 6 = hS 2 + hS 4 À hS 3 , and hS 7 = hS 4 + hS 5 À hS 3 . P E A = fS 1 À S 5 g and P D A = fS 6 , S 7 g can be obtained by Definition 34. By Definition 35, P E = P E O \ P E A = fS 1 À S 4 g and P D = P D O [ P D A = fS 5 À S 7 g can be obtained.  fW (p, t)g À 1).
Theorem 16. An augmented dependent siphon S in an S 4 PR is max#-controlled if M 0 (S).  Corollary 7. Let S 1 2 P D O and S 3 2 P D A be dependent siphons in a net (N , Example 9. For the net shown in Figure 7, take S 4 = fp 6 , p 9 , p 10 , p 15 , p 16 g as an example. Note that ½S 4 = ft 4 , t 5 , t 8 g, we have p 15 \ (½S 4 \ P in S 4 ) = ft 8 g and It is obvious that the max-controlled condition is more conservative than the max#-controlled condition. For

Siphons computation
Siphons can be used to characterize deadlock states and solve deadlock problems in Petri nets. Siphon-based deadlock prevention control policies need the set of minimal siphons to be computed. Hence, a lot of studies have been devoted to siphons extraction, especially SMSs.
The work by Abdallah et al. 247 is usually considered as an earlier and seminal research to compute minimal siphons in an ordinary Petri net. For an S 3 PR, an efficient algorithm for finding minimal siphons based on a logic programming approach is established. Suffering from the fact that the number of siphons grows quickly with the size of a net, the computation is usually timeconsuming. To address the minimal siphon enumeration problem, an iterative method is proposed by Cordone et al. 248 based on a partitioning strategy, with additional place constraints. The method is claimed to be rather efficient, which can find 2 3 10 7 siphons within 1 h.
Chu and Xie 249 present a deadlock detection method by solving a mixed integer programming (MIP) problem, which can effectively avoid a complete siphon enumeration. It opens a new avenue for improving the computational efficiency of siphon-based deadlock prevention policies in large-scale systems. Huang et al. 250 and Li et al. investigate methods for extracting minimal siphons from a maximal unmarked siphon that can be derived by an MIP method. A software package that can achieve the method is developed by Liu et al. 197 Similar works on minimal siphon extraction based on the MIP method are reported by Li et al. 251 and Li and Li. 228 To eliminate the minimal siphon extraction step, the work by Chao 252 proposes a revised MIP method to directly compute unmarked siphons with a minimal number of places.
An algorithm with polynomial complexity is proposed by Barkaoui and Lemaire 184 to decide whether a set of places is a minimal siphon. A series of classic and typical siphon computation methods are presented in the works by Barkaoui et al., 253 Ezpeleta et al., 254 Lautenbach, 255 Wang et al., 256 and Yamauchi and Watanabe. 257 Binary decision diagrams (BDD) have the capability of representing large sets of data with small shared data structures. Chen and Liu 258 present a symbolic approach to find minimal siphons of Petri nets using BDD. Formally representing all siphons by a Boolean function, minimal siphons are identified from all the siphons using BDD. The authors concluded that the computation of finding all siphons is efficient; however, identifying minimal siphons is time-consuming.
Tricas and Ezpeleta 259 show how the special syntactical constraints of S 4 PR can help in developing specific implementations to compute siphons in a very efficient way. A parallel solution to compute siphons is established by Tricas and Ezpeleta. 260 Boer and Murata 261 introduced a sign incidence matrix which can be used as a new approach to structural analysis of Petri nets. The presented algorithm can find basis siphons. The placeminimal siphons play a central role in the algorithm.
Resource-transition circuits can be used to characterize deadlocks. 262 The relationship between siphons and maximal perfect resource-transition circuits is explored by Xing et al. 136 An algorithm for computing all SMSs is proposed by Wang et al. 263 based on resource circuits in S 3 PR. In this work, the concepts of loop resource subsets and their characteristic resource subnets are proposed, and sufficient and necessary conditions for loop resource subsets to generate SMS are established. However, the method needs to generate all the characteristic resource subnets and strong connectivity of each characteristic resource subnet, which makes the method tedious. The work by Liu et al. 264 improves the method in the work by Wang et al. 263 by introducing critical resource places and their related multi-way holder places, from which whether a loop resource subset can derive an SMS can be decided directly.
Chao made much work in the computation of minimal and elementary siphons in resources allocation systems (RASs). By the concept of handles and bridges, 265 Chao 266 proposed a computational approach of minimal siphons. The work by Chao 252 develops an MIP-based siphon computation method. For an RAS that can be decomposed into a number of synchronized choice nets interconnected by resource places, an efficient approach of extracting SMSs in an incremental fashion rather than the traditional global is investigated by Chao. 267

Elementary siphons computation
Computation of elementary siphons proposed by Li et al. 268 is essential for deadlock control; however, it is expensive since a complete siphon enumeration is needed. They assume that the siphon constructed from each resource circuit is elementary and proposed a polynomial algorithm to compute elementary siphons. The work by Chao 219 develops a polynomial algorithm to find elementary siphons, which also constructs all SMSs on the way. The reason is that in the method proposed by Li and Zhou, 269 a linear algebraic expression must be established for each dependent siphon, which implies that all SMSs must be located. However, all elementary siphons with polynomial complexity can be located.
Chao 217 presents the T-characteristic vector z to compute SMSs for S 3 PR in an algebraic fashion. Elementary siphons can be constructed from elementary circuits. Thus, the set of elementary siphons can be computed without the knowledge of all SMSs. Based on the concept of handles and bridges, 265 another elementary siphon computation method is developed by Chao. 218 Based on graph theory, Wang et al. 233 propose a polynomial complexity algorithm to find a set of elementary siphons for a linear system of simple sequential processes with resources (LS 3 PR). The algorithm is established through the use of a resource directed graph and complementary sets of SMSs. The upper bound of the SMSs is identified. By considering the arc weights information and multiple resources utilization, Hou et al. further investigate the graph theory-based elementary siphon computation method for generalized Petri nets, WS 3 PR and GLS 3 PR. Initial resource weighted digraphs and restricted subgraphs are proposed for WS 3 PR and GLS 3 PR, respectively, from which all SMSs and elementary siphons can be derived. The related works can be found in the studies by Hou et al. 223,224 Li et al. 270 propose an iterative algorithm to extract a set of elementary siphons in S 3 PR. By an MIP method, the algorithm finds a maximal unmarked siphon at each iteration, classifies the places in it, extracts an elementary siphon from the classified places, and adds a new constraint in order to extract the next elementary siphon. The algorithm iteratively executes until no new unmarked siphons can be found.
A unique set of elementary siphons is obtained finally, and a complete siphon enumeration is avoided.
The work by Liu et al. 271 establishes a polynomialtime complexity algorithm for enumerating elementary siphons in a subclass of Petri nets, basic systems of simple sequential processes with resources (BS 3 PR), with polynomial-time complexity. By combining a graph-based technique, elementary RTCs are computed initially, from which MPCs can be derived. Then, a subset of SMSs is obtained from a subset of MPCs by the one-to-one relationship between MPCs and SMSs. A maximal set of linear independent rows of the characteristic T-vector matrix of the obtained subset of SMSs is computed by the Gauss elimination method, which corresponds to a set of elementary siphons. Some similar works can be found in the study by Wang et al. 272 for a linear simple sequential process with resources.

Siphon-based deadlock control policies
As a significant structural object, siphons are extensively employed to implement a large number of deadlock control methods for AMS modeled by Petri nets. This section mainly reviews siphon-based deadlock control methods in terms of siphon enumeration, elementary siphon theory, and other combined analysis techniques.

Complete siphon enumeration
As for the structural analysis techniques of Petri nets to prevent deadlocks in AMS, the seminal work conducted by Ezpeleta et al. 235 is usually considered to be a classical contribution to develop the monitor-based liveness-enforcing supervisors for Petri nets. By considering a class of ordinary Petri nets, namely, S 3 PR nets, the relationship between SMSs and the liveness is revealed. For each unmarked SMS, a monitor is added such that it can be controlled, while all output arcs of additional monitors should point to the source transitions of the net model. After all siphons are controlled, it can be verified that the net system is live. The major advantage of this approach is that a plant net model and its supervisor are successfully separated. However, it also suffers from the issues of structural complexity, behavioral permissiveness, and computational complexity. As is well known, the number of SMSs grows exponentially with respect to the size of a net model in the worst case. From this method, the number of additional monitors is equal to that of all SMSs since every unmarked SMS needs a monitor to prevent from being emptied, resulting in high structural complexity. Second, the permissive behavior of the controlled system is overly restricted since all output arcs are directed to the source transitions. The computational complexity stems from the complete siphon enumeration. The following years after 1995 have seen that a great deal of attention is focused on the aforementioned problems.
As is gradually recognized, the limited behavioral permissiveness flaws the notable deadlock prevention policy in the work by Ezpeleta et al. 235 Based on the concepts of perfect-resource-transition circuits (PRTcircuits) and their saturated states, Xing and Hu 262 successfully develop a liveness-enforcing Petri net supervisor for S 3 PR with maximally permissive behavior and a minimized number of additional monitors. Since a saturated PRT-circuit of the S 3 PR net implies the existence of circular wait that is tied to deadlock states, the liveness condition in the work by Xing and Hu 262 is characterized by the fact that no PRT-circuit can reach a saturated state at any reachable marking of the system.
Starting from PRT-circuits, elementary maximal PRT-circuits are defined by Xing et al. 273 Accordingly, all elementary RTCs and their maximal PRT-circuits are recursively constructed using the graph theory. It is worth noting that the RTC and siphons are two different structural objects of Petri nets. The work by Xing et al. 273 establishes two kinds of deadlock control methods by computing all maximal PRT-circuits and SMSs. Furthermore, a one-to-one correspondence between SMS and maximal PRT-circuits and equivalence relation between two deadlock control methods are presented.
Siphon-based deadlock control often suffers from reaching fewer states than the maximally permissive one. Chao and Liu 274 report an alternative control to reach the same good states as that based on the theory of regions, but with fewer monitors, by refining some monitors into several monitors with smaller controller regions. More states can be reached since the controller region is less disturbed by covering only a place in a subregion where only one place is marked at any reachable marking. Subsequently, Chao et al. 275,276 propose a new approach that recovers the system from emptysiphon states to its former live states. The significance of this approach lies in the fact that the same number of states as the original uncontrolled model can be reached and yet using fewer monitors. Unfortunately, those methods suffer from material loss by aborting some operations.
A monitor-based liveness-enforcing Petri net supervisor derived from siphons has suffered from high structural complexity when the number of siphons is large. To obtain a small-sized Petri net controller, Liu et al., 277 pioneer in the concept of a controllable siphon basis, proposed a new criterion for selecting a proper subset of siphons for control. By utilizing a controllable siphon basis, a novel deadlock prevention policy is developed such that a liveness-enforcing supervisor is derived after adding a monitor to each SMS in a controllable siphon basis. It is shown that the number of additional monitors is the same as that of SMSs in the controllable siphon basis, while the latter is no more than that of the operation places in an original Petri net. In the work by Liu et al., 277 it proves that there is no relationship between a controllable siphon basis and a set of elementary siphons. That is to say, the controllable siphon basis and a set of elementary siphons are totally different subsets of SMS in an S 3 PR.

Partial siphon enumeration
Due to the inherent characteristics of Petri nets, the computational complexity has been a major problem when siphon-based deadlock prevention policies are developed. An efficient way of improving the computational efficiency of a siphon-based deadlock prevention policy is the introduction of the MIP-based deadlock detection method pioneered by Chu and Xie, 249 which can successfully avoid the explicit enumeration of all SMSs and open a new research avenue.
Based on this method, Huang et al. 250 first propose an iterative two-stage deadlock prevention policy for an S 3 PR. The first stage is called siphon control, where a maximal unmarked siphon is obtained by solving an MIP problem at each iteration, from which an SMS can be derived. A monitor is added for each SMS to ensure its controllability using the invariant-controlled method as done by Ezpeleta et al. 235 The aforementioned steps are iteratively executed until all siphons in the net are controlled. Then, the first stage terminates, whose termination leads to an augmented net system. At the second stage, namely, control-induced siphon control, the MIP-based deadlock detection method is further applied to the augmented net. After solving an MIP problem, a minimal siphon that contains at least one monitor is found. Then, additional monitors can ensure the controllability of siphons. Note that any output arc of the monitors added in the second stage should point to the source transition of the net model. Similarly, the step is repeated until no unmarked siphon can be found, implying that liveness is achieved. To some extent, this approach enjoys high computational efficiency compared with the existing ones in the literature at that time.
The two-stage method 250 is further improved by Hong et al. 278 by introducing an additional algorithm for removing the redundant constraints. The policy improves the behavioral permissiveness and greatly enhances the structural simplicity of a supervisor. Later, the MIP-based idea is applied to S 4 PR 279 and G-system 280 that are more general classes of Petri nets than S 3 PR.
The MIP-based deadlock detection method is then used by Huang et al. 141,281 Huang et al. 281 further extend the MIP method to propose an iterative siphon-based control policy for S 3 PMR nets. Two kinds of control places, called ordinary control (OC) places and weighted control (WC) places, are added to the original system to prevent siphons from becoming unmarked. 281 Note that the presence of WC places renders that the net is a generalized one, which is harder to analyze, and it is unclear how the traditional MIP is modified. Furthermore, the major technical problem in the work by Huang et al. 281 is the existence of redundant siphons. As a matter of fact, the work by Shih and Chao 282 can be considered as an improvement in the iterative MIP method, which presents a theory to determine the sequence of adding monitors to avoid redundant monitors and the conditions where WC places are redundant.
Li et al. 251,283 propose the iterative siphon-based control policies by utilizing the MIP and the new concept of necessary siphons (NSs). Since those deadlock prevention policies make each NS that contains the minimal number of resource places explicitly controlled in the iteration, while other siphons that have more resource places are implicitly controlled, the livenessenforcing supervisors with a simple structure can be usually obtained.
To avoid the addition of the corresponding monitors, the redundant test of NSs is further carried out under a certain condition. 283 Based on MIP and the concept of implicit places (IPs), Li and Li 284 develop a novel iterative algorithm for simplifying the structural complexity for a live Petri net. Under the condition that liveness is preserved, necessary and redundant monitors can be identified stepwise when computing a feasible solution of an MIP at each iteration. The former and the latter are then kept in or removed from the live controlled system, respectively. As a result, a live Petri net with a simpler structure is obtained.
Li and Li 228 proposed a revised mixed integer programming (RMIP) method to directly solve siphons with the minimal cardinality as well as the minimal number of resource places, called smart siphons. Based on this, an iterative siphon-based control method adopting the proposed RMIP is designed to eliminate deadlocks in Petri net models. Since the solved smart siphons contain the minimal number of resource places, this approach may reduce the possibility of adding redundant monitors to some degree, leading to a livenessenforcing supervisor with a simple structure. Later, Li et al. 285 extend the RMIP method to directly solve new smart siphons (NSSs) associated with deadlocks and livelocks in Petri net models. Consequently, deadlocks and livelocks can be eliminated when all NSSs are max#-controlled and no smart siphons can be found.

Elementary siphon-based approaches
As mentioned previously, the policy in the work by Ezpeleta et al. 235 suffers from the issue of structural complexity since the method needs to design additional monitors for all SMSs. When considering a large-scale net system, too many monitors are added such that the resulting supervisor is structurally complex in theory. If any difference or relationship among SMSs can be deeply revealed, the structural complexity may be effectively alleviated. This problem has remained open for many years until the elementary siphon theory came into being.
The concept of elementary and redundant siphons is first proposed by Li and Zhou, 215 while the latter are subsequently renamed as dependent siphons. 216 From the deadlock control policy by Li and Zhou, 215 all problematic siphons in an S 3 PR are classified into elementary and dependent siphons. The latter are further separated into weakly and strongly dependent ones by identifying whether the coefficients of linear combination are all positive or not. It is shown that the number of the elementary siphons in a net is no greater than the smaller of place and transition counts. Moreover, a dependent siphon can be controlled by properly supervising its related elementary siphons. For deadlock prevention, strategies that control requirements are achieved by adding monitors; it is of significance that dependent siphons can be implicitly controlled via explicit controlling their elementary siphons by adding monitors and properly arranging the tokens in the monitors. In general cases, the policy by Li and Zhou 215 can lead to a structurally simple livenessenforcing supervisor.
From the policy by Li and Zhou, 215 the controllability of a dependent siphon is investigated according to the elementary siphons that are invariantly controlled. In the work by Li and Zhou, 230 a dependent siphon controllability condition is developed, which is more general than that in the work by Li and Zhou. 215 Li and Zhao extend such a result to a class of generalized nets in the work by Li and Zhao 243 on the basis of the max-controlled condition of siphons. 234 However, it suffers from the computational complexity and behavioral permissiveness issues as in this 243 policy since the computation of elementary siphons relies on a complete siphon enumeration.
The work by Li et al. 286 aims to tackle the issues on the computational complexity and restricted behavior in the work by Li and Zhou. 215 The MIP-based deadlock detection method is first applied to derive a maximal unmarked siphon on condition that the plant model itself is not live, from which an SMS is computed. If it is an elementary siphon, then a monitor is added such that it is controlled. If it is dependent with respect to the elementary siphons that are already found, its controllability is ensured by properly setting the control depth variables of its elementary siphons. In the work by Li et al., 286 monitors are added for elementary siphons only based on the elementary siphon theory. In addition, it can be concluded that this approach improves the computational complexity by comparing with that in the work by Li and Zhou 215 due to the partial siphon enumeration.
Unfortunately, the behavioral permissiveness of the resulting supervisors designed by the policies in the works by Li and Zhou 215 and Li et al. 286 is quite restricted since the output arcs of the additional monitors point to the source transitions that represent the entry of raw parts of the system. To ameliorate the aforementioned problem, Li and Zhou 287 propose an algorithm for rearranging the output arcs of the additional monitors. From the viewpoint of structural complexity, computational complexity, and behavioral permissiveness, this policy seems to simultaneously address these issues in a reasonable way.
An MIP-based two-stage iterative policy is proposed by Huang et al., 250 which makes a number of improvements compared with the work by Ezpeleta et al. 235 However, the structural complexity problem of a liveness-enforcing supervisor has not significantly improved. By utilizing the concept of elementary siphons, Huang 141 proposes an improved two-stage control policy for S 3 PR nets. The major difference in the policy by Huang et al. 250 is in first stage. The first stage in the work by Huang 141 finds the set of elementary siphons in an S 3 PR net model provided that all SMSs are known. Then, a monitor is added for each elementary siphon. Compared with the policy by Huang et al., 250 it is shown that fewer monitors are needed. Later, Zhao et al. 246 further extend the iterative method to a more general class, called S 4 PR nets.
In order to achieve a better method that can precisely and immediately decide the controllability of dependent SMSs via their elementary siphons' control without using the time-consuming MIP tests, the work by Liu et al. 288 proposes a more precise sufficient condition for the controllability of dependent SMSs and proves that it is better than the condition in the work by Li and Zhou. 215 Moreover, a relationship between the complementary set of a weakly dependent SMS and that of its corresponding elementary ones is presented and proven. Accordingly, a new deadlock prevention policy is developed by taking the advantages of the methods by Ezpeleta et al. 235 and Li and Zhou. 215 Generally, the concept of elementary siphons can clearly and completely indicate the relationship between elementary and dependent siphons in an ordinary net. For an S 3 PR net, the studies by Hou et al. 289,290 explore the controllability conditions of a siphon composed of two and three elementary siphons, respectively, which are considered as further applications of elementary siphons of Petri nets. Under these sufficient conditions, a maximally permissive liveness-enforcing supervisor expressed by a set of monitors can be always decided by an algorithm with polynomial complexity for an S 3 PR. It can be concluded that for any S 3 PR, there exist initial markings such that a maximally permissive liveness-enforcing supervisor can be always found. These developments are based on the computation of elementary siphons and siphons composition operations, which has been shown to be of polynomial complexity with respect to the size of a considered Petri net model.
Since the weight of an arc can be greater than one and an operation place can use multiple resource types in a generalized net, the selection of elementary siphons and their controllability still need improvements in generalized Petri nets. Consequently, the augmented elementary siphon theory is established by sufficiently considering the requirement of multiple resource types by an operation and its weight information. In the work by Hou et al., 224 the concept of augmented siphons is first proposed for extending the elementary siphon's application to a class of generalized Petri nets, WS 3 PR. An augmented siphon is a multiset that reflects the weights information of resource places contained by its original siphon. Among augmented siphons, the elementary siphons are also redefined, from which an elementary siphon set that strongly connects the system structure can be found for WS 3 PR nets. Moreover, on the basis of graph theory, initial resource weighted digraphs are presented for WS 3 PR, and the concept of isomorphic structures of Petri nets is also introduced. It is shown that the same set of elementary siphons can be admitted by all different WS 3 PR systems with isomorphic structures. Later, the work by Hou and Zhao 225 further updates the method proposed by Hou et al. 224 in a more general class of Petri nets, GLS 3 PR.
Motivated by finding a set of more proper and compact elementary siphons, the concept of augmented siphons is further proposed by Hou et al. 223 within a class of generalized Petri nets, called GLS 3 PR nets. The key contributions by Hou et al. 223 are twofold. First, the supremum of the number of augmented elementary siphons is found according to the relationship between siphons and their restrictive induced subgraphs, which is not greater than that of strongly connected restrictive induced digraphs that cannot be composed. Second, the number of elementary siphons obtained by this method is less than or equal to that obtained in the work by Li and Zhou. 215 For better improving both the structural complexity and behavioral permissiveness, Hou et al. 222 propose the augmented siphons and redefined elementary siphons in S 4 PR nets. The max#-controlled property is exposed such that the siphon controllability condition is relaxed. Furthermore, more permissive behavior is obtained through the rearrangement of the output arcs of monitors. Hou et al. 222 develop a deadlock control method by combining the deadlock avoidance policy with elementary siphon theory such that all siphons are max#-controlled after adding a monitor for each elementary siphon.
Abdul-Hussin 291 develops an elementary siphonbased deadlock control policy to ensure that all siphons are controlled and no emptiable control-induced siphons can be introduced. The work by Qin et al. 232 develops an elementary siphon-based policy to design a liveness-enforcing supervisor for an S 3 PR with uncontrollable and unobservable transitions. For all the elementary siphons, their complementary sets are successively expanded by considering the unobservability and uncontrollability of transitions. Monitors are added for the expanded complementary sets. This approach permits that there are arcs from monitors to a set of special uncontrollable transitions.

Combined techniques
Although the elementary siphon-based approaches play an important role in deadlock control for AMS, it also has several explicit drawbacks. First, elementary siphons merely reflect the topological structure of a net without carrying any dynamical evolution information. Second, the liveness-enforcing supervisors derived by elementary siphon-based methods are usually not optimal. Finally, the approaches on the basis of elementary siphon theory can only be applied to some special classes of Petri nets. Thus, much more attention has been paid to the combination of the state space and structural analysis.
Piroddi et al. 292 develop a selective siphon control policy that can obtain a small-sized supervisor with highly permissive behavior. Siphons are divided into essential and dominated ones. The controllability of an essential siphon implies that of its dominated siphons. At each iterative step, the complete enumeration of all siphons and dominated markings are required. Moreover, an essential siphon is distinguished by solving a set covering problem. Unfortunately, the computational complexity in theory is still exponential with respect to the size of a Petri net. In addition, in general, the policy in the work by Piroddi et al. 292 cannot lead to an optimal liveness-enforcing supervisor.
After the computational complexity problem is recognized, Piroddi et al. 293 improve the method shortly by utilizing the MIP-based deadlock detection method. Benefiting from the MIP method, a complete minimal siphon enumeration is avoided. They claim that the improved policy is computationally competitive. Later, Wang et al. 294 outline the iterative method proposed by Piroddi et al. 293 in detail. By contrast, the methods by Chao and colleagues 138,295,296 can avoid both enumerating all minimal siphons and computing the reachability graph. Also, no iterations are required and there is no need to remove redundant monitors. It lists all such lost states and computes the lost states without reachability analysis but based only on the knowledge of which siphon is responsible for the lost states and some place invariants (PIs).
As known, the theory of regions can usually lead to a maximally permissive supervisor if it exists. However, it often faces the state explosion problem with an increase in the initial markings. Wei and Li 245 propose a new methodology by combining the theory of regions and elementary siphons. First, using the theory of regions, a maximally permissive liveness-enforcing supervisor for a net model is designed at a small initial marking. After that, all SMSs are computed and separated into elementary siphons and dependent ones. Then, the algebraic expressions among the markings of the monitors and the resource places are explored on the premise that the supervisor is live and maximally permissive, that is, all SMSs are controlled by the monitors. When the initial markings of the plant change, a new supervisor with the same structure can be determined by reallocating the initial tokens in monitors via the obtained expressions. That is to say, the theory of regions is in fact used to derive the net structure of a supervisor by arranging small initial markings. The contributions by Wei and Li 245 are twofold. One is that the state explosion problem may not occur after the theory of regions has once been applied to a plant with fixed net structure. The other is that the permissive behavior of the liveness-enforcing supervisor is nearoptimal.
To lower the computational cost of utilizing the theory of regions, Li et al. 244 develop a two-stage deadlock prevention policy by integrating siphon control and the theory of regions. The first stage, called siphons control, is to add monitors for all SMSs identified through resource circuits such that it is optimally invariant controlled. Note that siphon identification and control is of polynomial complexity. In the second stage, the theory of regions is utilized to derive a supervisor for the augmented Petri net. Since the siphon control stage is optimal from the view of deadlock prevention point, the final supervisor will be still optimal if such a supervisor exists. The combined approach can produce a maximally permissive liveness-enforcing supervisor for an S 3 PR model and is more efficient than using the theory of regions alone.
Later, a new definition of the marking/transitionseparation instances (MTSIs) is proposed by Huang and Pan, 297 called crucial marking/transition-separation instances (CMTSIs), which is the foundation of MTSI. The most attractive advantage of this approach is that the computation cost can be alleviated due to the involvement of few MTSIs. Experimental results show that a maximally permissive liveness-enforcing supervisor with efficient computation can be implemented by the proposed control policy. Further research on CMTSIs is reported by Chao. 298 The work by Chao and Wu 299 contributes an integrated approach that combines the elementary siphonbased controlled policy in the work by Li et al. 244 with the seminal recovery methods reported by Chao and colleagues. [274][275][276] It is claimed that the method reaches more states and uses fewer monitors. The first stage is the same as the methods by Li et al. 244 and Huang and Pan, 297 that is, a partially controlled model is obtained by adding monitors to all emptiable resource siphons. The second stage adapts a deadlock detection and recovery method in the work by Chao et al. 275 to add only one monitor, taking much less time compared with those in the works by Li et al. 244 and Huang and Pan. 297 Without solving a large number of inequalities in MTSIs as required by the method in the work by Li et al. 244 to reduce the number of MTSIs and the CMTSIs method in the work by Huang and Pan, 297 the proposed method is more efficient. The resulting controller is maximally permissive as some methods in the works by Li and colleagues. 244,300,301 Further work about the combination of the selective siphons and CMTSIs can be found in the work by Pan et al., 302 which improves the computational efficiency and reduces the number of CMTSIs.
The previous work by Chao and colleagues 282,303 avoids reachability analysis by classifying siphons and adding monitors to critical siphons only. However, some live states may lose and the number of monitors required is as many as that of critical siphons. Based on these results, a novel method is developed to merge several monitors into a single one while not losing the live states by Liu et al. 304 It achieves the same best results in the existing literature while avoiding the timeconsuming reachability analysis which does not scale well with the large size of the nets. For a well-known benchmark, the siphon-based merging method in the work by Liu et al. 304 may not achieve minimal configuration. Although we could reduce one monitor, which monitor to choose to merge seems to be ad hoc. It is unclear how to select a monitor to reduce for large nets. The work by Chao 305 further tackles such an issue successfully using the concept of basic siphons.
The work by Wang et al. 294 reviews the existing iterative control policies of discrete event system (DES) modeled with Petri nets and reveals a few technical problems among them. Experimental results indicate that the suitability, effectiveness, and efficiency of an iterative deadlock control approach are sensitive to specific examples, and no general algorithm is found in the literature, which works well for all cases.
Afterward, the simulation with respect to existing deadlock prevention policies and different Petri net models is implemented by Nasr et al., 142 which explores whether a liveness-enforcing Petri net supervisor can provide better time performance. Abouel Nasr et al. claim that, compared with the siphon-based methods, the iterative methods always lead to structurally and computationally complex liveness-enforcing supervisors. In addition, iterative methods can provide better behavioral permissiveness than siphon-based methods for small-scale systems. For large systems, an SMSbased method can obtain better behavioral permissiveness than the other methods.
For a dozen of years, we have witnessed that the results are much enriched in the area of siphon control and other iterative methods. However, it could not be denied that many interesting problems remain unsolved in terms of application scope, behavioral permissiveness, computational efficiency, and supervisor's structural complexity. Moreover, there are several survey papers and books that investigate the supervisory control problems of DES using Petri nets. 306,307 Concluding remarks In most cases, the deadlock prevention policies characterize the deadlock behavior of a system in terms of siphons in its Petri net model and utilize this characterization to control the net. Siphon control provides an effective way to prevent the occurrence of deadlocks. A basic task with respect to siphon-based deadlock control is to design a liveness-enforcing supervisor by considering three performance indicators: structural complexity, computational efficiency, and behavioral permissiveness. Nowadays, the concept of elementary siphons either in ordinary or generalized Petri nets plays a key role in the development of structurally simple liveness-enforcing Petri net supervisors. This article focuses on investigating the state-of-the-art elementary siphon theory of Petri nets including basic concepts, siphons and elementary siphons computation, controllability conditions, and deadlock control applications. The survey is expected to be a reference to guide the researchers and practitioners for choosing suitable methods for their research works and industrial application cases.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article. 6. The three following statements are verified: (1) W (p, t) = 1 and W (t, p) = 1, 8p 2 P A [ fp 0 g, 8t 2 T , (2) W (r, t) ! 1 and W (t, r) ! 1, 8r 2 P R , 8t 2 T , and (3) two arcs of any arc pair have the same weight.

GLS 3 PR.
Definition 42. An S 2 P N = (P A [ fp 0 g, T , F) is a linear simple sequential process (LS 2 P) if 8p 2 P A , jp j = 1.
Definition 44. A system of GLS 2 PR, GLS 3 PR for short, is recursively defined as follows: 1. A GLS 2 PR is a GLS 3 PR; 2. Let N i = (P A i [ fp 0 i g [ P R i , T i , F i , W i ), i 2 f1, 2g, be two GLS 3 PR with (P A 1 [ fp 0 1 g)\ (P A 2 [ fp 0 2 g) = [, P R 1 \ P R 2 = P C 6 ¼ [, and T 1 \ T 2 = [. Then, the net N = (P A [ P 0 [ P R , T , F, W ) resulting from the composition of N 1 and N 2 via P C such that (1) P A = P A 1 [ P A 2 , P 0 = fp 0 1 g [ fp 0 2 g, and P R = P R 1 [ P R 2 , (2) and (4) W (x, y) = W i (x, y) if (x, y) 2 F i , i = 1, 2 is also a GLS 3 PR. Definition 45. Let N = (P A [ P 0 [ P R , T , F, W ) be a GLS 3 PR. 8r 2 P R , t 2 r, t 0 2 r , if 9 = t 00 such that t 0 \ N t 00 and t 00 \ N t, then t 0 and t are called a transitionpair (t-pair for short) of r, denoted as ht 0 , ti.

S 4 PR net
Definition 46. An S 4 PR net is a generalized and self-loop free net N = n i = 1 N i = (P, T , F, W ), where . . , ng. 2. P = P A [ P 0 [ P R is a partition such that (1) P A = S n i = 1 P A i is called the set of operation places, where P A i 6 ¼ [ and P A i \ P A j = [, 8i 6 ¼ j (i, j 2 N n ); (2) P R = fr 1 , r 2 , . . . , r m jm 2 N + g is called the set of resource places; (3) P 0 = S n i = 1 fp 0 i g is called the set of idle places; and (4) the output transitions of idle places are called source transitions. 3. T = [ n i = 1 T i is called the set of transitions, where 8i, j 2 N n , i 6 ¼ j, T i 6 ¼ [, and T i \ T j = [.
j g)) ! f0g, and W R : is a strongly connected state machine such that every cycle contains p 0 i . 6. P-invariant I r 2 N jPj such that frg = jjI r jj \ P R , P 0 \ jjI r jj = [, P A \ jjI r jj 6 ¼ [, and I r (r) = 1, where N jPj is a set of P-dimensional non-negative integer vectors. Furthermore, P A = [ r2P R (jjI r jjnfrg). 7. N is strongly connected.