Discrete Dynamics in Nature and Society
Volume 2016 (2016), Article ID 8219424, 12 pages
http://dx.doi.org/10.1155/2016/8219424

Research Article

An Efficient Siphon-Based Deadlock Prevention Policy for a Class of Generalized Petri Nets

YiFan Hou,¹ Mi Zhao,² Ding Liu,¹ and Liang Hong³

¹School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China
²Machinery and Electricity College, Shihezi University, Xinjiang 832003, China
³College of Electronics and Information, Xi’an Polytechnic University, Xi’an 710048, China

Received 13 October 2015; Revised 14 January 2016; Accepted 17 January 2016

Academic Editor: Manuel De la Sen

Copyright © 2016 YiFan Hou et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

We propose a new deadlock prevention policy for an important class of resource allocation systems (RASs) that appear in the modeling of flexible manufacturing systems (FMSs). The model of this class in terms of generalized Petri nets is, namely, S⁴PR. On the basis of recent structural analysis results related to the elementary siphons in generalized Petri nets on one hand and an efficient deadlock avoidance policy proposed for the class of conjunctive/disjunctive (C/D) RASs on the other hand, we show how one can generate monitors to be added to a net system such that all its strict minimal siphons are -controlled and no insufficiently marked siphon is generated. Thereby, a new, simple, and more permissive liveness-enforcing supervisor synthesis method for S⁴PR is established.

1. Introduction

A flexible manufacturing system (FMS) is characterized by flexibility, concurrent operations, and mainly automated elements, such as production controllers, machines, automated guided vehicles, and conveyors. In an FMS, raw parts are processed in a preestablished sequence to compete for a limited number of system resources. Deadlocks may occur when some processes keep waiting indefinitely for other processes to release resources, which can lead to catastrophic results in highly automated systems. One way of dealing with deadlock problems is to model an FMS with Petri nets [1]. Deadlock prevention is considered to be one of the most effective methods in deadlock control [2–9], which is usually achieved by either designing an effective system or using an off-line mechanism to control the requests for resources to ensure that deadlocks never occur in a system. To achieve this purpose, monitors and related arcs are added to the net system. One of the most interesting past developments is the use of structural objects to design liveness-enforcing Petri net supervisors [10–16]. Above all, the concept of elementary siphons provides an efficient and effective avenue for designing structurally simple supervisors [17, 18]. Elementary siphons have been maturely applied for a class of ordinary Petri nets such as S³PR [19], as well as some classes of generalized ones [16]. Since a siphon is a set of places that does not carry the weight information and the complex allocations of shared resources in a generalized Petri net, elementary siphons in [17] are not well suitable for generalized Petri nets. By fully investigating the topological structure and the requirements of multiple resource types of S⁴PR [20–22], the concept of augmented siphons is recently proposed in [23, 24]. Indeed, since the role of weight of arcs in determining the liveness of generalized Petri nets cannot be neglected, the notion of elementary siphons is redefined by considering augmented siphons, from which a compact and suitable set of elementary siphons can be obtained.

For automated operation of modern technological systems that involve resource sharing, deadlock avoidance is also an essential control requirement. Broadly speaking, a deadlock avoidance policy tries to restrict the operation of an FMS to its reachable and safe sub-state-space. It is worth noting that we can translate the enforcement of liveness into a forbidden state problem in essence. Mutual exclusion constraints are a natural way of expressing the concurrent use of a finite number of resources, shared among different processes. In the framework of Petri nets formalisms, the work in [25] defines a generalized mutual exclusion constraint (GMEC) as a condition that limits a weighted sum of tokens contained in a subset of places. Based on this concept, the problem of forbidden state specification can be represented by GMECs. Many constraints that deal with exclusions between states and events can be transformed into the form of GMECs.

The work in [26] generalizes the deadlock avoidance policy (DAP) of conjunctive/disjunctive resource upstream neighbourhood (C/D RUN) for resource allocation systems with multiple resource acquisitions and flexible routings, namely, S⁴PR, and this policy is of polynomial complexity. Motivated by the DAP of C/D RUN policy, a deadlock prevention policy is developed in this work by combining this method with the concept of augmented and elementary siphons in S⁴PR net. First, the concept of augmented siphons is proposed. Among augmented siphons, a set of improved elementary siphons can be derived. After that, we obtain a set of linear inequality constraints expressed by state vectors from elementary siphons. After modifying them by the proposed policy, we find a set of GMECs expressed by marking vectors. Then monitors are added to the plant model such that the elementary siphons in S⁴PR are all -controlled and no insufficiently marked siphon is generated due to the addition of the monitors. Finally, it can usually lead to a highly permissive liveness-enforcing supervisor by using the elementary siphon-based deadlock control policy.

The rest of the paper is organized as follows. Section 2 introduces the definition of S⁴PR. Section 3 elaborates the concept of augmented siphons and the method of deriving a set of elementary siphons in S⁴PR. The deadlock control policy for S⁴PR is proposed in Section 4, and a typical example is introduced to show the applicability and efficiency of the proposed method, while Section 5 concludes the paper. Some basics of Petri nets and elementary siphons used throughout this paper are listed in the Appendix.

2. S⁴PR

This section gives the definition of a class of generalized Petri nets, namely, S⁴PR [13, 26, 27]. Note that, in [26], an S⁴PR is called S³PGR²: the definition of these two subclasses of nets are in fact identical. S⁴PR nets include some well known classes of Petri nets such as S³PR, ES³PR, and WS³PR. Indeed, an S⁴PR concerns the modeling of concurrently cyclic sequential processes sharing common resources where an operation place can use simultaneously multiple resources of different types. Also sequential processes (state machines) mean that an operation place can be shared (flexible routings) but assembly and disassembly operations, for which synchronization is required, cannot be considered.

Definition 1. An S⁴PR net is a generalized and self-loop free net , where

(1), ;(2) is a partition such that (i) is called the set of operation places, where and , (); (ii) is called the set of resource places; (iii) is called the set of idle places; and (iv) the output transitions of idle places are called source transitions;(3) is called the set of transitions, where , , , and ;(4), where such that , , , and ;(5), the subset generated by is a strongly connected state machine such that every cycle contains ;(6), there exists a unique minimal -invariant such that , , , and , where is a set of -dimensional nonnegative integer vectors. Furthermore, ;(7) is strongly connected.

In the special case where S⁴PR net corresponds to an asymmetric-choice (AC) net with non-blockingness (, ) and homogeneous valuation (, , ), then it is well known that liveness property is equivalent to controlled-siphon property [2]. In this paper we extend this structural liveness characterization by dealing with S⁴PR nets in the general case.

Definition 2. Let be an S⁴PR net. An initial marking is acceptable for if   , ,   , , and   , .

Example 3. The net shown in Figure 1(a) is an S⁴PR (it is also an AC net but with no homogeneous valuation), where is the set of operation places, is the set of idle places, and is the set of shared resource places. Each operation place in S⁴PR can simultaneously require multiple units of different resource types. For instance, operation place needs one unit in place and two in place simultaneously for its operation. And the S⁴PR net model consists of two parallel sequential processes as shown in Figure 1(b), that is, process : and process : . These two parallel sequential processes compete for the limited resources represented by four resource places . For example, the operation place in process 1 requests one unit in resource place , whereas the resource units may be held by operation place in process 2. The competition of the limited resources may lead to deadlocks of the net model, which is an undesired phenomenon and must be prevented by some effective instruments.
and are the minimal -semiflows associated with idle places and . , , , and are the minimal -semiflows associated with resources , , , and , respectively. Let us consider the following acceptable initial marking . The net has seven strict minimal siphons (SMSs): , , , , , , and . The strict minimal siphons are closely related to the deadlocks of a net model. Once an SMS is insufficiently marked in an S⁴PR, the net model will trap into deadlock.

(a)

(b)

Figure 1: (a) An S⁴PR model ; (b) Processes and .

3. Elementary Siphons in Generalized Petri Nets

3.1. Augmented and Elementary Siphons in S⁴PR

The concept of elementary siphons was originally proposed in [17] for a class of ordinary Petri nets, S³PR, and has been widely applied in ordinary Petri nets for designing liveness-enforcing supervisors. For more details, please refer to Appendix B: Elementary siphons. However, it still needs to be improved when a generalized Petri net is considered. In order to differentiate from the improved elementary siphons in this work, in what follows, let (resp., ) denote elementary (resp., dependent) siphons defined in [17], which is called original elementary (resp., dependent) siphons in the rest of this paper.

For the S⁴PR in Figure 1(a), by utilizing the concept of elementary siphons in [17], we have and shown as follows:

It is easy to verify that , , and . It means that there are 5 original elementary siphons and 2 original strongly dependent siphons .

For an S⁴PR, the weight of an arc may be greater than one and an operation place can use simultaneously multiple types of resources. In this subsection, augmented siphons and improved elementary ones proposed for S⁴PR in [23] are introduced. Since the weights information of arcs is vital for the liveness of generalized Petri nets and the permissive behavior of their corresponding liveness-enforcing supervisors, the notion of elementary siphons is redefined for S⁴PR nets on the basis of augmented siphons. Consequently, the improved elementary siphons are compact and well suitable for S⁴PR, which can lead to a structurally simple controlled system.

Definition 4 (see [23]). Let be an S⁴PR. For , , the operation places that use , is called the set of holders of . Let place set be a subset of holders of and . If , and , such that , where . Then is called a subset of sequential holders of , denoted as .

Definition 5 (see [23]). Let be a siphon in an S⁴PR with , where and . A multiset is called an augmented version of , where   , and   : (a) , if , , then , , ; and (b) , .

Note that a siphon and its augmented version are in one-to-one correspondence. In an S⁴PR net, by considering the simultaneous requirements of multiple resources of different types by an operation place , multiset is introduced to represent the weighted relationship of of holding and releasing resources in . From Definition 5, , , denotes the coefficient of the places in an augmented siphon , which means that the support set of is ; that is, . , always equals one; and ; the coefficient is determined by the number of resource units held by the operation place .

Example 6. For the net in Figure 1(a), take as an example. For , note that with and ; with and . Thus, we have the following: For , and for , , and , then . For , and , then . Hence, and . As a result, we obtain . Similarly, we have , , , , , and .

Definition 7 (see [23]). Let be a siphon in an S⁴PR and let be its augmented version. is called the complementary set of siphon and is called the augmented complementary set of siphon , where .

Example 8. Take in the net in Figure 1(a) as an example. Note that . Thus, .

Definition 9 (see [23]). Let be a subset of places in an S⁴PR . -vector is called the augmented characteristic -vector of if , ; otherwise .   is called the augmented characteristic -vector of .

Definition 10 (see [23]). Let be an S⁴PR with and , and let be a set of siphons of , where . Let () be the augmented characteristic -vector of siphon , . and are called the augmented characteristic - and -vector matrices of the siphons in , respectively.

Definition 11 (see [23]). Let be augmented characteristic -vector matrix of the set of siphons in an S⁴PR :

(1) is called a set of augmented elementary siphons in if , and is a linearly independent maximal set of matrix .(2) is called a strongly augmented dependent siphon if , where ; is called a weakly augmented dependent siphon if such that , , , and , where .(3)Let (resp., ) be the set of strict minimal siphons (resp., augmented dependent siphons); we have .

Example 12. The net in Figure 1(a) has 7 strict minimal siphons; we have obtained augmented versions of all 7 SMS by Definition 5. Accordingly, the corresponding and are shown as follows:

It is easy to verify that , , and . It means that 5 augmented elementary siphons and 2 augmented dependent siphons can be obtained based on the concept of augmented siphons.

Definition 13 (see [23]). Let (resp., ) be a set of original elementary (resp., dependent) siphons and let (resp., ) be a set of augmented elementary (resp., dependent) siphons in an S⁴PR . (resp., ) is called the set of elementary (resp., dependent) siphons of .

Lemma 14 (see [23]). Let be a set of SMS in an S⁴PR. Then and , where and .

Example 15. For the net in Figure 1(a), we have , , , and . By Definition 13, and can be obtained. It is obvious that is true. We have 4 elementary siphons and 3 dependent siphons finally.

3.2. Controllability of Siphons

The cs-property [2] is an important concept in liveness-enforcement for a generalized Petri net. The work in [2] provides the -controlled condition of siphons that may overly restrict the permissive behavior of the supervisor. In order to reduce this restriction, a -controlled condition of siphons for generalized Petri net was first proposed in [28]. In this subsection, the formal definitions of -controlled siphons and the controllability of siphons are presented.

Definition 16 (see [28]). Let be a subnet of with and . Place is called an input place of if and , (i.e., ).

Let be a PN and let be a subset of places. The subnet generated by is denoted by , where . For convenience, the set of input places of is called the set of input places of , denoted as .

For the net in Figure 1(a), take as an example. ; for the subnet , we have .

Definition 17 (see [23]). Let be a siphon of a well initially marked S⁴PR . is said to be -marked at marking if    such that or    such that .

Lemma 18 (see [23]). Let be a siphon in an S⁴PR and let be a marking. is -marked at if , where .

Definition 19. Let be a siphon of a well initially marked S⁴PR . is said to be -controlled if is -marked at any reachable marking , .

Example 20. For the net shown in Figure 1(a), take as an example. Note that ; we have and . Thus ; that is, is -controlled if , .

Theorem 21 (see [28]). Let be a well initially marked S⁴PR. is live if every siphon in is -controlled.

4. Deadlock Prevention Policy for S⁴PR

An S⁴PR is a subclass of sequential resource allocation systems, which can be defined by a set of resource types and a set of job processes . Each resource is characterized by its capacity , a finite positive integer, which stands for the maximum number of parts that can contemporaneously hold in . Each job type is defined by a set of operations , which is partially ordered through a set of precedence constraints. is the number of operation places in .

An algebraic polynomial deadlock avoidance policy is proposed by Park and Reveliotis [26] for the class of conjunctive/disjunctive RASs, which can be represented as a polynomially sized set of linear inequalities in the state vector:

where is an incidence matrix. Each row of can be associated with a subset of process stages . counts the number of operations in state , which execute stages in . An algebraic policy can be expressed by the condition that a state is admissible if the number of operations in state in process stage does not exceed the policy-defined bound for every process stage subset . Hence, the sequential resource allocation can be managed reasonably to guarantee the absence of deadlock states and processes by considering the RUN policy; that is, it requires that a state is admissible if the number of jobs in the upstream neighbourhood of each resource does not exceed its buffering capacity .

Definition 22 (see [25]). Let be a net system with place set . A GMEC defines a set of legal markings: , where is a weighting vector, is a set of -dimensional nonnegative integer vectors, and is called the constraint constant.

The markings in that are not in are called forbidden markings with respect to constraint .

Definition 23. A set of GMEC with and defines a set of legal markings .

Definition 24. Let be an S⁴PR with and let be a GMEC; the monitor that enforces this constraint is a new place to be added to the net system . The resulting system is denoted as with additional structure . We assume that there are no self-loop containing in , and the initial marking satisfies the constraint . Then will have incidence matrix: . can be uniquely determined by , and .

Definition 25. Let be a resource in . is the set of holders of . Then , .

Theorem 26. Let be an S⁴PR with and let be a strict minimal siphon of . Siphon is -marked if  , where ,  .

Proof. From Lemma 18, is -controlled if , . As a result, it is easy to see if , , where , is -marked.

In order to develop a liveness-enforcing supervisor for any given S⁴PR , we can add a monitor for every elementary siphon of , which imposes the linear inequality:

where is an augmented characteristic vector of , is the marking of net , and is a control depth variable such that . Since is the support of a -invariant of , we can conclude that . From Definition 5, ; that is, . As a result, the satisfaction of (5) can be ensured by satisfying the following inequality:

where , ; otherwise .

According to Theorem 26 and Definition 24, an elementary siphon of an S⁴PR cannot be insufficiently marked after the addition of its corresponding monitor based on (6). The controllability of dependent siphons of can be ensured by changing the control depth variables of its related elementary siphons. That is to say, all strict minimal siphons in can be controlled. However, this can generate new insufficiently marked control-induced siphons. It is necessary for us to modify (6) to get some new constraints. Consequently, we can find that (6) is of the same type as (4). Hence the RUN policy [26] is considered, and the sequential resource allocation can be managed reasonably to guarantee the absence of deadlock states in the resulting net. In what follows, we utilize the polynomial-complexity DAP, which is an effective modification to C/D-RAS of the RUN DAP. Some notations are defined as follows.

Definition 27. Let be an S⁴PR. Suppose that a monitor is added for each elementary siphon with ; then is called a virtual resource of .

Definition 27 defines the right-hand side of (6) by a virtual resource . Each virtual resource relates to the resources included in its corresponding elementary siphon but does not exist in net actually. The number of virtual resources is equal to that of elementary siphons. Virtual resources can serve as the temporary buffer in a system, and a state is admissible if the number of jobs in the upstream neighborhood of virtual resources (denoted as ) does not exceed its buffering capacity , where is defined below.

Definition 28. Let be the virtual resource that support the execution of operation and let be an elementary path from to , where , , , and is the set of job processes in an S⁴PR. is called a set of job operations in the upstream neighborhood of resource place , where is any partial order defined on , and .

Definition 29. Let , , be any partial order imposed on the virtual resource set . Given an operation place , let

Also, let . By convention, if . Then we have the following:

(1)The neighborhood set of is defined recursively by the following equation:

(2), the adjusted resource allocation requirement , is a -dimensional nonnegative vector under partial order (resource ordering), which is given by the following expression:

The policy-imposed constraint on the system operation is expressed by the requirement that no virtual resource is overallocated with respect to the adjusted operation requirements specified by (9). Actually, the set of linear inequality constraints of elementary siphons can be written in the following matrix form:

where the column vector in corresponding to an operation place is , vector is the restriction of marking to operation places, and is the capacity vector of virtual resources; that is, , .

Theorem 30. Let be an S⁴PR and let be the net resulting from adding monitors for elementary siphons only by Definition 24. is a live controlled system if the following linear programming problem (LPP) has a feasible solution:

where and is the -invariant of .

Proof. From Theorem 26 and Definition 29, all elementary siphons are -controlled and no control-induced siphon is generated due to the addition of monitors. If the LPP has a feasible solution, it means that all dependent siphons are controlled by properly setting the control depth variables of the elementary siphons. As a result, all siphons are -controlled, which indicates that the controlled system is live.

Based on the discussion above, an algorithm of designing liveness-enforcing supervisor for S⁴PR based on improved elementary siphons is developed as in Algorithm 1.

     Input: an PR

     Output: a live controlled system

() begin;

() Compute the set of SMS and their corresponding augmented siphons

() Find the set of elementary siphons , dependent siphons , and the set of virtual

     resources .

() for ( to ) do

()     Compute the augmented complementary set of elementary siphons ,.

() end for

() Compute the set of linear inequality constraints expressed by state vectors from according to (4), where is an incidence

     an incidence matrix, binary matrix restricts the PN marking vector to its components corresponding to places , and

      , , otherwise ; , .

() According to Definition 29, modify the matrix to be matrix .

() Get the set of GMEC expressed by the marking vector according to (10), that is, , where vector is the restriction

     of marking to operation places.

() if () then

()     Find a set of for elementary siphons by solving the LPP according to Theorem 30, where .

()     Get the adjusted GMEC , where .

() end if

() According to Definition 24 and the above set of GMEC, add the set of monitors for the corresponding to the net , and the

        obtained controlled system is denoted by .

() output

() end.

Algorithm 1: A deadlock prevention policy for PR based on improved elementary siphons.

Theorem 31. Let be a marked S⁴PR net and let be an elementary siphon of . is -controlled after adding monitor by Algorithm 1 (line (14)).

Proof. For Algorithm 1 (line (14)), the monitor adding for siphon is according to the Definition 24. And by Theorem 30, is -controlled by the control of .

Theorem 32. Let be a marked S⁴PR net and let be the set of elementary siphons of . is live if the set of monitors is added by Algorithm 1.

Proof. This result follows from the fact that all siphons are -controlled and no new non--controlled siphon is generated in . By Theorem 21, is live.

For Algorithm 1, a complete siphon enumeration is needed, and the time complexity of computing all SMSs in the worst case is exponential with the number of nodes of the net system, that is, , where is the number of arcs and is the number of nodes of the nets. Therefore, the temporal complexity of Algorithm 1 is exponential with the scale of the Petri net model in the worst case.

Example 33. For the net in Figure 1(a), we have four elementary siphons: , , , and . Their augmented versions are , , , and . Moreover, their augmented complementary sets are as follows: , , , and .
Then we can find the virtual resources for this system: , , , and . Therefore we obtain the initial set of linear inequality constraints expressed by state vector :

where denotes the state vector defined by the operation place set, , expressed by the following vector:

We consider the net in Figure 1(a) under the virtual resource orders , , , and . From Definition 29, the neighborhood sets associated with the operation places can be computed starting from the terminal operation places according to the partial order mentioned above.
For job , we have

 , by , and ; , , and ; , , and ; , , and ; , , and .

For job , we have

 , , and ; , , and ; , , and ; , , and ; , , and .

The adjusted virtual resource allocation requirements can be found as follows: , , , , , , , , , and . Thus the modified set of linear inequality constraints expressed by state vector is shown below:

According to Algorithm 1, a feasible solution of the LPP according to Theorem 30, , can be found and . The adjusted GMEC is consistent with .
Four constraints need to add four monitors , , , and to the original net system. It can be indicated that all siphons are -controlled. The resulting net system is live after adding four monitors as shown in Table 1.
The example is also studied by applying control polices reported in other papers. Table 2 shows their comparison that is done in terms of resultant supervisor’s structural complexity and behavior permissiveness by using policies among [13, 23] and the proposed method.

Table 1: Monitors added for the net shown in Figure 1(a).

,
,
5

,
,
5

2

,
,
6

Table 2: The performance comparison of supervisors for the PR in Figure 1(a) due to different policies.

Parameter
The method in [13]
The method in [23]
The proposed method

Permissive behavior
676
1723
2032

Number of monitors
5
4
4

Number of arcs
19
14
14

Next, another S⁴PR example shown in Figure 2, which is not an AC net and without homogeneous valuation, is used to further illustrate the applicability and efficiency of the proposed method. By using Algorithm 1, the resulting live controlled system with three monitors is shown in Table 3. Similarly, Table 4 shows the comparison of control performances among [13, 23] and the proposed method.

Table 3: Monitors added for the net shown in Figure 2.

,
,
4

,
,
4

,
,
3

Table 4: The performance comparison of supervisors for the PR in Figure 2 due to different policies.

Parameter
The method in [13]
The method in [23]
The proposed method

Permissive behavior
456
1158
1453

Number of monitors
5
3
3

Number of arcs
26
13
13

Figure 2: An S⁴PR net system .

From this two case studies, it can be concluded that the liveness-enforcing supervisors synthesised by the proposed method are more structurally simple, and the final controlled net system can be obtained with more permissive behavior than some other elementary siphon-based approaches. Tracing to the essential reasons, the advantage of the proposed method is that the number of the elementary siphons explicitly controlled is more smaller by introducing the concept of augmented siphons, which can significantly reduce the structural complexity of the supervisors. Meanwhile, the constraints imposed by the monitors are less restrictive on account of combining the DAP of RUN policy with improved elementary siphons in an S⁴PR net.

5. Conclusion

This paper presents an elementary siphon-based deadlock prevention method for a class of generalized Petri nets, called S⁴PR that can deal with the modeling of concurrently cyclic sequential processes sharing common resources, where deadlocks are caused by the insufficiently marked siphons in their Petri net models. Generally, all insufficiently marked siphons are divided into elementary siphons and dependent ones by using the concept of augmented siphons in this work. From the former, a set of linear inequality constraints expressed by state vectors is obtained. Then we utilize a deadlock control method that combines the DAP of RUN policy with elementary siphons theory to ensure that all siphons are -controlled after adding a monitor for each elementary siphon. Consequently, the resulting net system by using the proposed method is live. The major advantage of this new Petri nets based deadlock prevention method as a liveness-enforcing supervisor synthesis is that a small number of monitors are added leading to a more permissive behavior. Since a complete siphon enumeration is computationally expensive, our future work will be guided to develop an approach without a complete siphon enumeration.

Appendices

In this part, the fundamental concepts and some of the notations of Petri nets and the definitions of elementary siphons involved in this work are recalled to make paper self-contained. For more details, please refer to [17, 29].

A. Basics of Petri Nets

A Petri net, as a graphical and mathematical model, is a directed bipartite graph, which consists of a net structure and an initial marking. A formal definition is given as follows [29].

Definition 34. A generalized Petri net structure is a four-tuple , where and are finite and nonempty sets. is the set of places and is the set of transitions with . is called flow relation of the net, represented by arcs with arrows from places to transitions or from transitions to places. is a mapping that assigns a weight to any arc: if , and , otherwise, where and . is called an ordinary net, denoted as , if ,  .

A net is pure (self-loop free) if , implies . A pure net can be alternatively represented by its incidence matrix , which is a integer matrix with . For a place (resp., transition ), its incidence vector, a row (resp., column) in , is denoted as (resp., ).

A marking of is a mapping from to . denotes the number of tokens contained in place , which is marked by if . Let be a set of places. denotes the sum of tokens contained in at marking , where . is called a net system, and is called an initial marking of . For economy of space, we use to denote vector .

Let be a node of net . The preset of is defined as , while the postset of is defined as . This notation can be extended to a set of nodes as follows: given , , and .

A transition is enabled at a marking if , , which is denoted as ; when fired in a usual way, it gives a new marking such that , , which is denoted as . Marking is said to be reachable from if there exists a sequence of transitions and markings , and such that holds. The set of markings reachable from in is denoted as . The set of all reachable markings for a Petri net with initial marking is denoted by .

A transition is live under if , , . is live if , is live under . is deadlock-free if , , and hold. A Petri net contains a deadlock if there is a marking at which no transition is enabled. Such a marking is called a dead marking. Deadlock situations are a result of inappropriate resource allocation policies or exhaustive use of some or all resources. Liveness of a Petri net means that, for each marking reachable from , it is finally possible to fire any transition in the Petri net through some firing sequence. This means if a Petri net is live, then it has no deadlock. is bounded if , , , and hold. Boundedness is used to identify the existence of overflows in the modeled system. is said to be reversible, if, for each marking , is reachable from . A marking is said to be a home state, if, for each marking , is reachable from .

A -vector is a column vector indexed by and a -vector is a column vector indexed by , where is the set of integers. and are the transposed versions of a vector and a matrix , respectively. -vector is a -invariant (place invariant) if and . -invariant is said to be a -semiflow if no element of is negative. denotes the positive support of -invariant , while denotes the negative support of . 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 is a -invariant of then , .

A nonempty set is a siphon if . is a trap if . A siphon (resp., trap) is minimal if there is no siphon (resp., trap) contained in it as a proper subset. A minimal siphon is said to be strict if . A siphon remains empty once it loses all tokens. A trap remains marked once it is marked. Let be a siphon in a net . is said to be -marked at a marking if such that . A siphon is said to be -controlled if it is -marked at any reachable marking.

B. Elementary Siphon

Elementary and dependent siphons were first proposed in [17] and are essential to the development of a structurally simple liveness-enforcing monitor-based supervisor.

Let be a subset of places of Petri net . -vector is called the characteristic -vector of if , ; otherwise . is called the characteristic -vector of , where is the transpose of incidence matrix .

Let be a net with , , and let be a set of siphons of , where . Let (resp. ) be the characteristic -vector (resp., -vector) of siphon , where . and are called the characteristic - and -vector matrices of the siphons in , respectively.

Definition 35 (see [17]). Let , and () be a linearly independent maximal set of matrix . Then is called a set of elementary siphons in . is called a strongly dependent siphon if , where . is called a weakly dependent siphon if such that , , , and , where .

Elementary and dependent siphons defined in Definition 35 are originally proposed in [17] and further clarified in [18]. In order to differentiate from the augmented elementary ones proposed in [23], elementary siphons defined in [17] are called the original elementary siphons (dependent siphons) in this paper and denoted as (resp., ), which is called the set of original elementary (resp., original dependent) siphons.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

This work was supported by the National Natural Science Foundation of China under Grant nos. 61304050, 61403296, and 61563045, in part by the Fundamental Research Funds for the Central Universities under Grant no. JB140407, and the Natural Science Basic Research Plan in Shaanxi Province of China under Grant no. 2015JQ6258.

References

M. C. Zhou and Z. W. Li, “Special issue on ‘Petri Nets for system control and automation’,” Asian Journal of Control, vol. 12, no. 3, pp. 237–239, 2010.

K. Barkaoui and J. F. Pradat-Peyre, “On liveness and controlled siphons in PETri nets,” in Application and Theory of Petri Nets 1996: 17th International Conference Osaka, Japan, June 24–28, 1996 Proceedings, vol. 1091 of Lecture Notes in Computer Science, pp. 57–72, Springer, Berlin, Germany, 1996.

Y. F. Chen, Z. W. Li, M. Khalgui, and O. Mosbahi, “Design of a maximally permissive liveness-enforcing Petri net supervisor for flexible manufacturing systems,” IEEE Transactions on Automation Science and Engineering, vol. 8, no. 2, pp. 374–393, 2011.

Y. F. Chen and Z. W. Li, “On structural minimality of optimal supervisors for flexible manufacturing systems,” Automatica, vol. 48, no. 10, pp. 2647–2656, 2012.

Y. S. Huang and Y. L. Pan, “An improved maximally permissive deadlock prevention policy based on the theory of regions and reduction approach,” IET Control Theory and Applications, vol. 5, no. 9, pp. 1069–1078, 2011.

Z. W. Li, N. Q. Wu, and M. C. Zhou, “Deadlock control of automated manufacturing systems based on petri nets—a literature review,” IEEE Transactions on Systems, Man and Cybernetics Part C: Applications and Reviews, vol. 42, no. 4, pp. 437–462, 2012.

D. Liu, Z. W. Li, and M. C. Zhou, “Hybrid liveness-enforcing policy for generalized petri net models of flexible manufacturing systems,” IEEE Transactions on Systems, Man, and Cybernetics: Systems and Humans, vol. 43, no. 1, pp. 85–97, 2013.

M. Zhao, Y. F. Hou, and D. Liu, “Liveness-enforcing supervisors synthesis for a class of generalised Petri nets based on two-stage deadlock control and mathematical programming,” International Journal of Control, vol. 83, no. 10, pp. 2053–2066, 2010.

M. Zhao and Y. F. Hou, “An iterative method for synthesizing non-blocking supervisors for a class of generalized Petri nets using mathematical programming,” Discrete Event Dynamic Systems, vol. 23, no. 1, pp. 3–26, 2013.

K. Barkaoui, A. Chaoui, and B. Zouari, “Supervisory control of discrete event systems based on structure theory of Petri nets,” in Proceedings of the IEEE International Conference on Systems, Man, Cybernetics, Computational Cybernetics and Simulation, vol. 4, pp. 3750–3755, Orlando, Fla, U.S.A, October 1997.

Y. F. Hou, Z. W. Li, L. Hong, and A. M. Al-Ahmari, “Optimal controllability of 3-composed siphons in a class of Petri nets,” Electronics Letters, vol. 49, no. 11, pp. 697–699, 2013.

Y. F. Hou, Z. W. Li, and A. M. Al-Ahmari, “Optimal controllability of 2-composed siphons in a class of Petri nets,” Electronics Letters, vol. 48, no. 24, pp. 1535–1537, 2012.

Z. W. Li, J. Zhang, and M. Zhao, “Liveness-enforcing supervisor design for a class of generalised Petri net models of flexible manufacturing systems,” IET Control Theory & Applications, vol. 1, no. 4, pp. 955–967, 2007.

D. Liu, Z. W. Li, and M. C. Zhou, “Liveness of an extended S³PR,” Automatica, vol. 46, no. 6, pp. 1008–1018, 2010.

M. M. Yan and C. F. Zhong, “A deadlock prevention policy for a class of Petri net models of flexible manufacturing systems,” International Journal of Production Research, vol. 49, no. 24, pp. 7379–7396, 2011.

M. Zhao, Z. W. Li, and H. S. Hu, “Suboptimal liveness-enforcing supervisor design for a class of generalised Petri nets using partial siphon enumeration and mathematical programming,” International Journal of Systems Science, vol. 41, no. 9, pp. 1013–1026, 2010.

Z. W. Li and M. C. Zhou, “Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems,” IEEE Transactions on Systems, Man, and Cybernetics A: Systems and Humans, vol. 34, no. 1, pp. 38–51, 2004.

Z. W. Li and M. C. Zhou, “Clarifications on the definitions of elementary siphons in Petri nets,” IEEE Transactions on Systems, Man, and Cybernetics Part A: Systems and Humans, vol. 36, no. 6, pp. 1227–1229, 2006.

Z. W. Li and M. C. Zhou, “Control of elementary and dependent siphons in Petri nets and their application,” IEEE Transactions on Systems, Man, and Cybernetics Part A: Systems and Humans, vol. 38, no. 1, pp. 133–148, 2008.

E. E. Cano, C. A. Rovetto, and J. M. Colom, “An algorithm to compute the minimal siphons in nets,” Discrete Event Dynamic Systems, vol. 22, no. 4, pp. 403–428, 2012.

S. A. Reveliotis, “On the siphon-based characterization of liveness in sequential resource allocation systems,” in Applications and Theory of Petri Nets 2003, W. M. P. van der Aalst and E. Best, Eds., vol. 2679 of Lecture Notes in Computer Science, pp. 241–255, Springer, Berlin, Germany, 2003.

F. Tricas, F. García-Vallés, J. M. Colom, and J. Ezpeleta, “A Petri net structure-based deadlock prevention solution for sequential resource allocation systems,” in Proceedings of the IEEE International Conference on Robotics and Automation, pp. 271–277, IEEE, Barcelona, Spain, April 2005.

Y. F. Hou, Z. W. Li, M. Zhao, and D. Liu, “Extended elementary siphon-based deadlock prevention policy for a class of generalised Petri nets,” International Journal of Computer Integrated Manufacturing, vol. 27, no. 1, pp. 85–102, 2014.

Y. F. Hou, Z. W. Li, M. Zhao, and D. Liu, “Extraction of elementary siphons in a class of generalized Petri nets using graph theory,” Engineering Computations, vol. 31, no. 2, pp. 331–352, 2014.

A. Giua, F. DiCesare, and M. Silva, “Generalized mutual exclusion constraints on nets with uncontrollable transitions,” in Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, pp. 974–979, Chicago, Ill, USA, October 1992.

J. Park and S. A. Reveliotis, “Deadlock avoidance in sequential resource allocation systems with multiple resource acquisitions and flexible routings,” IEEE Transactions on Automatic Control, vol. 46, no. 10, pp. 1572–1583, 2001.

F. Tricas, F. García-Vallés, J. M. Colom, and J. Ezpeleta, “An iterative method for deadlock prevention in FMSs,” in Proceedings of the 5th Workshop on Discrete Event Systems (WODES '00), R. Boel and G. Stremersch, Eds., pp. 139–148, Ghent, Belgium, August 2000.

D. Y. Chao, “Max'-controlled siphons for liveness of S3PGR2,” IET Control Theory and Applications, vol. 1, no. 4, pp. 933–936, 2007.

Z. W. Li and M. C. Zhou, Deadlock Resolution in Automated Manufacturing Systems: A Novel Petri Net Approach, Springer, Berlin, Germany, 2009.