TY - JOUR AU1 - Guo,, Jinwei AU2 - Cui,, Yamiao AU3 - Liu,, Che AB - Abstract In flexible manufacturing systems (FMS), deadlock prevention is an important problem to be solved. Petri nets are a powerful tool and wildly used to model and control FMS. Based on the capacity restrictions for activity places in the Petri net model of an FMS, a new approach is presented to implement the liveness of the controlled net system in this research. First, given a Petri net prone to deadlocks, its initial capacity vector is decided. Then, an algorithm is proposed to compute its final capacity vector iteratively. At each iteration, the capacity of one activity place is decreased by one. The objective is to prevent the excessive occupancy of one resource by one production process, which is an important reason causing a deadlock. This process is carried out until the net model becomes live. With the constraints by the final capacity vector, the controlled net is live. It is proved the iterative algorithm is convergent. Considering the redundancy of capacity restrictions, another algorithm is given to eliminate it. The presented method for FMS control guarantees its live operation and high performance in terms of resource utilization. Generally, the proposed method is applicable, easy to use, effective and straightforward. Finally, two parameterized examples are used to demonstrate the applicability and effectiveness of the proposed approach. 1. Introduction In flexible manufacturing systems (FMS), a limited number of shared resources are used to produce different kinds of parts. Deadlocks arise when one or more jobs keep waiting indefinitely for the other jobs in the production sequence to release resources. It is necessary for any control policy of FMS to prevent the deadlock. Petri nets have been recognized as a powerful, graphical and mathematical tool and well suited to represent FMS characteristics (Li et al., 2012). System designers interact with users by constructing a Petri net model for a system according to certain design objectives. They verify the system’s properties via the model analysis. Since their powerful ability to detect good behaviour properties of the system such as deadlock-freeness and boundedness, many researchers adopt Petri nets to tackle the deadlock problems in FMS (Murata et al., 1989; Wu, 2010). The strategies to cope with deadlocks in FMS are deadlock detection and recovery (Wysk et al., 1991), deadlock avoidance (Hsieh & Chang, 1994; Xing et al., 1996; Park & Reveliotis, 2001), and deadlock prevention (Ezpeleta et al., 1995; Abdallah & EIMaraghy, 1998; Jeng & Xie, 1999; Huang et al., 2001a,b; Uzam, 2002, 2004, 2006; Ghaffari et al., 2003; Li & Zhou, 2004, 2006, 2008, 2009; Li et al., 2008, 2012). Deadlock detection and recovery approaches permit the occurrence of deadlocks. The controller detects constantly the occurrence of deadlocks. Once a deadlock occurs, the system is put back to a safe state by reallocating the resources. For deadlock avoidance approaches, the controller applies an on-line control policy to make a correct decision to proceed among the feasible evolutions. That is, during the system operating, the controller checks dynamically the resource applications at each state and decides the resource allocations. If the requested resource allocations may lead to a deadlock, the allocations are forbidden. In some cases, deadlock avoidance does not totally eliminate all deadlocks. In such cases, if a deadlock arises, suitable recovery strategies are still required. Different from the first two strategies, deadlock prevention (Chen & Li, 2011; Liu & Barkaoui, 2015a,b) is usually achieved by using a computational mechanism to control the request for resources to ensure that deadlocks never occur. The computation is carried out off-line in a static way. Since the deadlock prevention problems are solved in system design and planning stages, such a strategy requires no run-time cost. This article focuses on it. In order to realize the liveness of an original Petri net model, the existing control approaches need generally to add additional control places. These policies make the resulting controlled net system much more complicated. They are not proper for programming and even imply high cost in real-world systems. Moreover, the traditional approaches need to calculate the reachability graph or strict minimal siphons, which implies regularly high computational complexity. This article is motivated by the need to find a way to make live a Petri net model without adding any monitors. The research conducted in this article makes the following contributions. First, a new class of Petri nets called Petri nets with capacity (PNWC) is defined, from which a new train of thought is supplied for deadlock treatment. Second, for two special subclasses of Petri nets, namely, weighted system of simple sequential processes with resources (WS|$^3$|PR) and system of sequential systems with shared resources (S|$^4$|R) nets, based on capacity constraints and structural analysis, this article presents a new method which implements the deadlock prevention by seeking a proper capacity vector for activity places rather than adding control places and related arcs. The new proposed approach does not need to compute the reachability graph and strict minimal siphons for a Petri net model. A case study shows that a PNWC has a simpler structure and lower computational cost than the controlled net obtained by traditional approaches. The rest of this article is organized as follows. Section 2 reviews the basic definitions of Petri nets, WS|$^3$|PR and S|$^4$|R. Section 3 proposes the definition of PNWC functions. A liveness-enforcing supervisor design method based on the PNWC is further presented in this section. Section 4 introduces two FMS examples to illustrate the applications of the proposed method. Conclusions and further research topics are presented in Section 5. 2. Preliminaries 2.1. Petri nets A Petri net (Murata et al., 1989) is a four-tuple |$N=(P, T, F, W)$| where |$P$| and |$T$| are finite and non-empty sets. |$P$| is the set of places and |$T$| is the set of transitions with |$P\cup T\neq \emptyset$| and |$P\cap T=\emptyset$|⁠. |$F\subseteq (P\times T)\cup (T\times P)$| is called the flow relation or the set of directed arcs. |$W:(P\times T)\cup (T\times P)\rightarrow \mathbb{N}$| is a mapping that assigns a weight to any arc, where |$\mathbb{N}=\{0, 1, 2, \ldots\}$| is the set of non-negative integers. |$N=(P, T, F, W)$| is called an ordinary net, denoted as |$N=(P, T, F)$|⁠, if |$\forall{x}, y\in{P}\cup{T}, W(x, y)\leq{1}$|⁠. An ordinary Petri net |$N=(P,T,F)$| is called a state machine if |$\forall t\in T$|⁠, |$|^\bullet t|=|t^\bullet| = 1$|⁠. Incidence matrix |$[N]$| is a |$|P|\times|T|$| integer matrix with |$[N](p, t)=W(t, p)-W(p,t)$|⁠. The preset of a node |$x\in P\cup T$| is defined as |$Pre(x)=^\bullet x=\{y\in P\cup T\mid (y,x)\in F\}$|⁠. Its postset is defined as |${\rm {Post}}(x)=x^\bullet=\{y\in P\cup T\mid (x,y)\in F\}$|⁠. They can be extended to a set of nodes as follows: given |$S\subseteq P\cup T$|⁠, |$^\bullet S={\cup_{x\in S}}^\bullet x$| and |$S^\bullet={\cup_{x\in S}}x^\bullet$|⁠. A marking is a mapping |$M:P\rightarrow\mathbb{N}$|⁠. Let |$S$| be a non-empty subset of places. |$S\subseteq P$| is a siphon (trap) if |$^\bullet S\subseteq S^\bullet$| (⁠|$S^\bullet \subseteq ^\bullet S$|⁠). A siphon is said to be minimal if it contains no other siphon as its proper subset. A minimal siphon |$S$| is strict if it does not contain a trap. A siphon |$S$| is said to be empty at marking |$M$| if |$M(S)\equiv \sum_{p\in S}M(p)=0$|⁠, and it is said to be deadly marked at marking |$M$|⁠, if |$\forall t\in ^\bullet S$|⁠, |$t$| is disabled by some |$p\in S$|⁠. Obviously, if |$S$| is a deadly marked siphon at some marking |$M$|⁠, then (i) |$\forall t \in ^\bullet S$|⁠, |$t$| is a dead transition in |$M$|⁠, and (ii) |$\forall M^\prime\in R(N, M)$|⁠, |$S$| is deadly marked. The pair |$(N, M_0)$| is called a marked Petri net or net system. The set of markings reachable from |$M_0$| in |$N$| is denoted as |$R(N,M_0)$|⁠. |$(N, M_0)$| is bounded if |$\exists k\in \mathbb{N}\backslash\{0\}$|⁠, |$\forall M\in R(N,M_0)$|⁠, |$\forall p\in P$|⁠, |$M(p)\leq k$|⁠. A net |$N=(P, T, F, W)$| is pure if |$\forall x, y\in P\cup T$|⁠, |$W(x, y)>0$| implies that |$W(y, x)=0$|⁠. A |$P$|-vector is a column vector |$I: P\rightarrow \mathbb{Z}$| indexed by |$P$|⁠, where |$\mathbb{Z}$| is the set of integers. |$P$|-vector |$I$| is a |$P$|-invariant (place invariant) if |$I\neq$|0 and |$I^T[N]=\mathbf{0}^T$|⁠. |$P$|-invariant |$I$| is said to be a |$P$|-semiflow if no element of |$I$| is negative. |$||I||=\{p\in P|I(p)\neq 0\}$| is called the support of |$I$|⁠. A string |$x_1$|⁠, |$\ldots$|⁠, |$x_n$| is called a path of |$N$| if |$\forall i\in\{1, 2, \ldots, n-1\}$|⁠: |$x_{i+1}\in x_i^\bullet$|⁠, where |$\forall x\in\{x_1, \ldots, x_n\}$|⁠, |$x\in P\cup T$|⁠. A simple path from |$x_1$| to |$x_n$|⁠, denoted by |$SP(x_1, x_n)$|⁠, is a path whose nodes are all different. A transition |$t\in T$| is enabled at |$M$|⁠, denoted by |$M[t\rangle$|⁠, if |$\forall p\in$||$ ^\bullet t$|⁠, |$M(p)\geq W(p,t)$|⁠. A transition |$t\in T$| is live at |$M_0$| if |$\forall M\in R(N,M_0)$|⁠, |$\exists M^\prime \in R(N,M)$||$\ni$||$M^\prime [t\rangle$|⁠. |$(N,M_0)$| is deadlock-free if |$\forall M\in R(N,M_0)$|⁠, |$\exists t\in T$||$\ni$||$M[t\rangle$|⁠. |$(N,M_0)$| is live if |$\forall t\in T$|⁠, |$t$| is live at |$M_0$|⁠. 2.2. WS$^3$PR and S$^4$R nets The proposed supervisor design approach targets at the systems that can be modelled by some classes of general Petri nets. This section introduces WS|$^3$|PR (Liu et al., 2010) and S|$^4$|R (Abdallah & EIMaraghy, 1998) net model. They are important subclasses of Petri nets and draw general interests from academic researchers and industrial practitioners. Definition 1 A simple sequential process (S|$^2$|P) is an ordinary Petri net |$N=(P_A\cup \{p_0\}, T, F)$| where (1) |$P_A\neq \emptyset$| is called a set of activity or operation places; (2) |$p_0\notin P_A$| is called an idle process place with |$P_0=\{p_0\}$|⁠; and (3) |$N$| is a strongly connected state machine. Definition 2 A simple sequential process with resources (S|$^2$|PR) is an ordinary Petri net |$N=(P_A\cup P_0\cup P_R, T, F)$| such that (1) The subnet generated by |$X=P_A\cup P_0\cup T$| is an S|$^2$|P; (2) |$P_R\neq \emptyset$| is called a set of resource places with |$(P_A\cup P_0)\cap P_R=\emptyset$|⁠; (3) |$\forall p\in P_A$|⁠, |$\forall t\in {^\bullet p}$|⁠, |$\forall t^\prime \in p^\bullet $|⁠, |$\exists r_p\in P_R$|⁠, |$^\bullet t\cap P_R=t^{\prime \bullet}\cap P_R=\{r_p\}$|⁠; (4) The following statements are verified: (a) |$\forall r\in P_R$|⁠, |$^{\bullet \bullet}r\cap P_A=r^{\bullet \bullet}\cap P_A\neq \emptyset$| and (b) |$\forall r\in P_R$|⁠, |$^\bullet r\cap r^\bullet =\emptyset$|⁠; and (5) |$^{\bullet \bullet}(P_0)\cap P_R=(P_0)^{\bullet \bullet}\cap P_R=\emptyset$|⁠. If |${t\in {P_{0}^\bullet}}$| (resp. |${t\in {^\bullet P_{0}}}$|⁠), |$t$| is called a source (resp. sink) transition. Given a net |$N$|⁠, for |$r\in P_{R}$|⁠, |$H(r)=({^{\bullet \bullet}r}\cap P_{A})\cup ({r^{\bullet \bullet}}\cap P_{A})$| is called a set of holders of |$r$|⁠. A holder |$h(r)\in H(r)$| is an activity place that completes an operation by requesting and holding some tokens of resource place |$r$|⁠. Definition 3 An arc pair is a pair of arcs, |$(t_i, r)$| and |$(r, t_j)$|⁠, where |$r\in P_R$|⁠, |${^\bullet t_i}\cap{t_j^\bullet}\cap P_A=\{p\}$|⁠, and |${p\in H(r)}$|⁠. |$(t_i, r)$| is the paired arc of |$(r, t_j)$| and vice versa. Two arcs in an arc pair modelling the behaviour of a holder |$h(r)$| acquiring and releasing tokens from resource place |$r$| are of the same weight to guarantee the resource conservativeness. Definition 4 A WS|$^2$|PR, is a generalized Petri net |$N=(P_A\cup P_0\cup P_R, T, F, W)$| such that (1) The subnet generated by |$X=P_A\cup P_0\cup T$| is an S|$^2$|P; (2) |$P_R\neq \emptyset$| and |$(P_A\cup P_0)\cap P_R=\emptyset$|⁠; (3) |$\forall p\in P_A$|⁠, |$\forall t\in {^\bullet p}$|⁠, |$\forall t^\prime \in p^\bullet$|⁠, |$\exists r_p\in P_R$|⁠, |$^\bullet t\cap P_R=t^{\prime \bullet}\cap P_R=\{r_p\}$|⁠; (4) The two following statements are verified: (a) |$\forall r\in P_R$|⁠, |$^{\bullet \bullet}r\cap P_A=r^{\bullet \bullet}\cap P_A\neq \emptyset$| and (b) |$\forall r\in P_R$|⁠, |$^\bullet r\cap r^\bullet =\emptyset$|⁠; (5) |$^{\bullet \bullet}(P_0)\cap P_R=(P_0)^{\bullet \bullet}\cap P_R=\emptyset$|⁠; and (6) The three statements are true: (a) |$\forall p\in P_A\cap P_0$|⁠, |$\forall t\in T$|⁠, |$W(p, t)=1$| and |$W(t, p)=1$|⁠, (b) |$\forall r\in P_R$|⁠, |$\forall t\in T$|⁠, |$W(r, t)\geq 1$| and |$W(t,r)\geq 1$| and (c) two arcs of any arc pair have the same weights. Definition 5 Let |${N=(P_A\cup P_0\cup P_R, T, F, W)}$| be a WS|$^2$|PR. An initial marking |$M_0$| is said to be acceptable if: (1) |$\forall p_{0}\in P_{0} $|⁠, |$M_0(p_0)\geq 1$|⁠; (2) |$\forall p\in P_A$|⁠, |$M_0(p)=0$|⁠; and (3) |$\forall r\in P_{R}$|⁠, |$\forall t\in r^{\bullet}$|⁠, |$M_{0}(r)\geq W(r,t)$|⁠. Definition 6 A system of WS|$^2$|PR, called WS|$^3$|PR for short, is defined recursively as follows: (1) A WS|$^2$|PR is a WS|$^3$|PR; and (2) Let |$N_i=(P_{A_i}\cup P_{0_i}\cup P_{R_i}, T_i, F_i, W_{i})$|⁠, |$i\in \{1, 2\}$|⁠, be two WS|$^3$|PR such that |$(P_{A_1}\cup P_{0_1})\cap(P_{A_2}\cup P_{0_2})=\emptyset$|⁠, |$P_{R1}\cap P_{R2}=P_C\neq \emptyset$| and |$T_1\cap T_2=\emptyset$|⁠. Then, the net |$N=(P_A\cup P_0\cup P_R, T, F, W)$| resulting from the composition of |$N_1$| and |$N_2$| via |$P_C$| (denoted by |$N_1\circ N_2$|⁠) such that (a) |$P=P_{A_1}\cup P_{A_2}$|⁠, (b) |$P_0=P_{0_1}\cup P_{0_2}$|⁠, (c) |$P_R=P_{R_1}\cup P_{R_2}$|⁠, (d) |$T=T_1\cup T_2$|⁠, (e) |$F=F_1\cup F_2$| and (f) |$W=W_{1}\cup W_{2}$| is also a WS|$^3$|PR. For a WS|$^3$|PR, it is verified that |$\forall p\in P_R\cup P_0$|⁠, |$M_{\rm{max}}(p)=M_0(p)$|⁠, where |$M_{\rm{max}}(p)={\rm{max}}\{M(p)|M\in R(N, M_0)\}$|⁠. An acceptable initial marking is said to be sufficient if |$\forall r\in P_R$|⁠, |$\forall t\in {r^{\bullet}}$|⁠, |$M_0(r)\geq \Sigma_{t\in r^{\bullet}} W(r,t)$|⁠. In general, there are two types of basic |$P$|-invariants (corresponding to two types of minimal |$P$|-semiflows) in a WS|$^3$|PR as follows: (1) |$I_{1}\in\{I|I=\Sigma_{p\in P_{0i}\cup P_{Ai}} p\}$| and (2) |$I_{2}\in\{I|I=\Sigma_{p\in H(r)} W(r, ^{\bullet}p)p+r, r\in P_R\}$|⁠. The former is associated with an idle place |$p_{0i}\in P_0$|⁠. The latter is connected with a resource place |$r\in P_R$|⁠. The net shown in Fig. 1(a) is a WS|$^3$|PR that is the model of an FMS that can produce two job types |$J_1$| and |$J_2$| with |$J_1=\{p_2, p_3, p_4\}$| and |$J_2=\{p_6, p_7, p_8\}$|⁠. There are three resources |$p_9, p_{10}, p_{11}$| in the system. The first type of |$P$|-invariants consists of |$I_{p_1}=p_1+p_2+p_3+p_4$| and |$I_{p_5}=p_5+p_6+p_7+p_8$|⁠. The second type of |$P$|-invariants includes |$I_{p_9}=3p_2+2p_8+p_9$|⁠, |$I_{p_{10}}=p_3+2p_7+p_{10}$| and |$I_{p_{11}}=2p_4+4p_6+p_{11}$|⁠. Fig. 1. Open in new tabDownload slide (a) A plant net model and (b) the supervisor of the net. Fig. 1. Open in new tabDownload slide (a) A plant net model and (b) the supervisor of the net. Definition 7 A marked S|$^4$|R is a generalized connected self-loop-free Petri net |$(N, M_{0})=\bigcirc^k_{i=1}N_{i}=(P_A\cup P_0\cup P_{R}, T, F, W, M_{0})$| where: (1) |$N_i=(P_{Ai}\cup \{p_{0i}\}\cup P_{Ri}, T_i, F_i, W_i)$|⁠, |$i\in \mathbb{N}_k=\{1, 2, \cdots, k\}$|⁠. (2) |$P=P_A\cup P_0\cup P_R$| is a partition such that (a) |$P_A=\cup^k_{i=1}P_{Ai}$| is called the set of operation or activity places, where |$\forall i, j\in \mathbb{N}_k, i\neq j, P_{Ai}\neq \emptyset$| and |$P_{Ai}\cap P_{Aj}=\emptyset$|⁠; (b) |$P_0=\cup^k_{i=1}\{p_{0i}\}$| is called the set of idle places; (c) |$P_R=\cup^k_{i=1}P_{Ri}=\{r_1, r_2, \ldots, r_m|m\in \mathbb{N}^+=\{1, 2, \ldots \}\}$| is called the set of resource places. (3) |$T=\cup ^k_{i=1}T_i$| is called the set of transitions, where |$\forall i, j\in \mathbb{N}_k$|⁠, |$i\neq j, T_i\neq \emptyset$| and |$T_i\cap T_j=\emptyset$|⁠. (4) |$W=W_A\cup W_R$|⁠, where |$W_A$|⁠: |$((P_A\cup P_0)\times T)\cup (T\times(P_A\cup P_0))\rightarrow\{0, 1\}$| such that |$\forall j\neq i$|⁠, |$((P_{A_j}\cup \{p_{0j}\})\times T_i)\cup (T_i\times (P_{A_j}\cup \{p_{0j}\}))\rightarrow \{0\}$| and |$W_R: (P_R\times T)\cup (T\times P_R)\rightarrow \mathbb{N}$|⁠. (5) |$\forall r\in P_R$|⁠, |$T_a=\{t|t\in r^\bullet\cap T_i\}$|⁠, |$T_b=\{t^\prime|t^\prime\in^\bullet r\cap T_i\}$|⁠, then |$\sum _{t\in T_a}W(r, t)=\sum_{t^\prime\in T_b}W(t^\prime, r)$|⁠. (6) |$\forall i\in \mathbb{N}_k$|⁠, the subnet |$\overline{N_i}$| generated by |$P_{Ai}\cup\{p_{0i}\}\cup T_i$| is a strongly connected state machine such that every circuit of the state machine contains idle place |$p_{0i}$|⁠. (7) |$\forall r\in P_R$|⁠, there exists a unique minimal |$P$|-semiflow |$I_r$| such that |$\{r\}=||I_r||\cap P_R$|⁠, |$P_0\cap ||I_r||=\emptyset$|⁠, |$P_A\cap||I_r||\neq\emptyset$|⁠, and |$I_r(r)=1$|⁠. (8) |$N$| is pure and strongly connected. (9) |$P_A=\cup_{r\in P_R}(||I_r||\setminus \{r\})$|⁠. Definition 8 Let |${N=(P_A\cup P_0\cup P_R, T, F, W)}$| be an S|$^4$|R. An initial marking |$M_0$| is said to be acceptable if: (1) |$\forall p_{0}\in P_{0} $|⁠, |$M_0(p_0)\geq 1$|⁠; (2) |$\forall p\in P_A$|⁠, |$M_0(p)=0$|⁠; and (3) |$\forall r\in P_{R}$|⁠, |$M_{0}(r)\geq {\rm{max}}\{I_r(p)|p\in ||I_r||\cap P_A\}$|⁠. For an S|$^4$|R net, an acceptable initial marking is said to be sufficient if |$\forall r\in P_R, M_0(r)\geq \sum _{p\in ||I_r||}I_r(p)$|⁠. Unless otherwise stated, only the WS|$^3$|PR and S|$^4$|R nets with sufficient initial markings are considered in this research. The Petri net shown in Fig. 2 is an S|$^4$|R with three resources |$p_9, p_{10}$| and |$p_{11}$| in the system. Note that each resource place corresponds to a minimal |$P$|-semiflow. As a result, we have three minimal |$P$|-semiflows that are associated with the resources. They are: |$I_{p_9}=2p_2+3p_3+p_8+p_{9}$|⁠, |$I_{p_{10}}=p_3+2p_7+2p_8+p_{10}$| and |$I_{p_{11}}=2p_4+4p_6+p_{11}$|⁠. Each minimal |$P$|-semiflow associated with the corresponding resource place shows the activity places whose execution requires corresponding resource and how many units of resource are needed to support the operation execution. Fig. 2. Open in new tabDownload slide An S|$^4$|R net. Fig. 2. Open in new tabDownload slide An S|$^4$|R net. From their definitions, WS|$^3$|PR and S|$^4$|R both allow multiple arcs between a resource place and a transition. The represented net models fall into the generalized Petri net class. Meanwhile, the difference between WS|$^3$|PR and S|$^4$|R is that the usage of the resources in the latter is more flexible than that in the former. Specifically, each activity place in a WS|$^3$|PR needs one resource only. However, an activity place in an S|$^4$|R may need two or more resources. Definition 9 (Barkaoui & Pradat-Peyre, 1996) Let |$(N, M_0)$| be a marked net and |$S$| be a siphon of |$N$|⁠. |$S$| is said to be max-marked at |$M$| if |$\exists p\in S$| such that |$M(p)\geq max_{p^\bullet}$|⁠. |$S$| is said to be max-controlled if |$S$| is max-marked at any reachable marking. |$(N, M_0)$| is said to satisfy the max controlled siphon property (max-cs property, for short) if each minimal siphon of |$N$| is max-controlled. Theorem 1 (Abdallah & EIMaraghy, 1998) Let |$(N, M_0)$| be a marked S|$^4$|R net. |$N$| is live at |$M_0$| if it satisfies max-cs property. For a structurally bounded net, we have |$v_p\geq(M(p)-W(p, t)+1)/B(p)$|⁠, where |$B(p)={\rm{max}} \{M(p)| M=M_0+[N]Y, M\geq0, Y\geq0\}$| is the structural bound of place |$p$|⁠. Note that structural bounds can be determined by using linear programming (LP). Variables |$v_p$| and |$z_t$| are defined as follows: |$v_p=1\{p\notin S\}\Leftrightarrow$| place |$p$| is removed during the algorithm execution, |$\forall p\in P$|⁠, |$\forall W(p, t)>0$|⁠. |$z_t=1\{t\notin S^\bullet\}\Leftrightarrow$| transition |$t$| is removed during the algorithm execution, |$\forall t\in T$|⁠. Now we present the MIP detection method for generalised Petri nets as follows. Theorem 2 (Zhao et al., 2010) Given a marking |$M\in R(N, M_0)$| of a structurally bounded Petri net |$(N, M_0)$|⁠, the maximal deadly marked siphon |$S$| contained in |$M$| is determined by |$S=\{p\in P|v_p=0\}$|⁠, where |$v_p, p\in P$|⁠, is obtained through the following integer programming formulation: |$G^{\rm{MIP}}={\rm{min}}\sum_{p\in P}v_p$| s.t. zt≥∑p∈•tvp−|•t|+1,∀t∈T.(1) vp≥zt,∀(t,p)∈F.(2) vp,zt∈{0,1}.(3) vp≥(M(p)−W(p,t)+1)/B(p),  ∀p∈P,  ∀W(p,t)>0.(4) M=M0+[N]Y,M≥0,Y≥0.(5) Theorem 3 (Zhao et al., 2010) Let |$(N, M_0)$| with |$N=(P, T, F, W)$| be a net system. |$(N, M_0)$| contains no maximal deadly marked siphon if |$G^{\rm{MIP}}=|P|$|⁠. That is, if |$G^{\rm{MIP}}=|P|$| holds, all siphons are max-controlled. By Theorem 1, the controlled net is live. It implies that a generalised net’s liveness can be determined by an MIP problem. 3. Supervisor design 3.1. Definitions of PNWC Definition 10 A marked PNWC is a five-tuple |$N=(P, T, F, M_0, C_p)$| in which |$(P, T, F, M_0)$| is a marked Petri net, and |$C_p: P\rightarrow \mathbb{N}^+$| is a function called the capacity function. |$M_0$| is the initial marking. A PNWC adds a capacity function |$C_p$| to a Petri net, which associates a capacity |$C_p(p_i)\in \mathbb{N}^+$| with the place |$p_i\in P$| of the net. For |$C_p(p_i)$|⁠, it implies the upper bound of tokens contained in the place |$p_i$| during the evolutionary process of the net system. Apparently, for |$\forall p_i\in P$|⁠, |$C_p(p_i)\geq 1$| holds. For a bounded Petri net without place capacities, it can be seen that the capacity of each place is its reachable bound. The set of values of each group for capacity function is called a capacity vector. Theorem 4 The number of reachability states of a PNWC is the same as or less than that of the corresponding Petri net with the capacity up to its reachable bound for each place. Proof According to the firing rules of Petri nets, a net has the maximal reachable markings if the capacity of each place is its reachable bound. If not, some original reachable markings may be forbidden. Therefore, the theorem holds. □ Definition 11 Let |$(N, M_{0})=\bigcirc^k_{i=1}N_{i}=(P_A\cup P_0\cup P_{R}, T, F, W, M_{0}, C_p)$| be a marked WS|$^3$|PR (resp., S|$^4$|R) net with capacities, where |$(P_A\cup P_0\cup P_{R}, T, F, W, M_{0})$| is a marked WS|$^3$|PR (resp., S|$^4$|R) net. |$C_p: P\rightarrow \mathbb{N}^+$| is the capacity function. In Ghaffari et al. (2003), the study implements a marking/transition separation instance by adding a monitor. Such a method makes the resulting controlled net system has much more places and arcs than the originally built Petri net model. However, for some Petri nets with special structures, we may exert other constraints to make them deadlock-free or live, e.g. capacity functions. For example, the Petri net in Fig. 1(a) is controlled by adding two places (monitors) and eight arcs as shown in Fig. 1(b). However, if its capacity function |$C_p$| is set to be |$(12, 2, 4, 4, 12, 1, 2, 4, 9, 4, 9)$|⁠, it is also live. The following presented approach implements the liveness enforcement only by adjusting the capacities of related places. 3.2. Supervisor design based on PNWC Lemma 1 Let |$N$| be a WS|$^3$|PR net with a sufficient initial marking |$M_0$|⁠. |$(N, M_0)$| is live if |$\forall p\in P_A$|⁠, |$C_p(p)=1$|⁠. Proof By contradiction, (⁠|$N, M_0$|⁠) is not live. This leads to a dead transition |$t\in T$|⁠. Three cases should be considered separately. Case 1: Suppose that, |$\exists r\in ^\bullet t\cap P_R$| such that |$M(r)1}}(\mathcal{C}_p(p)-1)$|⁠. As far as the authors know, in most cases, the former algorithm is more effective. For example, for Fig. 1(a), its supervisor can be obtained within two iterative steps by Algorithm 2. By Algorithm 3, however, its supervisor can be achieved after 11 iterative steps. After the supervisor of a net is obtained by Algorithms 1 and 2, there may exist redundant capacity restrictions. That is, the capacities of some activity places can be re-enlarged due to the decreasing of the capacities of other activity places. Therefore, another algorithm is developed to eliminate this redundancy. It is presented as follows. 4. FMS examples 4.1. A WS$^3$PR net model The flexible manufacturing cell shown in Fig. 3 has two machines M1 and M2. M1 can hold eight parts and M2 can hold six parts at the same time. Also the cell contains two robots R1 and R2 and they can hold ten and four parts, respectively. Parts enter the cell through three loading buffers I1–I3, and leave the cell through three unloading buffers O1–O3. The robots deal with the movements of parts. R1 handles part movements from I1 to M1, M1 to O3. R2 handles part movements from M1 to M2 and M2 to M1. Three part types J1–J3 are produced. Their respective production routes are also shown in Fig. 3(a). Its Petri net model is shown in Fig. 3(b). The net model is a WS|$^3$|PR. It consists of 16 places |$p_1$|–|$p_{16}$| and 12 transitions |$t_1$|–|$t_{12}$|⁠. |$P_0=\{p_1, p_6, p_{10}\}$| is the set of idle places. |$P_R=\{p_2-p_5, p_7-p_9, p_{11}-p_{12}\}$| is the set of activity places. The places |$p_{13}-p_{16}$| represent R1, M1, R2 and M2, respectively. The model has 18830 reachability states including 15 deadlock states. According to Algorithm 1, an initial capacity vector |$C_p$| can be computed. It is |$C_p=(9, 5, 4, 2, 2, 6, 3, 4, 2, 4, 4, 3, 10, 8, 4, 6)$|⁠. By Algorithm 2, after 11 iterative steps, a capacity vector to make the net live is obtained as |$C_p=(9, 3, 3, 1, 1, 6, 1, 3, 1, 4, 3, 2, 10, 8, 4, 6)$|⁠. The controlled net has 6496 reachability states. In the resulting net, there exists some redundant capacity restrictions. According to Algorithm 4, the capacities of places |$p_2$|⁠, |$p_3$|⁠, |$p_4$|⁠, |$p_5$|⁠, |$p_9$| and |$p_{12}$| can be re-enlarged. After the recovery of these places, the final capacity vector is |$C_p=(9, 5, 4, 2, 2, 6, 1, 3, 2, 4, 3, 3, 10, 8, 4, 6)$|⁠. Exerting the constraints |$C_p$| to the original net, the final supervisor is live and has 12382 reachability states. Fig. 3. Open in new tabDownload slide (a) The layout of an FMS and (b) the Petri net model of a WS|$^3$|PR net. Fig. 3. Open in new tabDownload slide (a) The layout of an FMS and (b) the Petri net model of a WS|$^3$|PR net. 4.2. An S$^4$R net model Consider another hypothetical FMS example with its layout and production routings shown in Fig. 4(a). It consists of four robots R1–R4, which can hold two, one, two and three products each time, respectively, and three machines M1–M3, which can process three, one and four products each time, respectively. There are two loading buffers I1, I2 and two unloading buffers O1, O2 to load and unload the FMS. There are two raw product types, named J1 and J2, to be processed. According to the production cycles shown in Fig. 4(a), a raw product J1 is taken from I1 by R1 and put into M1. After being processed by M1, it is moved to M3 by R4. Finally, after being treated by M3, it is further processed by M2 and R3 and then moved to O1. A raw product J2 is taken from I2, tackled by M3 and R3, and subsequently by M3 and R4. After that, it is then processed by M1. Finally, after being handled by M1, it is moved from M1 to O2 by R1 and R2 sequentially. Fig. 4. Open in new tabDownload slide (a) The layout of an FMS and (b) the Petri net model of an S|$^4$|R net. Fig. 4. Open in new tabDownload slide (a) The layout of an FMS and (b) the Petri net model of an S|$^4$|R net. Figure 4(b) shows the Petri net model of the FMS that may use a multi-set of resources at a work processing step. The model is an S|$^4$|R net where |$P_0=\{p_1, p_{9}\}$|⁠, |$P_{A_1}=\{p_i|i=2, 3, \ldots, 8\}$|⁠, |$P_{A_2}=\{p_i|i=10, 11, \ldots, 14\}$|⁠, |$P_{R_1}=\{p_{16}-p_{21}\}$| and |$P_{R_2}=\{p_{15}-p_{18}, p_{20}, p_{21}\}$|⁠. Places |$p_{20}$|⁠, |$p_{19}$|⁠, |$p_{17}$|⁠, |$p_{16}$|⁠, |$p_{15}$|⁠, |$p_{18}$| and |$p_{21}$| denote M1–M3 and R1–R4, respectively. Initially, it is assumed that there are no parts in the system. The initial numbers of tokens in idle places |$p_1$| and |$p_{9}$| are seven and five, respectively, which represent the maximal numbers of concurrent activities that can take place for part types P1 and P2. The model has 37902 reachability states including 79 deadlock states. According to Algorithm 1, an initial capacity vector |$C_p$| can be computed. It is |$C_p$|=(7, 2, 3, 3, 2, 1, 3, 3, 5, 2, 3, 3, 2, 1, 1, 2, 4, 2, 1, 3, 3). By Algorithm 2, after the 12th iterative step, a capacity vector to make the net live is obtained as |$C_p$|=(7, 1, 1, 2, 1, 1, 1, 2, 5, 1, 2, 2, 1, 1, 1, 2, 4, 2, 1, 3, 3). The controlled net has 11036 reachability states. In the resulting net, there exists some redundant capacity restrictions. According to Algorithm 4, the capacities of places |$p_4, p_5, p_8, p_{11}, p_{12}, p_{13}$| can be re-enlarged. After the recovery of these places, the final capacity vector is |$C_p=(7, 1, 1, 3, 2, 1, 1, 3, 5, 1, 3, 3, 2, 1, 1, 2, 4, 2, 1, 3, 3)$|⁠. Exerting the constraints |$C_p$| to the original net, the final supervisor is live and has 17506 reachability states. 5. Conclusion This study focuses on the deadlock prevention for a class of generalized Petri nets that can model a large class of FMS. Traditional deadlock prevention methods need adding monitors to the original net system which makes the supervisor more complex. In real-world systems, traditional methods may bring exorbitant expenditure. The aim of this research is to find a way to make a Petri net live. The following results are newly presented. |$\bullet$| The concept of PNWC is introduced in this article, which exerts an additional constraint called the capacity to each place. The capacity restrictions may help to utilize the resources more rationally and fairly. |$\bullet$| A deadlock prevention method based on PNWC is presented, by which the controlled net is live without adding any control places and arcs. First, an upper bound of the capacity for each place is decided. An algorithm is developed to compute a capacity vector to make the net live. However, the controlled net may has the redundant capacity restrictions. Thereby, another algorithm is given to eliminate the redundancy. After that, the supervisor with the simplest structure is obtained. It should be noted that the proposed approach does not need to calculate the reachability graph or strict minimal siphons of a Petri net which implies typically high computational complexity. However, inevitably, there are also some defects in our research. And some problems can be investigated in the future. First, in order to find the supervisor, the constraints exerted by capacity vector may be so conservative that some legal behaviour is removed. Hence, in the future, the presented methods should be synthesized with other methods, e.g. siphon-based approaches (Ezpeleta et al., 1995; Barkaoui & Pradat-Peyre, 1996; Chu & Xie, 1997; Li & Zhou, 2004, 2006, 2008, 2009; Chao, 2006, 2008; Huang et al., 2006; Wang, 2011b, 2013; Wang et al., 2012; Liu & Barkaoui, 2015a) and methods based on theory of regions (Badouel & Darondeau, 1998; Uzam, 2002, 2006; Ghaffari et al., 2003; Li et al., 2008). Second, the proposed approach can only deal with the WS|$^3$|PR and S|$^4$|R with sufficient initial markings. Third, Algorithms 2 and 3 may have different solutions. Which is the best is a problem deserving of further efforts. Fourth, the developed approaches in this work may be easily applied to other subclasses of Petri nets, such as S|$^*$|PR (Ezpeleta et al., 2002) and G-systems (Zouari & Barkaoui, 2003). In these subclasses, the conditions under which the proposed methods can be applied should be further considered. Finally, applications of the proposed method to industrial FMS need to be pursued. Funding National Natural Science Foundation of China (Grant No. 61403295). References Abdallah, I. B. & EIMaraghy, H. A. ( 1998 ) Deadlock prevention and avoidance in FMS: a Petri net based approach. Int. J. Adv. Manuf. Tech., 14 , 704 – 715 . Google Scholar Crossref Search ADS WorldCat Badouel, E. & Darondeau, P. ( 1998 ) Theory of regions. Lectures on Petri Nets 1: Basic Models, LNCS ( Reisig W. & Rozenberg G. eds), vol. 1491. Berlin, Germany : Springer, pp. 529 – 586 . Google Scholar Crossref Search ADS Google Scholar Google Preview WorldCat COPAC Barkaoui, K. & Pradat-Peyre, J. F. ( 1996 ) On the liveness and controlled siphons in Petri nets. Proceedings of the 17th International Conference on Application and Theory of Petri nets. LNCS ( Billington J. & Reisig W. eds), vol. 1091. Osaka, Japan : Springer, pp. 57 – 72 . Google Scholar Crossref Search ADS Google Scholar Google Preview WorldCat COPAC Chao, D. Y. ( 2006 ) Computation of elementary siphons for deadlock control. Comput. J., 49 , 470 – 479 . Google Scholar Crossref Search ADS WorldCat Chao, D. Y. ( 2008 ) Incremental approach to computation of elementary siphons for arbitrary S3PR. IET Control Theory Appl., 2 , 168 – 179 . Google Scholar Crossref Search ADS WorldCat Chen, Y. F. & Li, Z. W. ( 2011 ) Design of a maximally permissive liveness-enforcing supervisor with a compressed supervisory structure for flexible manufacturing systems. Automatica, 47 , 1028 – 1034 . Google Scholar Crossref Search ADS WorldCat Chu, F. & Xie, X. L. ( 1997 ) Deadlock analysis of Petri nets using siphons and mathematical programming. IEEE Trans. Robotics Autom., 13 , 793 – 804 . Google Scholar Crossref Search ADS WorldCat Ezpeleta, J. , Colom, J. M. & Martinez, J. ( 1995 ) A Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE Trans. Robotics Autom. , 11 , 173 – 184 . Google Scholar Crossref Search ADS WorldCat Ezpeleta, J. , Tricas, F. García-Vallés, F. & Colom, J. M. ( 2002 ) A banker’s solution for deadlock avoidance in FMS with flexible routing and multiresource states. IEEE Trans. Robotics Autom., 18 , 621 – 625 . Google Scholar Crossref Search ADS WorldCat Ghaffari, A. Rezg, N. & Xie, X. L. ( 2003 ) Design of a live and maximally permissive Petri net controller using the theory of regions. IEEE Trans. Robotics Autom., 19 , 137 – 142 . Google Scholar Crossref Search ADS WorldCat Hsieh, F. S. & Chang, S. C. ( 1994 ) Dispatching-driven deadlock avoidance controller synthesis for flexible manufacturing systems. IEEE Trans. Robotics Autom., 10 , 196 – 209 . Google Scholar Crossref Search ADS WorldCat Huang, Y. S. , Jeng, M. D., Xie, X. L. & Chung, S. L. ( 2001a ) A deadlock prevention policy for flexible manufacturary systems using siphons. Proceedings of the IEEE International Conference on Robotics and Automation. ( Kwon W. H. & Lee B. H. eds) Seoul, Korea: IEEE, pp. 541 – 546 . Google Scholar Google Preview OpenURL Placeholder Text WorldCat COPAC Huang, Y. S. , Jeng, M. D., Xie, X. L. & Chung, S. L. ( 2001b ) Deadlock prevention policy based on Petri nets and siphons. Int. J. Prod. Res., 39 , 283 – 305 . Google Scholar Crossref Search ADS WorldCat Huang, Y. S. , Jeng, M. D., Xie, X. L. & Chung, D. H. ( 2006 ) Siphon-based deadlock prevention policy for flexible manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A, 36 , 2152 – 2160 . Google Scholar Crossref Search ADS WorldCat Jeng, M. D. and Xie, X. L. ( 1999 ) Analysis of modularly composed nets by siphons. IEEE Trans. Syst. Man Cybern., Part A, 29 , 399 – 406 . Google Scholar Crossref Search ADS WorldCat Li, Z. W. & Zhou, M. C. ( 2004 ) “Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems”, IEEE Trans. Syst. Man Cybern., Part A, 34 , 38 – 51 . Google Scholar Crossref Search ADS WorldCat Li, Z. W. & Zhou, M. C. ( 2006 ) “Clarifications on the definitions of elementary siphons of Petri nets”, IEEE Trans. Syst. Man Cybern., Part A, 36 , 1227 – 1229 . Google Scholar Crossref Search ADS WorldCat Li, Z. W. & Zhou, M. C. ( 2008 ) “Control of elementary and dependent siphons in Petri nets and their application”, IEEE Trans. Syst. Man Cybern., Part A , vol. 38 , no. 1 , pp. 133 – 148 . Google Scholar Crossref Search ADS WorldCat Li, Z. W. & Zhou, M. C. ( 2009 ) Deadlock Resolution in Automated Manufacturing Systems: A Novel Petri Net Approach. Berlin : Springer . Google Scholar Google Preview OpenURL Placeholder Text WorldCat COPAC Li, Z. W. , Wu, N. Q. & Zhou, M. C. ( 2012 ) “Deadlock control of automated manufacturing systems based on Petri nets: a literature review”, IEEE Trans. Syst. Man Cybern., Part C , 42 , 437 – 462 . Google Scholar Crossref Search ADS WorldCat Li, Z. W. , Zhou, M. C. & Jeng, M. D. ( 2008 ) A maximally permissive deadlock prevention policy for FMS based on Petri net siphon control and the theory of regions. IEEE Trans. Autom. Sci. Eng. , 5 , 182 – 188 . Google Scholar Crossref Search ADS WorldCat Liu, D. , Li, Z. W. & Zhou, M. C. ( 2010 ) “Liveness of an extended S|$^3$|PR”, Automatica , vol. 46, no. 6 , pp. 1008 – 1018 . Google Scholar Crossref Search ADS WorldCat Liu, G. Y. & Barkaoui, K. ( 2015a ) “A survey of siphons in Petri nets”, Inf. Sci., 363 , 198 – 220 . Google Scholar Crossref Search ADS WorldCat Liu, G. Y. & Barkaoui, K. ( 2015b ) “Necessary and sufficient liveness condition of GS3PR Petri nets”, Int. J. Syst. Sci. , 46 , 1147 – 1160 . Google Scholar Crossref Search ADS WorldCat Murata, T. ( 1989 ) “Petri nets: properties, analysis, and applications”, Proc. IEEE, 77 , 541 – 580 . Google Scholar Crossref Search ADS WorldCat Park, J. & Reveliotis, S. A. ( 2001 ) “Deadlock avoidance in sequential resource allocation systems with multiple resource acquisitions and flexible routings”, IEEE Trans. Autom. Control , 46 , 1572 – 1583 . Google Scholar Crossref Search ADS WorldCat Uzam, M. ( 2002 ) “An optimal deadlock prevention policy for flexible manufacturing systems using Petri net models with resources and the theory of regions”, Int. J. Adv. Manuf. Tech., 19 , 192 – 208 . Google Scholar Crossref Search ADS WorldCat Uzam, M. ( 2004 ) “The use of the Petri net reduction approach for an optimal deadlock prevention policy for flexible manufacturing systems” , Int. J. Adv. Manuf. Tech., 23 , 204 – 219 . Google Scholar Crossref Search ADS WorldCat Uzam, M. & Zhou, M. C. ( 2006 ) “An Improved Iterative Synthesis Method for Liveness Enforcing Supervisors of Flexible Manufacturing Systems”, Int. J. Prod. Res., 44 , 1987 – 2030 . Google Scholar Crossref Search ADS WorldCat Wang, S. G. , Wang, C. Y. & Yu, Y. P. ( 2013 ) “Design of liveness-enforcing supervisors for S|$^3$|PR based on complementary places”, ACM Trans. Embed. Comput. Syst., 12 , 1 – 18 . Google Scholar Crossref Search ADS WorldCat Wang, S. G. , Wang, C. Y. & Yu, Y. P. ( 2011b ) Comments on Siphon-Based Deadlock Prevention Policy for Flexible Manufacturing Systems, IEEE Trans. Syst. Man Cybern., Part A, 41 , 338 – 340 . Google Scholar Crossref Search ADS WorldCat Wang, S. G. , Wang, C. Y. & Zhou, M. C. ( 2012 ) Controllability conditions of resultant siphons in a class of Petri nets, IEEE Trans. Syst. Man Cybern., Part A, 42 , 1206 – 1215 . Google Scholar Crossref Search ADS WorldCat Wu, N. Q. & Zhou, M. C. ( 2010 ) System Modeling and Control with Resource-Oriented Petri Nets. NY : CRC Press. Google Scholar Google Preview OpenURL Placeholder Text WorldCat COPAC Wysk, R. A. , Yang, N. S. & Joshi, S. ( 1991 ) “Detection of deadlocks in flexible manufacturing cells”, IEEE Trans. Robotics Autom., 7 , 853 – 859 . Google Scholar Crossref Search ADS WorldCat Xing, K. Y. , Hu, B. S. & Chen, H. X. ( 1996 ) “Deadlock avoidance policy for Petri net modeling of flexible manufacturing systems with shared resources”, IEEE Trans. Autom. Control, 41 , 289 – 295 . Google Scholar Crossref Search ADS WorldCat Zhao, M. , Li, Z. W. & Hu, H. S. ( 2010 ) “Suboptimal liveness-enforcing supervisor design for a class of generalised Petri nets using partial siphon enumeration and mathematical programming”, Int. J. Syst. Sci., 41 , 1013 – 1026 . Google Scholar Crossref Search ADS WorldCat Zouari, B. & Barkaoui, K. ( 2003 ) ”Parameterized supervisor synthesis for a modular class of discrete event systems”, Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics ( Inoue H. & Zhou M. C. eds), Washington, DC : IEEE , pp. 1874 – 1879 . Google Scholar Google Preview OpenURL Placeholder Text WorldCat COPAC © The authors 2016. Published by Oxford University Press on behalf of the Institute of Mathematics and its Applications. TI - Deadlock Control Based on Capacity Restrictions for FMS JF - IMA Journal of Mathematical Control and Information DO - 10.1093/imamci/dnw037 DA - 2017-12-01 UR - https://www.deepdyve.com/lp/oxford-university-press/deadlock-control-based-on-capacity-restrictions-for-fms-01H0sj1bKN SP - 1395 VL - 34 IS - 4 DP - DeepDyve ER -