Siphon Basis-Based Design of Petri Net Controllers for a ... - IEEE Xplore

1 downloads 0 Views 498KB Size Report
Siphon Basis-Based Design of Petri Net Controllers for a Class of Flexible Manufacturing Systems. Huixia Liu. School of Information and Electrical Engineering.
Siphon Basis-Based Design of Petri Net Controllers for a Class of Flexible Manufacturing Systems Huixia Liu

Zhenxin Gao

School of Information and Electrical Engineering Ludong University Yantai, China [email protected]

Systems Engineering Institute Xi’an Jiaotong University Xi’an, China [email protected]

Abstract—This paper develops a new deadlock prevention policy for a class of flexible manufacturing systems called as systems of simple sequential processes with resources (S3PRs). Siphon basis is introduced to obtain a compact Petri net controller by considering the complementary sets of siphons in S3PRs. A siphon basis consists of strict minimal siphons (SMSs) whose complementary sets can cover the complementary set of each SMS in Petri nets. It is proved that a live Petri net controller can be constructed based on a controllable siphon basis. The structural complexity of the obtained controller is largely reduced because the number of SMSs in a controllable siphon basis is no more than that of the operation places in S3PRs. Based on a controllable siphon basis, a new deadlock prevention policy is established for S3PRs. An example is utilized to demonstrate the proposed method. Keywords—Flexible manufacturing systems, Petri deadlock control, siphons, linear integer programming

I.

nets,

INTRODUCTION

Flexible manufacturing systems (FMS) usually exhibit a high degree of resource sharing. When various jobs get into the system to compete for limited resources, deadlock would occur if proper control strategies were absent. The deadlock involving a set of jobs may propagate to other jobs, eventually cripple the whole system. So deadlock may lead to catastrophic results in highly automated FMSs [2]. A deadlock state can be characterized in terms of siphons [6]-[7]. Siphons control, which is to add for every siphon a monitor to the original net model such that it is invariant controlled, is usually treated as an effective way to address deadlock problems. Ezpeleta et al. [1] present a special class of Petri nets called systems of simple sequential processes with resources (S3PRs). Based on siphons, they establish a deadlock prevention policy for S3PRs. Another deadlock prevention policy for S3PRs proposed in [3] is an iterative approach consisting of two main stages. The first stage is known as siphon control, and the second stage as augmented siphon control. While the previous study results indicate it is no necessary to control every siphon. Selecting a key subset of siphons to be controlled has been an important approach in designing a live controller with small size for FMSs. Li and Zhou [5] present the concept of elementary siphons whose number is This work was supported in part by the National Nature Science Foundation of China under Grants 61304052, Shangdong Province Outstanding Young Research Award Fund under Grants BS2013DX005, and Doctoral Fund of Ludong University under Grants LY2013008

978-1-4799-2827-9/13/$31.00 ©2013 IEEE

much less than that of all strict minimal siphons (SMSs). They then make dependent siphons controlled by only controlling elementary siphons. Based on a set covering approach that conveniently relates siphons and marking, Prioddi et al. [8] establish a selective siphon control for deadlock prevention in Petri nets and provide a small size controller. This paper introduces the concept of siphon basis, and proposes a new criterion for selecting a part of proper siphons. A siphon basis is a subset of SMSs whose complementary sets can cover complementary sets of all other SMSs. It proves that one can design a live Petri net controller with small size based on a controllable siphon basis. Hence, a new deadlock prevention policy is established for S3PRs. The rest of the paper is organized as follows. Section Ⅱ reviews basic definitions and properties of Petri nets and S3PRs. The concepts of a siphon basis and a Petri net controller are introduced and how to determine control depth variables in Section Ⅲ . Meanwhile, a new deadlock prevention policy based on a controllable siphon basis is presented in Section Ⅲ. An example is illustrated the deadlock prevention policy in Section Ⅳ. Finally, Section Ⅴ concludes this paper. II.

PLRLIMINARIES

A. Basic Definitions of Petri Nets A Petri net is a 3-tuple N = (P, T, F), where P and T are finite, nonempty and disjoint sets. P is a set of places and T is a set of transitions. F ⊆ (P × T) ∪ (T × P) is called directed arcs. Given a Petri net N = (P, T, F) and a vertex x ∈ P ∪ T, the preset of x is defined as •x = {y ∈ P ∪ T | (y, x) ∈ F}, and the post set of x is defined as x• = {y ∈ P ∪ T | (x, y) ∈ F}. The notation can be extended to a set. For example, let X ⊆ P ∪ T, then •X = ∪x∈X •x and X • = ∪x∈X x•. A state machine is a Petri net in which each transition has exactly one input and one output place. A marking or state of N is a mapping M: P → , where is the non-negative integer set. Given a place p ∈ P and a marking M, M(p) denotes the number of tokens in p at M, and we use Σp∈P M(p)p to denote vector M. Let S ⊆ P be a set of places, the sum of tokens in all places of S at M is denoted by M(S), i.e., M(S) = Σp∈S M(p). A Petri net N with an initial

marking M0 is called a marked Petri net or net for simplicity, denoted as (N, M0). A transition t ∈ T is enabled at a marking M, denoted by M [ t >, if ∀ p ∈ •t, M (p) > 0. An enabled transition t at M can be fired, resulting in a new marking M′, denoted by M [t > M′, where M′ (p) = M(p) −1, ∀ p ∈ •t \ t•; M′ (p) = M(p) +1, ∀ p ∈ t• \•t; and otherwise M′(p) = M(p), ∀p ∈ P − {•t \ t•, t• \•t}. A sequence of transitions α = t1t2…tk, ti ∈ T, i ∈ k = {1, 2, …, k}, is feasible from a marking M, if there exist Mi [ ti >Mi+1, i ∈ k, where M1 = M, and Mi is called a reachable marking from M. Let R(N, M0) denote the set of all reachable markings of N from M0. A transition t is live if ∀ M ∈ R(N, M0), ∃ M′ ∈ R(N, M) such that M′ [t > holds. A net is live if every transition is live. Two marked Petri nets (Ni, Mi0) = (Pi, Ti, Fi, M i0), i ∈ {1, 2}, are compatible if ∀ p ∈ P1 ∩ P2, M10(p) = M20(p). The composition of two compatible marked Petri nets (N1, M10) and (N2, M20) is a marked Petri net (N1, M10) ⊗ (N2, M20) = (P, T, F, M0), where P = P1 ∪ P2, T = T1 ∪ T2, F = F1 ∪ F2, and M0(p) = M i0(p) if p ∈ Pi, i ∈ {1, 2}. The incidence matrix of N is a matrix [N]: P × T → {−1, 0, 1} such that [N](p, t) = −1 if p ∈ •t\t•; [N](p, t) = 1 if p ∈ t•\•t; is a and otherwise [N](p, t) = 0. A nonzero P-vector Ι: P → P-invariant if Ι ≠ 0 and ΙT [N] = 0T. The support of a Ρinvariant Ι is the set of places: ||Ι || = {p ∈P | Ι(p) ≠ 0}. A nonempty subset of places S ⊆ P is a siphon if •S ⊆ S•, i.e., an input transition is also an output transition of S. A siphon is minimal if there does not exist a siphon contained in it as a proper subset. A minimal siphon is strict if it does not contain the support of any P-invariant in N. For short, strict minimal siphon is written as SMS. Let Π denote the set of all SMSs of N throughout the paper. B. S3PR Class A system of simple sequential processes with resources (S3PR) [1] is an ordinary Petri net N = (P ∪ P0 ∪ PR, T, F) such that 1) P ∪ P0 ∪ PR is a partition such that: (1.1) P =

5) The two following statements are verified: (5.1) ∀ r ∈ PR, ••r ∩ P = r•• ∩ P ≠ ∅; (5.2) ∀ r ∈ PR, •r ∩ r• =∅; (5.3) •• 0 (P ) ∩ PR = (P0)•• ∩ PR = ∅. Let N = (P ∪ P0 ∪ PR, T, F) be an S3PR and a transition t ∈ T, let (p)t and t(p) denote the input and output operation or process idle places of t, respectively, and (r)t and t(r) denote the input and the output resource place of t, respectively. The notion can be extended to a set. For example, let Y ⊆ T, then (p) Y = ∪t∈Y (p)t and Y(p) = ∪t∈Y t(p). For a given marking M ∈ R(N, M0), t is process-enabled at M if M((p)t) > 0, and t is resource-enabled at M if M((r)t) > 0. Only transitions that are process- and resource-enabled at the same time can be fired. For a given resource place r ∈ PR, H(r) = ••r ∩ P is called the set of holders of r. This notation can be extended to sets, for example, if R is a set of resource places, H(R) = ∪r∈R H(r). Let S be an SMS, and C[S] = H(RS) \ S, where RS = S ∩ PR. C[S] is called the complementary set of S and C[S] ≠ ∅. Let N = (P ∪ P0 ∪ PR, T, F) be an S3PR, and x and y be two nodes in P ∪ T. If there exists a simple path in N from x to y with length greater than 1, which does not contain any place in P0 ∪ PR, we say that x is previous to y in N. This fact is denoted as x < y. Let Z ⊆ (P ∪ T) be a set of nodes of N. Then we say that x is previous to Z in N if and only if there exists a node z ∈ Z so that x < z, denoted as x < Z. The fact that x is not previous to Z in N is denoted as x ≮ Z. III.

SIPHON BASIS

A. Definition of Siphon Basis Definition 1: Let Ξ ⊆ ∏ be a subset of SMSs in a marked S3PR (N, M0). If for each S ∈ ∏ \ Ξ, C[S] ⊆ ∪S′∈Ξ C[S′], then Ξ is called as a siphon basis of (N, M0). Example 1: Consider a marked Petri net (N, M0) shown in Fig. 1.

k ∪i= 1 Pi is

the set of operation places, where Pi ∩ Pj = ∅ for all i ≠ j; (1.2) P0 = {

p10 , p20 , …, pk0 } is the set of process idle places;

(1.3) PR = {r1, r2, …, rn} is the set of resource places, where n > 0. 2) T =

k ∪i= 1 Ti is the set of transitions, where Ti ∩ Tj = ∅

for all i ≠ j. 0

3) ∀ i ∈ k, the subnet Ni generated by Pi ∪ { pi } and Ti is a strongly connected state machine, and every circuit of Ni 0 contains pi . 4) ∀ p ∈ P, ∀ t1∈ •p, ∀ t2 ∈ p•, •t1 ∩ PR = t2• ∩ PR = {r}, denoted as ℜ(p) = r. We say that p uses r.

Fig. 1. A marked S3PR (N, M0).

It is easy to verify that there are four SMSs in the Petri net shown in Fig. 1 as follows. S1 = {m1, m2, p11, p21, p32, p42, p52, p62}, S2 = {m2, m3, p12, p22, p32, p41, p52, p61}, S3 = {m1, m3, p12, p22, p31, p42, p51, p62}, and S4 = {m1, m2, m3, p12, p22, p32, p42, p52, p62}. Let Ξ = {S1, S2, S3}. C[S1] = H({m1, m2})\S1 = {p31,

p41}, C[S2] = {p21, p51} and C[S3] = {p11, p61}. Thus, C[S1] ∪ C[S2] ∪ C[S3] = {p11, p21, p31, p41, p51, p61} = C[S4], and Ξ = {S1, S2, S3} is a siphon basis of the Petri net shown in Fig. 1. B. Petri Net Controllers To prevent any SMS in a siphon basis to be empty, we add a control place and related arcs to it. 0

Definition 2: Let (N, M0) = (P ∪ P ∪ PR, T, F, M0) be a marked S3PR, and Ξ ∈ ∏. The net (CΞ, MΞ0) = (PΞ, TΞ, FΞ, MΞ0) is called as the Petri net controller of (N, M0) with respect to Ξ if and only if 1) PΞ = {pS, S ∈ Ξ | pS is a control place corresponding to S} is a set of control places; 2) FΞ = FΞ1 ∪ FΞ2 ∪ FΞ3 such that FΞ1 = ∪S ∈ Ξ{(pS, t) | t ∈ P0•, t < C[S]}, FΞ2 = {(t, pS) | t ∈ C[S]•, t ≮ C[S]}, FΞ3 = {(t, pS) | t ≮ C[S], and ∃ t1∈ ((p)t)•, ∋ t1 < C[S]}; 3) TΞ = ∪S ∈ Ξ (pS• ∪ •pS);

with respect to Ξ shown in Table 1. Unfortunately, (CΞ, MΞ0) is not live because S4 is empty at M = 5p1 + 4p2 + p21 + 4p3 + p31 + 5p4 + 5p5 + 4p6 + p61. Table 1 A Petri net controller (CΞ, MΞ0) to Ξ of Petri net (N, M0) pS



pS1

t32, t42

t31, t41

1

pS2

t22, t52

t21, t51

1

pS3

t12, t62

t11, t61

1

pS

pS•

MΞ0(pS)

Definition 3: Let Ξ ⊆ ∏ be a siphon basis of a marked S3PR (N, M0). If for each S ∈ ∏ \ Ξ, there exists ΞS ⊆ Ξ such that 1) C[S] ⊆ ∪S′∈Ξ S C[S′]; and 2) M0(RS) > |ΞS|, where |ΞS| denote the number of SMSs in ΞS. Then Ξ is called a controllable siphon basis of (N, M0), and ΞS as the relevant siphon set of S. Theorem 1: Let Ξ ⊆ ∏ be a controllable siphon basis of a marked S3PR (N, M0). Add to each Si ∈ Ξ a control place and related arcs with the control depth variable ξi and denote by (NC, MC0) the controlled Petri net. Then (NC, MC0) is live.

4) MΞ0 is defined as follows: (4.1) MΞ0(p) = M0(p), ∀ p ∈ P ∪ P0 ∪ PR; (4.2) MΞ0(pS) = M0(RS) − ξS, where ξS ∈ [1, M0(RS) − 1] is an integer called as a control depth variable.

Proof: If S ∈ Ξ, S is not empty at any reachable marking of (NC, MC0) by Definition 2. If S ∈ ∏ \ Ξ, there exists ∏S = {S1,

By Definition 2, the controlled Petri net with respect to Ξ is defined as follows.

because Ξ is a controllable siphon basis. Since ξi ranges from

(NC, MC0) = (N, M0) ⊗ (CΞ, MΞ0) = (P ∪ P0 ∪ PR ∪ PΞ, T, F ∪ FΞ, MC0), where MC0(p) = M0(p), ∀ p ∈ P ∪ P0 ∪ PR; MC0(p) = MΞ0(p), ∀ p ∈ PΞ.

n n n Σi= 1 M0(RSi) − n. Due to M0(RS) > n, Σ i=1 ξi > Σ i=1 M0(RSi) −

It is obvious that each SMS in Ξ is not empty at any reachable marking M of (NC, MC0) because M0(S) < MΞ0(pS) due to Definition 2. Whether each SMS in Π \ Ξ is empty at any reachable marking of the controlled system is determined by the value of control depth variables, and the determination of control depth variables is discussed in next subsection. C. Determination of Control Depth Variables Lemma 1: Let Ξ be a subset of SMSs of a marked S3PR (N, M0). Add to each S ∈ Ξ a control place and related arcs with the control depth variable ξS and denote by (NC, MC0) the controlled Petri net. For each SMS S′ different from all S∈ Ξ, S′ is not empty at any reachable marking of (NC, MC0) if C[S′] ⊆ ∪S∈Ξ C[S] ΣS∈Ξ ξS ≥ ΣS∈Ξ M0(RS) − M0(RS′) + 1

(1) (2)

Proof: The proof is omitted because of space limitation. ▊ Example 2: In the Petri net shown in Fig. 1, we add a control place pSi and related arcs for each Si with a control depth variable ξi, i ∈ 3, the value of ξi must be 1 due to 1 ≤ ξi < M0( RSi ) = 2, and we obtain a Petri net controller (CΞ, MΞ0)

n

S2, …, Sn} ⊆ Ξ such that C[S] ⊆ ( ∪i=1 C[Si]) and M0(RS) > n 1 to M0(RSi) − 1, we can set ξi = M0(RSi) − 1. Thus,

M0(RS), and then

n Σi= 1 ξi =

Σin=1ξ i ≥ Σin=1 M0(RSi) − M0(RS) − KΨ +1,

which implies that for S ∈ ∏ \ Ξ, there exist ΠS and ξi such that two inequalities (1) and (2) of Lemma 1 hold. Hence, S is not empty at any reachable marking of (NC, MC0) by Lemma 1. Since there are no new SMSs generated in the controlled net (NC, MC0) by Definition 2, there are no empty SMSs in (NC, MC0). Since (NC, MC0) is an RCN-merged net and no existence of empty siphons is equal to liveness due to its special structure [4], (NC, MC0) is live. ▊ Based on Theorem 1, we will present a new deadlock prevention policy for S3PRs as follows. Algorithm (Deadlock prevention policy based on a controllable siphon basis) Input: a marked S3PR (N, M0) and a given controllable siphon basis Ξ of N; Output: a live controlled system (NC, MC0); Step 1: Add to each S ∈ Ξ a control place and related arcs with a control depth variable ξS. Denote the controlled Petri net by (NC, MC0), where the determination of ξS is displayed in Step 3. Step 2: ∀ S′ ∈ ∏ \ Ξ, by inequality (2) of Lemma 1, obtain the following inequality:

Σ S∈ΞS′ ξ S ≥ Σ S∈ΞS′ M 0 ( RS ) − M 0 ( RS ′ ) + 1

(3)

Step 3: Solve the following LIP problem to determine the value of ξS: Min ∑S∈Ξ ξS s.t. 1 ≤ ξS ≤ M0(RS) − 1 Σ S∈Ξ S′ ξ S ≥ Σ S∈Ξ S′ M 0 ( RS ) − M 0 ( RS ′ ) + 1 , ∀ S′ ∈ ∏ \ Ξ ξS ∈ +; (4) Step 4: Output a live controlled system (NC, MC0); The number of inequalities obtained in Step 2 grows in the worst case exponentially with the size of Petri nets because each inequality is computed by each SMS in ∏ \ Ξ. Hence, the complexity of Algorithm is exponential theoretically. Theorem 2: The controlled Petri net (NC, MC0) constructed by Algorithm is live. Proof: It comes immediately from Theorem 1. IV.

AN EXAMPLE

Example 3: In the marked S3PR (N, M0) shown in Fig. 1, by Example 1 and 2, it has already been demonstrated that Ξ = {S1, S2, S3} is not a controllable siphon basis and the Petri net controller with respect to Ξ is not live. Ξ = {S1, S2, S3} is a siphon basis of N. Since M0(S4) = 3 and Ξ is the unique siphon set such that C[S1] ∪ C[S2] ∪ C[S3] = C[S4], M0(RS4) > |Ξ| does not hold. Now we replace Ξ by Ξ′ = {S4}. Since C[Si] ⊆ C[S4] and M0(RSi) > |Ξ′|, i ∈ 3, Ξ′ is a controllable siphon basis of N. Add a control place pS4 and related arcs to S4 with a control depth variable ξ. We have the following inequality: ξ ≥ M0(RS4) − M0(RS1) + 1 = 3 − 2 + 1 = 2, ξ ≥ M0(RS4) − M0(RS2) + 1 = 3 − 2 + 1 = 2, and ξ ≥ M0(RS4) − M0(RS3) + 1 = 3 − 2 + 1 = 2. Solve the following LIP problem:

places of N, and the structural complexity of the obtained live Petri net controller is largely reduced. In fact, {S1, S2, S3} is a set of elementary siphons of S3PR (N, M0) shown in Fig. 1. According to the deadlock prevention method based on elementary siphons proposed in [5], one can obtain a live Petri net controller for S3PRs by adding a control place with a proper number of initial tokens for each elementary siphon. For this example, the structure of the controller in [5] is same as that of our proposed controller in Table 1. Hence, one can see that the method in [5] for designing a live Petri net controller cannot adapt to any set of elementary siphons; instead they must be chosen properly. V.

This paper focuses on deadlock prevention problems in flexible manufacturing systems (FMSs). This paper introduces, for the first time, the concept of a (controllable) siphon basis, which proposes a new criterion for selecting a key subset of siphons for control. Based on a controllable siphon basis, Algorithm presents a new deadlock prevention policy to design a live Petri net controller for FMSs. The values of control depth variables are determined by linear integer programming. Our future research will be carried out to compute a controllable siphon basis and extend our method to more general Petri nets. How to select a controllable siphon basis to make a better performance deadlock prevention controller should be considered in the future. REFERENCES [1]

[2]

[3]

[4]

LIP: Min ξ [5]

s.t. 1 ≤ ξ ≤ M0(S4) − 1 = 2; ξ ≥ 2; ξ4 ∈

+

[6]

Thus, we obtain ξ4 = 2, and a Petri net controller (CΞ′, MΞ′0) with respect to Ξ′ shown in Table 2. It can be verified that (NC, MC0) = (N, M0) ⊗ (CΞ′, MΞ′0) is live. Table 2 pS pS4

A Petri net controller (CΞ′, MΞ′0) to Ξ′ of (N, M0) •

pS

t12, t22, t32, t42, t52, t62



pS

t11, t21, t31, t41 t51, t61

[7] [8]

MΞ′0(pS) 1

By Example 3, we can see that the number of the controllable siphon basis is much less than that of operation

CONCLUSIONS

[9]

J. Ezpeleta, J. M. Colom, and J. Martinez, “A Petri net based deadlock prevention policy for flexible manufacturing systems”, IEEE Trans. Robot. Automat, vol. 11, no. 2, pp. 173-184, Apr. 1995. M. Fanti and M. C. Zhou, “Deadlock control methods in automated manufacturing systems”, IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 34, no. 1, pp. 5-22, 2004. Y. S. Huang, M. D. Jeng, X. L. Xie, and S. L. Chung, “Deadlock prevention policy based on Petri nets and siphons”, Int. J. Prod. Res., vol.39, no.2, pp. 283-305, 2001. M. D. Jeng, “A Petri net synthesis theory for modeling flexible manufacturing systems”, IEEE Trans. Syst., Man, Cybern. B, Cybern, vol. 27, no. 2, pp. 169-183, Apr, 1997. Z. W. Li and M. C. Zhou, Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems”, IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 34, no. 1, pp. 38-51, Jan. 2004. Z. W. Li, N. Q. Wu, and M. C. Zhou, “Deadlock control of automated manufacturing systems based on Petri nets-a literature review”, IEEE Trans. Syst., Man, Cybern. C, Appl., Rev., vol. 42, no. 4, pp. 437-462, 2012. T. Murata, “Petri Nets: Properties, analysis, and applications”, Proc. IEEE, vol. 77, no. 4, pp. 541-580, Dec. 1989. L. Piroddi, R. Cordone, and I. Fumagalli, “Selective siphon control for deadlock prevention in Petri nets”, IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 38, no.6, pp. 1337–1348, Nov. 2008. K. Y. Xing, M. C. Zhou, H. X. Liu, and F. Tian, “Optimal Petri-netbased polynomial-complexity deadlock-avoidance policies for automated manufacturing systems”, IEEE Trans. Syst., Man, Cybern, A, Syst., Humans, vol. 39, no. 1, pp. 188-199, Jan. 2009.

Suggest Documents