Elementary siphons play an important role in designing deadlock prevention policies for flexible manufacturing systems modeling by Petri nets. This article proposes a deadlock control algorithm with maximally reachable number to cope with deadlock problems in ordinary Petri nets. First, we solve all elementary siphons and dependent siphons and then add both a control place and a control transition to each elementary siphon so that an extended net system is obtained. Second, by constructing an integer programming problem of P-invariants of , the controllability test for dependent siphons in is performed via this integer programming problem. Accordingly, a few of control places and control transitions are added for those dependent siphons that do not meet controllability as well. Therefore, a live controlled system with maximally reachable number rather than number of maximally permissive behavior can be achieved. The correctness and efficiency of the proposed deadlock control algorithm is verified by a theoretical analysis and several examples that belong to ordinary Petri nets. Unlike these deadlock prevention policies with number of maximally permissive behavior in the existing literature, the proposed deadlock control algorithm can generally obtain a live controlled system whose reachable number is the same as that of an original uncontrolled net (N0, M0), that is, maximally reachable number is greater than number of maximally permissive behavior.
A flexible manufacturing system (FMS) is a highly technical and synthetic system consisting of some intelligent subsystems, including an overall and reasonable configuration of some numerically controlled machines, a number of working units for material handling and products assembling, and a central computer workstation that can sample input information from sensors and then send output control signals to actuators online. Because of the competition of shared manufacturing resources, a highly undesirable phenomena in a highly automated FMS, namely, deadlocks1–6 occur definitely when some processing steps or jobs are trapped into an endless loop waiting for service which occupied by other processing ones, and vice versa, leading to the global or local block for an FMS. Therefore, it is necessary to consider the technical solutions to deadlock problems when designing an FMS.7–13 In the past two decades, the research of resolving deadlocks has become the hot issues and many scholars and researchers have achieved a lot of remarkable results in theory and practical applications.6,14–26
Because of their own characteristics to easily and concisely describe the concurrent execution of processes and the reasonable distribution of shared resources in an FMS,12,27 Petri nets have been widely used to model, analyze, and simulate the static and dynamic behaviors of an FMS, especially in deadlock problems. Using Petri nets, three policies, called deadlock detection and recovery (DDR),1,28 deadlock avoidance (DA),1,4 and deadlock prevention (DP)6,10,23–25,28–32, respectively, are developed to cope with deadlock problems in FMSs. DDR can detect deadlocks and permit their occurrence and then adopts the corresponding measures to recover an FMS to a correct state. A DDR strategy is suitable for such case in which deadlocks are infrequent and their consequence is not serious. But it requires the time cost for detection and recovery. As for a DA technique, a shared resource is granted to a process only if the resulting state in an FMS is not a deadlock, which is an online computational mechanism to guarantee correct system evolutions. However, DP is an offline method that can consider and solve deadlocks in design and planning stages for an FMS. That is to say, its execution requires no run-time cost and guarantees the correct evolutions of different processes or jobs in an FMS, so a deadlock prevention policy (DPP) is widely used to design a liveness-enforcing supervisors to eliminate deadlocks in an FMS. Structural analysis and reachability graph (RG) are two major methods that belong to DPP.1 In addition, as structural objects of a Petri net, siphons are closely related to its deadlock, deadlock-free, and liveness. Thus, DPP are classified into two categories: siphon-based method (SBM)25,29,30,33–35 and reachability graph–based method (RGBM).6,10,32,36–38 Generally, behavioral permissiveness (BP), structural complexity (SC), and computational complexity (CC) are three major criteria to evaluate SBM or RGBM. By means of explicit enumeration of all state nodes of an RG of the given Petri net model (PNM), RGBM can divide the corresponding RG into two parts: deadlock zone (DZ) including deadlocks and critical bad states that inevitably lead to deadlocks and a deadlock-free zone (DFZ) representing the good states that definitely keep the correct evolutions of PNM. As for a given PNM, these DPPs using RGBM15,36,38 can generally find an optimal liveness-enforcing supervisor that ensures every state node within DFZ rather than DZ to be reached. That is to say, for a resultant controlled net system with liveness, its reachable states excluding deadlocks and bad states are called maximally permissive behavior (MPB), and the corresponding number of reachable states for this live controlled Petri net system is number of maximally permissive behavior (NMPB), which usually means the full use of the system resources. However, such RGBM usually suffers from a state explosion problem of the corresponding RG for a large-sized PNM with the large initial markings.38 In order to cope with the state explosion problem, a few novel methods are successively developed to design the liveness-enforcing supervisors with MPB. Among them, Chen and Li15 propose a non-iterative approach to design a maximally permissive control place (CP) by a place invariant (PI) that forbids one of the first-met bad markings (FBMs) and none of legal markings is forbidden. However, the computation for such PI needs solving an integer linear programming problem (ILPP), which may cause CC. Thus, in order to overcome the complexity of this method, a vector covering approach (VOA) is developed to reduce the sets of legal markings and FBM to be small, which are considered in the design of a liveness-enforcing supervisor. As a result, a maximally permissive liveness-enforcing supervisor within the class of supervisors where each CP is associated with a P-semiflow can be obtained if the ILPP has a solution. Accordingly, Chen et al.13,36,37 also use a VOA to first compute a minimal covering set of legal markings and a minimal covered set of FBMs, and then these two minimal sets are considered for an iterative process of designing CPs that is different from Chen and Li.15 Finally, a maximally permissive supervisor with a small number of CPs can be obtained when all FBMs that are forbidden by the PI are removed from the minimal covered set of FBMs, which obviously reduces the computational time compared with their previous work. Uzam and Li6 adopt a set of mixed integer programming (MIP) formulations to perform an iterative extraction for bad markings in an RG of the uncontrolled PNM such that the explicit enumeration of all nodes of the RG is avoided in contrast with the iterative method of synthesizing liveness-enforcing supervisors,38 leading to a controlled PNM with liveness, that is, MPB and has a relatively simple structure. By a lexicographic multiobjective integer programming problem, B Huang et al.39 design a MPB (optimal) supervisor while forbidding all FBMs and permitting all legal markings in a Petri net model. In the meantime, a conversion method is proposed to convert the nonlinear model that is associated with minimizing its structure into a linear one. Hence, a liveness-enforcing supervisor with MPB and minimal structure is obtained. However, the corresponding computational loads are not reduced to a great degree, and a few reductant control places (RCPs) may exist in the live controlled system , that is, CC and SC for these novel RGBM are not observably improved except for BP.
However, many scholars focus on structural analysis, such as siphons7,9,20,25,29 and resource transition circuits,10,35 and have developed a large number of DPPs. Among these representative DPPs, E-policy29 adopts the complete siphon enumeration method (CSEM) to solve all siphons causing deadlocks in an (systems of simple sequential processes with resources) and then adds a CP to each emptied siphon to prevent itself from being emptied. Thus, E-policy is first regarded as obtaining a live controlled Petri net system by SBM, although its performance is not ideal in terms of an overall evaluation of CC, SC, and BP. In order to reduce the SC of a liveness-enforcing supervisor, Li and Zhou22,23 pioneered the concept of elementary siphons (ESs) and dependent siphons (DSs). Li and Zhou-policy only adds the CPs to all ESs and some DSs that cannot meet the controllability and then achieves a liveness-enforcing supervisor, whose SC is enormously depressed compared with that of E-policy. Subsequently, Li and Zhou9 and Chao and Chen14 and Chao40 propose the further research results including the novel methods to compute ESs, controllability of DSs (or compound siphons), and the liveness conditions associated with the controlled ESs and DSs for and (systems of simple sequential processes with general resources requirement), which enrich the theory of elementary siphon and its applications. But BP and CC are not ideal for the liveness-enforcing supervisors synthesized from the controlled ESs and DSs. In the meantime, by MIP3,8 or the revised MIP7 (Li and Li 2012c), the partial siphon enumeration method (PSEM) is also used to solve those siphons that definitely cause deadlocks so that the computational loads for the related DPPs such as C-policy,7 H-policy,20,31 PR-policy,4 P-policy,25 and LL-policy,28,32,33,41 obviously decrease. Moreover, several novel methods of controlling siphons, for example, for siphons12 are successively proposed and employed for these solved siphons in order to design the corresponding DPPs; these methods gradually improve the behavioral permissiveness of the finally live controlled Petri net system to a great degree. In short, the liveness-enforcing supervisors designed by PSEM can yield an overall improvement in CC, BP, and SC than those ones constructed by CSEM. Especially, it is the first time that Chao40 add a CP and a control transition (CT) to each solved siphon in an S3PR system with deadlocks, resulting in a live controlled Petri net system with maximally reachable number (MRN). That is to say, reachable state number of the final controlled PNM with liveness is the same as that of the uncontrolled one with deadlocks, that is, MRN > NMPB, and its BP is improved to an ideal degree by such method of adding both CPs and CTs to these siphons causing deadlocks.40 However, the difference of controllability for ESs and DSs is not considered in Chao,40 which may lead to a live controlled PNM with a relatively complicated structure.
Partially enlightened by the advantages of using ESs14,22,23 and the addition of CPs and CTs,40 the purpose of this work is to design a deadlock control algorithm (DCA) to obtain not only a liveness-enforcing supervisor with MRN but also a relatively simple structure in order to eliminate deadlocks in the typical classes of ordinary Petri nets (OPNs), namely, ,29 linear ,31 and extended 8,31 comparing with the method in Chao.40 The proposed DCA focuses on solving ESs and DSs, executing controllability test for all DSs, and adding CPs and CTs for all ESs and a few of DSs properly, which is executed in two stages. At the first stage, all ESs and DSs in an uncontrolled system that belong to OPNs are solved and classified by the methods in Chao and Chen14 and Li and Zhou.22 By adding a CP and CT40 to each ESs, all ESs are controlled by the corresponding CPs and CTs so that an extended net system is obtained. Second, by constructing an integer programming problem (IPP) of P-invariants of , a controllability test for all DSs in is performed via this IPP. If all DSs meet the desired controllability condition, then a live controlled system is achieved directly, implying that the extended net system is live. Conversely, the corresponding CPs and CTs are added for those DSs that cannot meet the controllability. Therefore, a live controlled system can be achieved as well. A theoretical analysis and several examples belonging to S3PR, linear S3PR (L-S3PR), and ES3PR in the existing literature are used to illustrate the correctness and efficiency of the proposed DCA. Unlike these DPPs with NMPB in the existing literature, the proposed DCA can generally obtain a live controlled system and its reachable state number is the same as that of the original uncontrolled net , that is, MRN is greater than NMPB. In addition, only adding the corresponding CPs and CTs for all ESs and a few of DSs that cannot pass through the controllability test under the proposed IPP implies that SC of the final live controlled system can be reduced to some degree than that of the corresponding in the study of Chao.40
The remainder of this article is organized as follows. The following section, “Preliminaries,” presents the necessary background on Petri nets and the definitions of ES, deadlock states (DS), , and so on. The method of adding CPs and CTs (resp. CP and CT)40 is first reviewed in section “A two-stage deadlock control policy.” Accordingly, an IPP to test the controllability for all DSs in and a two-stage DCA with MRN are developed in the same section. Section “Examples” illustrates efficiency of the proposed DCA through several examples belonging to OPNs. The last section “Conclusion” concludes this article.
Preliminaries
Some relevant basic concepts of Petri nets
A Petri net is a four-tuple , where P and T are finite and nonempty sets, respectively. P is a set of places and T is a set of transitions with and . is called the flow relation or the set of directed arcs. is a mapping that assigns a weight to an arc: if , and otherwise, where and denote the set of non-negative integers. is called an ordinary net, denoted as , if . is called a generalized net, if . Given a node , is called the preset of x, while is called the postset of x. A marking is a mapping . is called a marked Petri net or a net system. The set of markings reachable from M in N is denoted as . Incidence matrix of net N is a integer matrix with , where and denote the number of places and transitions in N, respectively. Given a Petri net , is live under if . is live if is live under . is dead under if . is deadlock-free (weakly live) if .1
A nonempty set is a siphon (trap) if . A siphon is minimal if there is no siphon contained in it as a proper subset. A minimal siphon is called a strict minimal siphon (SMS) if it does not contain a trap. is used to denote the set of SMS in a Petri net. A P(T)-vector is a column vector indexed by , where Z is the set of integers. I is a P-invariant (called P-inv for short) if and . P-inv I is said to be a P-semiflow if every element of I is non-negative. is called the support of I. denotes the positive support of I. denotes the negative support of I. Siphon S is inv-controlled by P-inv I under if and . For economy of space, , , and denote a marking M, P-vector I, and T-vector J, respectively.12 For example, is written as .
Elementary siphon and dependent siphon
Definition 1
Let be a subset of places of Petri net . P-vector is called the characteristic P-vector of S if , ; otherwise .22
Definition 2
Let be a subset of places of Petri net and be the characteristic P-vector of S.22T-vector is called the characteristic T-vector of S if , where is the transpose of incidence matrix .
Definition 3
Let be a net with , , and k siphons, and .22 Let be the characteristic P(T)-vector of siphon . We define and . is called the characteristic P(T)-vector matrix of the siphons in N.
Definition 4
Let and be a linearly independent maximal set of matrix . Then, is called a set of ESs in N.22
Definition 5
is called a strongly dependent siphon if , where .22
Definition 6
is called a weakly dependent siphon if such that and , where .
The above method proposed by Li and Zhou needs to find all SMS, and then ESs and DSs are determined from Definitions 3–6. Although the number of SMS grows exponentially with respect to the size of a given PNM, all SMS in a PNM are conveniently found using Integrated Net Analyzer (INA), a popular Petri net analysis tool.42 An is used to model a large class of FMS. Its definition is briefly given as follows29
Definition 7
An is defined as the union of a set of nets , sharing common places, where the following statements are true:
is called the process idle place of . and are called operation and resource place, respectively, where is a set of operation places and is a set of resource places.
, .
;
and ;
.
is a strongly connected machine, where is the resultant net after the places in and related arcs are removed from .
Every circuit of N contains the place .
Any two nets and are composable, denoted as , if they share a set of common resource places. Every shared place must be resource one.
Transitions in and are called the source and sink transitions of an , respectively.
Definition 8
Let S be a siphon in a marked with , , and , where and are called the set of operation and resource places for S, respectively. For , , the operation places that use r is called the set of holders of r. is called the complementary set of S.
Moreover, as for the standard definitions of and , the reader is referred to the literature.8,22,31
For example, we can find three SMS in the net shown in Figure 1 by INA42 where , , and . From Definitions 1 and 2, , , , , , and are obtained, respectively. It can be seen that . Hence, and are two ESs, and is a strongly DS due to Definitions 3–5. In addition, and are obtained from Definition 8.
An is live iff no siphon in it can become empty.12,31
Theorem 3
Let be the language of all firing sequences in with no siphons ever empty, be the language of all firing sequences in with no siphons ever empty, and be the projection of onto , where is the projection of onto M, that is, , and is a ||P||-dimensional vector, and P is the set of places in .40 Then, and (i.e. the controlled model reaches the same number of states as the uncontrolled model).
A two-stage deadlock control policy
The method of adding CP and transition
As stated in Introduction, Chao40 proposes a novel idea to add a CP and CT but not a CP to each solved SMS in an system with deadlocks, resulting in a live controlled Petri net system with MRN. For each and the corresponding , the method of adding corresponding CP (denoted as ) with and CT (denoted as ) for is briefly described as follows:
Connection between t and . (a) For each , there exists an arc with from t to ; (b) for each , there exists an arc with from to t.
For and , there exists an arc with from to and an arc with from to , respectively.
Connection between and the related places in the production routes , where j represents the sequence number for PR, . (a) For each , there exists an arc with from to ; (b) for each and , there exists an arc with from to ; (c) for each , there exists an arc with from to . In essence, is the same as in Definition 7.
For each other and , there exists an arc with from to when and .
Note that as for an , its corresponding is generally not unique due to different PRj, that is, . For example, there are two production routes PR1 and PR2 in the net shown in Figure 1. For , corresponding to and , we have and in terms of the third rule mentioned above, respectively. Similarity, for , corresponding to and , and are obtained, respectively. Also, for , corresponding to PR1 and , and , respectively. But how to select the corresponding for an is not clear in the study of Chao.40
Since the number of is obviously less than that of the solved SMS, this article adopts a simple method, called circulating sequence number (CSN) of the production routes PRj, to assign the corresponding to an in turn. That is to say, , and corresponds , , and , respectively, where . Reconsidering an example depicted in Figure 1, , , and are assigned to the corresponding , , and by CSN. Accordingly, for , for , and for are determinated clearly. As a result, by means of the above methods of adding CPs and CTs and CSN, a controlled Petri net system is obtained, which is shown in Figure 2.
A controlled Petri net system.
The controlled Petri net system shown in Figure 2 is verified to be live by INA.42 Its MRN is 47*, the same as the reachable number of original marked with deadlocks and is greater than the corresponding NMPB (42).
An IPP to test controllability of dependent siphons
From the above mentioned, adding a CP and CT to each solved SMS40 can obtain a live controlled Petri net system with MRN. On the basis of Definitions 1–6, SMSs are classified into ESs and DSs. From the existing literature, we know that those policies to make ESs explicitly controlled and DSs implicitly controlled, respectively, can reduce the SC of finally live controlled Petri net systems to some degree. However, this method of adding a CP and CT to each solved SMS40 without considering different controllability between ESs and DSs may result in a relatively complex structural with MRN.
Partially motivated by the advantages of ESs to design deadlock control policies,14,22–24 an IPP of P-invariants of an extended net system is constructed to test controllability of all DSs in formed by all ESs which are controlled by the addition of CPs and CTs. By this IPP test, a few CPs and CTs are added to those0 DSs that cannot meet controllability, and the remaining DSs meeting controllability are implicitly controlled. In other words, the implicitly controlled DSs do not need the addition of CPs and CTs. Thus, the SC of a finally live controlled Petri net system can be reduced to some degree.
Assume that and are a set of ESs and a set of DSs in an original , respectively. After all ESs are controlled by the addition of CPs and CTs, an extended net system and its P-invariants can be obtained. As for each , we propose its controllability test in this article, which focuses on , where is the number of tokens held by at , and is the number of tokens required by at the same reachable marking. Since the places in compete for tokens with the operation places in , the total number of tokens held by and keeps constant for any reachable marking. It is inferred that is marked at if , where (denoted as ) and (denoted as ) are solved by the following integer programming
subject to
is the minimal P-invariants of . Maximizing shows the maximum ability of to occupy tokens from resource places of . Similarly, Maximizing implies that can prevent tokens to flow into to the most degree. Equation (2) shows that any one of P-invariants of corresponds to a set of places whose weighted token count is a constant for any reachable marking. The interrelation between the marking’s changes and transition occurrences follows from equation (3), the state equation of a Petri net .
Proposition 1
Let be an uncontrollable marked , be the ESs of , and be the dependent siphons of . An extended net system is obtained by adding k CPs and CTs for k ESs, where is the set of minimal P-invariants of . If , then can be implicitly controlled in .
Proof
Since the set of SMS in an original can be computed by means of INA;42 according to Definitions 1–6, and can be obtained from . By the method stated in the subsection “The method of adding CP and transition,” the addition of k CPs and CTs makes k ESs explicitly controlled and leads to an extended net system . For each of , is also a dependent siphon of and keeps the same complementary set . Although the places in compete for tokens with the operation places in , the total number of tokens held by and keeps constant at any reachable marking M. A controllability test for is performed on the basis of equations (1)–(3). When , it is obvious that the number of tokens held by at is greater than the required number of tokens for at , indicating that can never be emptied at , that is, . As a result, such DSs cannot affect the liveness of an extended net system due to Theorems 1 and 2, implying that such DSs can be implicitly controlled in without addition of CPs and CTs.
Although this IPP to test controllability of dependent siphons is time-consuming in theory, it is an established method and is performed offline. In addition, even for the large-sized models of OPNs, this IPP to test controllability of DSs is conveniently executed by LinGo43 in less time.
A DCA using the directly controlled ESs and the identified and controlled DSs
On the basis of the above discussion and results, in order to eliminate deadlocks in an , , and that are typical representatives of OPNs and achieve a live controlled Petri net with MRN, a DCA using the directly controlled ESs and the identified and controlled DSs is developed in this section and described below.
Algorithm 1
A DCA using the directly controlled ESs and the identified and controlled DSs.
Input: an uncontrollable marked , .
Output: a live controlled Petri net with MRN.
Step 1: By INA, compute all SMS S in an original and obtain .
Step 2: According to Definitions 1–6, find and , where .
Step 3: Solve and in terms of Definition 8.
Step 4: As stated in Subsection “The method of adding CP and transition,” add a CP and CT to each ES and an extended net system is achieved.
Step 5: .
Step 6: whiledo denotes the number of
Step 7: Based on Proposition 1 and LinGo, an IPP related to is performed among DSs.
Step 8: .
Step 9: end while
Step 10: if for each DS then
Step 11: , and go to Step 15.
Step 12: else
Step 13: As for those DSj with , , by the above method of addition of CPs and CTs, add the corresponding CPs and CTs to them in .
Step 14: end if
Step 15: Output .
Algorithm 1 is performed in two stages and can be briefly explained as follows. At the first stage, all SMS causing deadlocks in an original are computed by INA and then is obtained. and are solved, respectively, on the basis of Definitions 1–6. Also, from Definition 8, and are obtained. Accordingly, an extended net system is achieved by adding a CP and CT to each ES. At the second stage, an IPP is performed to test whether each DS meet . If all DSs meet such controllability, then all DSs are implicitly controlled without addition of CPs and CTs, implying that an extended net system is live. In a word, is and Algorithm 1 terminates the execution. Otherwise, the corresponding CPs and CTs are added to those DSs that cannot meet such controllability so that an extended net system is further transformed into a live controlled net system .
Proposition 2
Let be a marked S3PR with deadlocks. Algorithm 1 is applied to it, which can output a live controlled net system with MRN.
Proof
First, SMSs causing deadlocks can be found by INA42 and then , , , and are obtained, respectively, in terms of Definitions 1–6 and 8. By the above method of addition of CPs and CTs, each ES is explicitly controlled by adding a CP and CT, so Algorithm 1 outputs an extended net system . Second, an IPP to test controllability of DSs is executed by LinGo.43 For those DSs that cannot meet , the corresponding CPs and CTs are added to them due to Proposition 1 and then is further transformed into a controlled net system . Because of the addition of CPs and CTs to all ESs and those DSs that cannot meet controllability, there is no emptied siphons in . That is to say, all solved ESs and DSs are sufficiently marked at via two stages of the addition of CPs and CTs. Finally, a controlled net system is live due to Theorems 1 and 2. In addition, from Theorem 3, L and are the language of all firing sequences in and with no siphons ever empty, respectively, is the projection of onto . Algorithm 1 is performed in two stages of the addition of CPs and CTs, which leads to a fact that no emptied siphons exist in and all reachable states for can appear in . So and can be obtained due to Theorem 3. In another word, the reachable number of the live controlled system is the same as that of an original uncontrolled net , implying that the truth of Proposition 2.
Since the number of SMSs in a net grows quickly and in the worst case grows exponentially with the size of the net1,12,22 and the first stage of Algorithm 1 mainly concerns on solution and classification of SMSs, the complexity of Algorithm 1 is nondeterministic polynomial time (NP)-complete in theory. However, the related IPP to test controllability of DSs is conveniently solved by LinGo43 during its second stage, and Algorithm 1 is totally performed offline. Therefore, on the basis of an overall analysis in theory and the practical application, Algorithm 1 is potential to design a DCA with MRN and a relatively simple structure; its efficiency can be shown via examples in the following section.
Examples
This section introduces some examples that belong to and in the existing literature20,22,25,29,41 to further exemplify Algorithm 1. Its control performance comparison with the existing approaches presented in the study of Ezpeleta et al.29 (denoted as ECM),18 (denoted as ),3,44 (denoted as ),22,23 (denoted as LZ),38 (denoted as UZ),25 (denoted as PCF),7 (denoted as ),40 (denoted as ) and Li et al.41 (denoted as ) is also carried out via some tables, where *, ⋇, R, DS, and DFS denote maximally reachable state, MPB, the ratio of the number of reachable states of the live controlled system to MRN, deadlock states, and deadlock-free states of the corresponding Petri net system, respectively.
Let us reconsider an original with deadlocks shown in Figure 1. Algorithm 1 is applied to it. Tables 1–6 show solution of ESs, DSs, and their complementary sets, the addition of CPs and CTs to ESs, controllability test to DSs, the supplemental addition of CPs and CTs to ESs and the addition of CPs and CTs to DSs, a two-stage deadlock control process using Algorithm 1, and its control performance comparison with the existing approaches, respectively.
Two elementary siphons and one dependent siphon, their complementary sets, and presets and postsets of the complementary sets.
i
j
1
2
1
The addition of CPs and CTs to two elementary siphons.
,
CP: control place; CT: control transition.
√ denotes the selected production routes PRm, the corresponding idle, operation, and resource places, respectively; .
Controllability test to one dependent siphon.
j
Controllability
1
2
2
No
The supplemental addition of CPs and CTs to two elementary siphons and the addition of CP and CT to one dependent siphon.
,
,
,
,
CP: control place; CT: control transition.
√ denotes the selected production routes PRm, the corresponding idle, operation, and resource places, respectively; .
A two-stage deadlock control process using Algorithm 1 for a marked shown in Figure 1.
The state of Petri net system
No. of DS
No. of DFS
An original system,
5
42⋇
An extended system,
1
46
A live controlled system,
0
47*
DS: deadlock states; DFS: deadlock-free states.
Comparison of the proposed DCP with those DCPs in the literature.22,25,29
Criteria
Algorithm 1
ECM
PCF
LZ
No. of added CPs
3
3
3
2
No. of added CTs
3
0
0
0
No. of reachable states
36
42⋇
36
R
100%
76.6%
89.4%
76.6%
CP: control place; CT: control transition; DCP: deadlock control policy.
Figure 3 shows a non-live marked , where , , .31,41 We have , , and two production routes , respectively.
A non-live marked .
Algorithm 1 is also applied to it. Tables 7–11 show solution of ESs, DSs, and their complementary sets, the addition of CPs and CTs to ESs, controllability test to DSs, a two-stage deadlock control process using Algorithm 1, and its control performance comparison with the existing approaches, respectively.
Two elementary siphons and one dependent siphon, their complementary sets, and presets and postsets of the complementary sets.
i
j
1
2
1
The addition of CPs and CTs to two elementary siphons.
,
CP: control place; CT: control transition.
√ denotes the selected production routes PRm, the corresponding idle, operation, and resource places, respectively; .
Controllability test to one dependent siphon.
j
Controllability
1
3
1
Yes
A two-stage deadlock control process using Algorithm 1 for a marked shown in Figure 3.
The state of Petri net system
No. of DS
No. of DFS
An original system,
56
194⋇
An extended system,
0
250*
A live controlled system,
0
250*
DS: deadlock states; DFS: deadlock-free states.
Comparison of the proposed DCP with those DCPs in the literature.25,29,31,41
Criteria
Algorithm 1
ECM
PCF
No. of added CPs
2
3
4
3
3
No. of added CTs
2
0
0
0
0
No. of reachable states
49
156
194⋇
194⋇
R
100%
19.6%
62.4%
77.6%
77.6%
CP: control place; CT: control transition; DCP: deadlock control policy.
Note that this dependent siphon meets the controllability condition from Table 9, so it is not needed to add a CP and CT to DS1 due to Proposition 1. Algorithm 1 outputs a live controlled system , that is, is the same as .
Finally, Figure 4 shows a well-known model with deadlocks,18,22,23,25,29,31,38,45 where . We have , , and three production routes , respectively.
A large-sized marked with deadlocks.
Tables 12–17 show solution of ESs, DSs, and their complementary sets, the addition of CPs and CTs to ESs, controllability test to DSs, the supplemental addition of CPs and CTs to ESs and the addition of CPs and CTs to DSs, a two-stage deadlock control process using Algorithm 1, and its control performance comparison with the existing approaches, respectively.
Six elementary siphons and 12 dependent siphons, their complementary sets, and presets and postsets of the complementary sets.
i
j
1
2
3
4
5
6
1
2
3
4
5
6
7
8
9
10
11
12
The addition of CPs and CTs to six elementary siphons.
, ,
, ,
, ,
, ,
, ,
, ,
CP: control place; CT: control transition.
√ denotes the selected production routes , the corresponding idle, operation, and resource places, respectively; .
Controllability test to 12 dependent siphons.
j
Controllability
1
8
3
Yes
2
6
2
Yes
3
6
4
Yes
4
6
1
Yes
5
4
1
Yes
6
5
3
Yes
7
5
0
Yes
8
8
1
Yes
9
5
3
Yes
10
4
2
Yes
11
4
1
Yes
12
1
3
No
The supplemental addition of CPs and CTs to six elementary siphons and the addition of CP and CT to one dependent siphon.
, ,
, ,
, ,
, ,
, ,
, ,
, ,
CP: control place; CT: control transition.
√ denotes the selected production routes , the corresponding idle, operation, and resource places, respectively; .
A two-stage deadlock control process using Algorithm 1 for a marked shown in Figure 4.
The state of Petri net system
No. of DS
No. of DFS
An original system,
4226
22524⋇
An extended system,
234
26,516
A live controlled system,
0
26,750*
DS: deadlock states; DFS: deadlock-free states.
Comparison of the proposed DCP with those DCPs in the previous studies.18,22,25,29,31,38,40,45
Criteria
Algorithm 1
ECM
LZ
UZ
PCF
No. of added CPs
7
18
5
7
19
13
9
7
7
No. of added CTs
7
0
0
0
0
0
0
0
7
No. of reachable states
6287
15,999
16,425
21,562
21,581
20,444
21,585
R
100%
23.5%
59.8%
61.4%
80.6%
80.7%
70.4%
80.7%
100%
Computational complexity
NP-hard
Exponential
Exponential
Exponential
Exponential
Exponential
NP-hard
Exponential
NP-hard
CP: control place; CT: control transition; NP: nondeterministic polynomial time; DCP: deadlock control policy.
From Table 17, it is seen that adds seven CPs and CTs to an S3R example depicted in Figure 4 so that a live controlled Petri net system with MRN (26,750) is achieved as well, which is the same as Algorithm 1. However, it is unclear for to select 7 siphons from 18 siphons; in other words, the relevant rule on how to select those siphons that are needed the addition of CPs and CTs from all solved siphons is not given in the study of Chao.40 On the contrary, after dividing 18 siphons into 6 ESs and 12 DSs and finishing the controllability test for all DSs, Algorithm 1 decisively adds 6 CPs and CTs for 6 ESs and 1 CP and CT for 1 DS that does not meet controllability, which is performed in two stages. As stated above, Algorithm 1 can make all ESs and a few of DSs explicitly controlled by the addition of CPs and CTs while the remaining DSs that meet controllability are implicitly controlled. Therefore, Algorithm 1 may reduce the SC of the finally live controlled system with MRN to some degree compared with the corresponding with MRN obtained by the study of Chao.40
Conclusion
It is a challenge to design the effective deadlock control policy (DCPs) by means of the relevant theories and applications of Petri nets. Motivated by the advantages of ESs14,22,23 and CPs and CTs,40 a two-stage DCA is proposed in this article. Unlike these DPPs with NMPB in the existing literature, it can obtain a live controlled system with MRN. In addition, by constructing an IPP of P-invariants of to perform the controllability test for all DSs in , it can also simplify the structure of to some degree comparing with the deadlock control policy.40 A theoretical analysis and several examples that belong to and in the existing literature are used to illustrate efficiency of the proposed DCA. In essence, this two-stage DCA belongs to the combination of DPP and deadlock detection and recovery policy (DDRP) and possesses some features with both of them. The focus of our future research is to extend this DCA to more general classes of Petri nets such as and G-system1 by modifying the weight values of control arcs of CTs linking to corresponding idle places, resource places, operation places, and CPs.
Footnotes
Acknowledgements
The authors thank the editor and anonymous reviewers whose comments and suggestions greatly helped to improve the quality and presentation of this paper.
Handling Editor: ZhiWu Li
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.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Foundation of China (NSFC, grant no. 61364004), Chinese Visiting Scholars to Study Overseas Program sponsored by China Scholarship Council Foundation (grant no. 201408625045), the Scientific Research Program funded by Shaanxi Provincial Education Department (grant no. 16JK1342), the Doctoral Research funds of Lanzhou University of Technology (grant no. 04-237), and Alumni Foundation Civil Engineering 77, Lanzhou University of Technology (grant no. TM-QK1301).
References
1.
LiZWZhouMC.Deadlock resolution in automated manufacturing systems. 1st ed.Berlin: Springer, 2009.
2.
ChenYFLiZWBarkaouiKet al. Compact supervisory control of discrete event systems by Petri nets with data inhibitor arcs. IEEE T Syst Man Cy: S2017; 47: 364–379.
3.
HuangYSJengMDXieXLet al. Deadlock prevention policy based on Petri nets and siphons. Int J Prod Res2001; 39: 283–305.
4.
ParkJReveliotisSA.Deadlock avoidance in sequential resource allocation systems with multiple resource acquisitions and flexible routings. IEEE T Automat Contr2001; 46: 1572–1583.
5.
TongYLiZWGuiaA.On the equivalence of observation structures for Petri net generators. IEEE T Automat Contr2016; 61: 2448–2462.
6.
UzamMLiZW.On an iterative deadlock prevention approach for automated manufacturing systems. Int J Adv Manuf Tech2014; 74: 503–507.
7.
ChaoDY.Direct minimal empty siphon computation using MIP. Int J Adv Manuf Tech2009; 45: 397–405.
8.
LiSYLiZWHuHS.Siphon extraction for deadlock control in flexible manufacturing systems by using Petri nets. Int J Comp Integ M2011; 24: 710–725.
9.
LiZWZhouMC.Control of elementary and dependent siphons in Petri nets and their application. IEEE T Syst Man Cy A2008; 38: 133–148.
10.
LiuHXWuWMSuHYet al. Design of optimal Petri-net controllers for a class of flexible manufacturing systems with key resources. Inform Sciences2016; 363: 221–234.
11.
HuangBZhouMCZhangGX.Synthesis of Petri net supervisors for FMS via redundant constraint elimination. Automatica2015; 61: 156–163.
12.
LiuGYBarkaouiK.A survey of siphons in Petri nets. Inform Sciences2016; 363: 198–220.
13.
ChenYFLiZWBarkaouiKet al. New Petri net structure and its application to optimal supervisory control: interval inhibitor arcs. IEEE T Syst Man Cy: S2014; 44: 1384–1400.
14.
ChaoDYChenJT.Segment theory to compute elementary siphons in Petri nets for deadlock control. J Chin Inst Ind Eng2011; 28: 573–585.
15.
ChenYFLiZW.Design of a maximally permissive liveness-enforcing supervisor with a compressed supervisory structure for flexible manufacturing systems. Automatica2011; 47: 1028–1034.
16.
ChenYFLiZWBarkaouiKet al. On the enforcement of a class of nonlinear constraints on Petri nets. Automatica2015; 55: 116–124.
17.
ChenYFLiZWWuNQet al. Deadlock recovery for flexible manufacturing systems modeled with Petri nets. Inform Sciences2017; 381: 290–303.
18.
HongLHouYFJingJFet al. Deadlock prevention policy with behavioral optimality or suboptimality achieved by the redundancy identification of constraints and the rearrangement of monitors. Discrete Dyn Nat Soc2015; 2015: 579623.
19.
HouYFLiZWZhaoMet al. Extended elementary siphon-based deadlock prevention policy for a class of generalised Petri nets. Int J Comp Integ M2014; 27: 85–102.
20.
HuangYS.Design of deadlock prevention supervisors using Petri nets. Int J Adv Manuf Tech2007; 35: 349–362.
21.
LiSYLiZW.Structure reduction of liveness-enforcing Petri nets using mixed integer programming. Asian J Control2012; 14: 384–399.
22.
LiZWZhouMC.Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems. IEEE T Syst Man Cy A2004; 34: 38–51.
23.
LiZWZhouMC.Two-stage method for synthesizing liveness-enforcing supervisors for flexible manufacturing systems using Petri nets. IEEE T Ind Inform2006; 2: 313–325.
24.
LiZWHuHSWangAR.Design of liveness-enforcing supervisors for flexible manufacturing systems using Petri nets. IEEE T Syst Man Cy C2007; 37: 517–526.
25.
PiroddiLCordonRFumagalliI.Combined siphon and marking generation for deadlock prevention in Petri nets. IEEE T Syst Man Cy A2009; 39: 650–661.
26.
TongYLiZWSeatzuCet al. Verification of state-based opacity using Petri nets. IEEE T Automat Contr2017; 62: 2823–2837.
27.
LiZWZhaoM.On controllability of dependent siphons for deadlock prevention in generalized Petri nets. IEEE T Syst Man Cy A2008; 38: 369–384.
28.
LiZWWuNQZhouMC.Deadlock control of automated manufacturing systems based on Petri nets—a literature review. IEEE T Syst Man Cy C2012; 42: 437–462.
29.
EzpeletaJColomJMMartinezJ.A Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE T Robotic Autom1995; 11: 173–184.
30.
HouYFZhaoMLiuDet al. An efficient siphon-based deadlock prevention policy for a class of generalized Petri nets. Discrete Dyn Nat Soc2016; 2016: 8219424.
31.
HuangYSJengMDXieXLet al. Siphon-based deadlock prevention policy for flexible manufacturing systems. IEEE T Syst Man Cy A2006; 36: 1248–1256.
32.
HuangBZhouMCZhangGXet al. On further reduction of constraints in “nonpure Petri net supervisors for optimal deadlock control of flexible manufacturing systems.”IEEE T Syst Man Cy A2015; 45: 542–543.
33.
LiSYAnAMWangYet al. Design of liveness-enforcing supervisors with simpler structures for deadlock-free operations in flexible manufacturing systems using necessary siphons. J Intell Manuf2013; 24: 1157–1173.
34.
LiSYAnAMCaiYet al. A deadlock control policy for a subclass of Petri nets G–system. Control Theory Appl2013; 30: 1329–1336.
35.
LiSYLiZWHuHSet al. An extraction algorithm for a set of elementary siphons based on mixed-integer programming. J Syst Sci Syst Eng2012; 21: 106–125.
36.
ChenYFLiZWZhouMC.Behaviorally optimal and structurally simple liveness-enforcing supervisors of flexible manufacturing systems. IEEE T Syst Man Cy A2012; 42: 615–629.
37.
ChenYFLiZWZhouMC.Optimal supervisory control of flexible manufacturing systems by Petri nets: a set classification approach. IEEE T Autom Sci Eng2014; 11: 549–563.
38.
UzamMZhouMC.An improved iterative synthesis method for liveness enforcing supervisors of flexible manufacturing systems. Int J Prod Res2006; 44: 1987–2030.
39.
HuangBZhouMCZhangGXet al. Lexicographic multiobjective integer programming for optimal and structurally minimal Petri net supervisors of automated manufacturing systems. IEEE T Syst Man Cy A2015; 45: 1459–1470.
40.
ChaoDY.A new optimal control policy for a well-known S3PR (systems of simple sequential processes with resources). Int J Prod Res2012; 50: 1–13.
41.
LiSYAnAMWuHMet al. Policy to cope with deadlocks and livelocks for flexible manufacturing systems using the max’-controlled new smart siphons. IET Control Theory Appl2014; 8: 1607–1616.