Skip to main content
Log in

An iterative method for synthesizing non-blocking supervisors for a class of generalized Petri nets using mathematical programming

  • Published:
Discrete Event Dynamic Systems Aims and scope Submit manuscript

Abstract

This paper presents a novel and computational deadlock prevention policy for a class of generalized Petri nets, namely G-systems, which allows multiple resource acquisitions and flexible routings with machining, assembly and disassembly operations. In this research, a mixed integer programming (MIP)-based deadlock detection technique is used to find an insufficiently marked minimal siphon from a maximal deadly marked siphon for generalized Petri nets. In addition, two-stage control method is employed for deadlock prevention in Petri net model. Such proposed method is an iterative approach consisting of two stages. The first one is called siphons control, which adds a control place to the original net for each insufficiently marked minimal siphon. The objective is to prevent minimal siphons from being insufficiently marked. The second one, called control-induced siphons control, is to add a control place to the augmented net with its output arcs connecting to source transitions, which assures that there is no new insufficiently marked siphon generated due to the addition of the monitors. Compared with the existing approaches, the proposed deadlock prevention policy can usually lead to a non-blocking supervisor with more permissive behavior and high computational efficiency for a sizeable plant model due to avoiding complete siphon enumeration. Finally, a practical flexible manufacturing system (FMS) example is utilized to illustrate the proposed method.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  • Barkaoui K, Abdallah IB (1994) An efficient deadlock avoidance control policy in FMS using structural analysis of Petri nets. In: Proc. int. conf. syst., man, cybern., vol 1, pp 525–530. San Antonio, TX

  • Barkaoui K, Pradat-Peyre JF (1996) On liveness and controlled siphons in Petri nets. In: Proc. 17th int. conf. application and theory of Petri nets, Osaka, Japan. LNCS, vol 1091. Springer, New York, pp 57–72

    Google Scholar 

  • Barkaoui K, Chaoui A, Zouari B (1997) Supervisory control of discrete event systems based on structure theory of Petri nets. In: Proc. IEEE int. conf. syst., man, cybern., Orlando, Florida, USA, pp 3750–3755

  • Chao DY (2007) Max’-controlled siphons for liveness of S3PGR2. IET Control Theory Appl 1(4):933–936

    Article  Google Scholar 

  • Chao DY (2008) Incremental approach to computation of elementary siphons for arbitrary S3PR. IET Control Theory Appl 2(2):168–179

    Article  Google Scholar 

  • Chu F, Xie XL (1997) Deadlock analysis of Petri nets using siphons and mathematical programming. IEEE Trans Robot Autom 13:793–804

    Article  Google Scholar 

  • Ezpeleta J, Colom JM, Martinez J (1995) A Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE Trans Robot Autom 11:173–184

    Article  Google Scholar 

  • Ezpeleta J, Recalde L (2004) A deadlock avoidance approach for non-sequential resource allocation systems. IEEE Trans Syst Man Cybern A 34:93–101

    Article  Google Scholar 

  • Fanti MP, Zhou MC (2004) Deadlock control methods in automated manufacturing systems. IEEE Trans Syst Man Cybern A 34:5–22

    Article  Google Scholar 

  • Hsien FS, Chang SC (1994) Dispatching-driven deadlock avoidance controller synthesis for flexible manufacturing systems. IEEE Trans Robot Autom 10:196–209

    Article  Google Scholar 

  • Huang YS, Jeng MD, Xie XL, Chung SL (2001) Deadlock prevention policy based on Petri nets and siphons. Int J Prod Res 39(2):283–305

    Article  MATH  Google Scholar 

  • Iordache MV, Antsaklis PJ (2006) Decentralized supervision of Petri nets. IEEE Trans Automat Contr 51(2):376–381

    Article  MathSciNet  Google Scholar 

  • Jeng MD, Xie XL, Chung SL (2004) ERCN* merged nets for modeling degraded behavior and parallel processes in semiconductor manufacturing systems. IEEE Trans Syst Man Cybern A 34:102–112

    Article  Google Scholar 

  • Li ZW, Hu HS (2007) On systematic methods to remove redundant monitors from liveness-enforcing net supervisors. Comput Ind Eng 56(1):53–62

    Article  MATH  Google Scholar 

  • Li ZW, Zhou MC (2004a) Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems. IEEE Trans Syst Man Cybern A 34:38–51

    Article  Google Scholar 

  • Li ZW, Zhou MC (2006a) Clarifications on the definitions of elementary siphons of Petri nets. IEEE Trans Syst Man Cybern A 36(6):1227–1229

    Article  Google Scholar 

  • Li ZW, Zhou MC (2006b) Two-stage method for synthesizing liveness-enforcing supervisors for flexible manufacturing systems using Petri nets. IEEE Trans Ind Inform 2(4):313–325

    Article  Google Scholar 

  • Li ZW, Zhao M (2008) On controllability of dependent siphons for deadlock prevention in generalized Petri nets. IEEE Trans Syst Man Cybern A Syst Humans 38(2):369–384

    Article  Google Scholar 

  • Li ZW, Hu HS, Wang AR (2007a) Design of liveness-enforcing supervisors for flexible manufacturing systems using Petri nets. IEEE Trans Syst Man Cybern C 37(4):517–526

    Article  Google Scholar 

  • Li ZW, Zhang J, Zhao M (2007b) Liveness-enforcing supervisor design for a class of generalized Petri net models of flexible manufacturing systems. IET Control Theory Appl 1(4):955–967

    Article  MathSciNet  Google Scholar 

  • Lindo (2011) Premier optimization modeling tools. http://www.lindo.com/

  • Liu GY, Li ZW (2010) General mixed integer programming-based liveness test for system of sequential systems with shared resources nets. IET Control Theory Appl 4(12):2867–2878

    Article  MathSciNet  Google Scholar 

  • Liu GJ, Jiang CJ, Chen LJ, Wu ZH (2009a) Two types of extended RSNBs and their application in modeling flexible manufacturing systems. Int J Adv Manuf Technol 45(5–6):573–582

    Article  Google Scholar 

  • Liu GJ, Jiang CJ, Wu ZH, Chen LJ (2009b) A live subclass of Petri nets and their application in modeling flexible manufacturing systems. Int J Adv Manuf Technol 41(1–2):66–74

    Article  Google Scholar 

  • Liu GJ, Jiang CJ, Zhou MC (2010a) Two simple deadlock prevention policies for S3PR based on key-resource/operation- place pairs. IEEE Trans Autom Sci Eng 7(4):945–957

    Article  Google Scholar 

  • Liu GY, Li ZW, Zhong CF (2010b) New controllability condition for siphons in a class of generalised Petri nets. IET Control Theory Appl 4(5):854–864

    Article  MathSciNet  Google Scholar 

  • Moody JO, Antsaklis PJ (2001) Petri net supervisors for DES with uncontrollable and unobservable transitions. IEEE Trans Automat Contr 45(3):462–476

    Article  MathSciNet  Google Scholar 

  • Ohta A, Tsuji K (2003) Insufficiently marked siphon of Petri nets-extension of token-free siphon. In: Proceedings of the 2003 international symposium on circuits and systems, vol 3, pp 244–247

  • Park J, Reveliotis SA (2001) Deadlock avoidance in sequential resource allocation systems with multiple resource acquisitions and flexible routings. IEEE Trans Automat Contr 46:1572–1583

    Article  MathSciNet  MATH  Google Scholar 

  • Reveliotis SA (2003) On the siphon-based characterization of liveness in sequential resource allocation systems. In: van der Aalst WMP, Best E (eds) Proc. int. conf. application and theory of Petri nets. LNCS, vol 2679, pp 241–255

  • Tricas F (2003) Deadlock analysis, prevention and avoidance in sequential resource allocation systems. Ph.D. thesis, Departamento de Informatica e Ingenieria de Sistemas. Universidad de Zaragoza

  • 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 Technol 19:192–208

    Google Scholar 

  • Wei N, Li ZW (2008) On the suboptimal liveness-enforcing supervisors based on Petri net structural analysis and the theory of regions. Int J Adv Manuf Technol 38:195–204

    Article  Google Scholar 

  • Xing KY, Zhou MC, Liu HX, Tian F (2009) Optimal Petri-net-based polynoical-complexity deadlock-avoidance polices for automated manufacturing systems. IEEE Trans Syst Man Cybern A 39(1):188–199

    Article  Google Scholar 

  • Zouari B, Barkaoui K (2003) Parameterized supervisor synthesis for a modular class of discrete event systems. In: Proc. IEEE int. conf. syst. man. cybern., Washington, DC, USA., pp 1874–1879

Download references

Acknowledgements

The authors would like to thank the National Nature Science Foundation of China under Grant No. 61104110, and the High-level Talents Research Foundation of Shihezi University under Grant No. RCZX200942.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mi Zhao.

Appendix: Basics of Petri nets

Appendix: Basics of Petri nets

A Petri net is a four-tuple N = (P, T, F, W) where P and T are finite, nonempty, and disjoint sets. P is the set of places and T is the set of transitions with P ∪ T ≠ ∅ and P ∩ T = ∅. \(F\subseteq (P\times T)\cup (T\times P)\) is called flow relation of the net, represented by arcs with arrows from places to transitions or from transitions to places. W: FN  +  is a mapping that assigns a weight to any arc, where N  + ={1, 2, ⋯ }. A net is self-loop free if \(\nexists x, y\in P\cup T, f(x,y)\in F\wedge f(y,x)\in F\). A self-loop free net N = (P, T, F, W) can be alternatively represented by its incidence matrix [N], where [N] is a |P| × |T| integer matrix and [N](p, t)=W(t, p) − W(p, t).

A marking M of N is a mapping from P to IN, where IN = {0, 1, 2, ⋯ }. M(p) denotes the number of tokens contained in place p, which is marked by M iff M(p) > 0. Let \(S\subseteq P\) be a set of places. M(S) denotes the sum of tokens contained in S at marking M, where M(S) = ∑  p ∈ S M(p). (N,M 0) is called a net system or marked net. For economy of space, we use ∑  p ∈ P M(p)p to denote vector M.

Let x ∈ P ∪ T be a node of net N = (P, T, F, W). The preset of x is defined as x = {y ∈ P ∪ T|(y, x) ∈ F}. While the postset of x is defined as x  = {y ∈ P ∪ T|(x, y) ∈ F}. This notation can be extended to a set of nodes as follows: given \(X\subseteq P\cup T\), \(^\bullet X=\cup_{x \in X}{^\bullet x}\), and \(X^\bullet=\cup_{x\in X}x^\bullet\).

A transition t ∈ T is enabled at a marking M if ∀ p ∈  t, M(p) ≥ W(f(p, t)), which will be denoted as \(M[t\rangle\); when fired in a usual way, it gives a new marking M′ such that ∀ p ∈ P, M′(p) = M(p) − W(p, t) + W(t, p), which will be denoted as \(M[t\rangle M^\prime\). Marking M′ is said to be reachable from M if there exists a sequence of transitions σ=t 0 t 1 ⋯ t n and markings M 1, M 2, ⋯, and M n such that \(M[t_0\rangle M_1[t_1\rangle\) \(M_2\cdots M_n[t_n\rangle M^\prime\) holds. The set of markings reachable from M in N is denoted as R(N, M).

A transition t ∈ T is live under M 0 if ∀ M ∈ R(N, M 0), \(\exists M^\prime\in R(N,M)\), \(M^\prime[t\rangle\). N is dead under M 0 if \(\nexists t\in T\), \(M_0[t\rangle\) holds. (N, M 0) is deadlock-free if ∀ M ∈ R(N, M 0), \(\exists t\in T\), \(M[t\rangle\) holds. (N, M 0) is quasi-live if ∀ t ∈ T, \(\exists M\in R(N,M_0)\), \(M[t\rangle\) holds. (N,M 0) is live if ∀ t ∈ T, t is live under M 0. (N, M 0) is bounded if \(\exists k\in\mathbf{IN}\), ∀ M ∈ R(N, M 0), ∀ p ∈ P, M(p) ≤ k holds. (N, M 0) is said to be reversible, if for each marking M ∈ R(G,M 0), M 0 is reachable from M. A marking M′ is said to be a home state, if for each marking M ∈ R(G, M 0), M′ is reachable from M. Reversibility is a special case of the home state property, i.e. if the home state \(M^\prime=M_0\), then the net is reversible.

A P-vector is a column vector I : PZ indexed by P and a T-vector is a column vector J : TZ indexed by T, where Z is the set of integers. A P(T)-vector I(J) is denoted by ∑  p ∈ P I(p)p (∑  t ∈ T J(t)t) for economy of space. We denote column vectors where every entry equals 0(1) by \(\textbf{0}(\textbf{1})\). I T and [N]T are the transposed versions of a vector I and a matrix [N], respectively. P-vector I is a P-invariant (place invariant) iff \(I\neq\textbf{0}\) and \(I^T[N]=\textbf{0}^T\). P-invariant I is said to be a P-semiflow if no element of I is negative. ||I|| = {p ∈ P|I(p) ≠ 0} is called the support of I. ||I|| +  = {p|I(p) > 0} denotes the positive support of P-invariant I, while ||I||− = {p|I(p) < 0} denotes the negative support of I. An invariant is called minimal when its support is not a strict superset of the support of any other, and the greatest common divisor of its elements is one. If I is a P-invariant of (N, M 0) then ∀ M ∈ R(N, M 0), \(I^TM=I^TM_0\).

Let P be set of places of net N, I be a P-vector, and \(S\subseteq P\) be a subset of places of N. \(I\backslash{S}\) is defined to be \(\sum_{p\in P\backslash{S}}I(p)p\). For example, I = 2p 1 + 3p 2 + p 3 + 4p 4 is a P-vector and S = {p 1, p 4} in some net. Then we have \(I\backslash{S}=3p_2+p_3\). I ∩ S ≠ ∅ means that \(\exists p\in{S}\), I(p) ≠ 0.

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})\). Siphon S is said to be minimal if it contains no other siphons as its proper subset. A minimal siphon S is strict if it does not contain a trap.

The following notations of generalized Petri nets are from Barkaoui and Pradat-Peyre (1996).

Definition 13

Let (N, M 0) be a marked net and S be a siphon of N. S is said to be max-marked at a marking M if \(\exists p\in S\) such that \(M(p)\geq \max_{p^\bullet}\), where \(\max_{p^\bullet}=\max\{W(p, t)\mid t\in p^\bullet\}\). S is said to be max-controlled if S is max-marked at any reachable marking.

Definition 14

A net (N, M 0) is said to satisfy the max cs-property (controlled-siphon property) if each minimal siphon of N is max-controlled.

The cs-property is an important concept in net theory on which our approaches rely. A siphon satisfying the cs-property can be always marked sufficiently to allow firing a transition once at least. In order to check and use the cs-property, Barkaoui and Pradat-Peyre (1996) proposed the conditions to determine whether a given siphon is max-controlled and establish the relationship of the cs-property and liveness property.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zhao, M., Hou, Y. An iterative method for synthesizing non-blocking supervisors for a class of generalized Petri nets using mathematical programming. Discrete Event Dyn Syst 23, 3–26 (2013). https://doi.org/10.1007/s10626-011-0124-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10626-011-0124-9

Keywords

Navigation