#### Abstract

One novel control policy named selective siphon control policy is proposed to solve for deadlock problems of flexible manufacturing systems (FMSs). The new policy not only solves the deadlock problem successfully but also obtains maximally permissive controllers. According to our awareness, the policy is the first one to achieve the goal of obtaining maximally permissive controllers for all S^{3}PR (one system of simple sequential processes with resources, S^{3}PR) models in existing literature. However, one main problem is still needed to solve in their algorithm. The problem is that the proposed policy cannot check the exact number of maximally permissive states of a deadlock net in advance. After all iterating steps, the final maximally permissive states can then be known. Additionally, all legal markings are still to be checked again and again until all critical markings vanished. In this paper, one computationally improved methodology is proposed to solve the two problems. According to the experimental results, the computational efficiency can be enhanced based on the proposed methodology in this paper.

#### 1. Introduction

Generally, deadlock prevention of FMS includes structural analysis and reachability graphs [1–11]. In structural analysis, the concept of siphon [1–4, 12–14] is usually adopted, because it just requires a few number of control places. Unfortunately, those algorithms cannot obtain maximally permissive controllers.

For improving above disadvantage of conventional siphon control, Piroddi et al. [15, 16] proposed a novel control policy named selective siphon control for solving deadlock problem. The control policy solves deadlock problems of FMSs successfully. It also makes FMSs optimal. It was a new mile stone in solving deadlock domain. The policy is combined by three main stages. They are reachability analysis, structure analysis, and siphon control method for deadlock prevention. However, in our viewpoint, the selective siphon control policy cannot explicitly calculate what the number of maximally permissive markings is in the first two stages. In other words, the policy merely uses the previous paper to make sure what the number of maximally permissive markings is. Otherwise, they just obtained what the number of maximally permissive markings is after all iterating steps are executed.

On the other hand, under their policy, all reachable markings are needed to check again and again until all critical markings are vanished. This is time consuming since all legal markings are needed to check in each iterative step.

In this paper, one computationally improved methodology is proposed to solve above two problems. First of all, we use the developed algorithm [9] to check the number of maximally permissive markings. Besides, we also prove that the number of quasi-dead and dead markings is equal to critical ones. Furthermore, the selective siphon control is only used for these critical markings so that all critical markings vanished. Most importantly, the computational efficiency is enhanced.

#### 2. Preliminaries

##### 2.1. Petri Nets [17]

In this paper, we adopt Petri nets theory to model FMS. Due to limitation of paper space, however, we don’t show detailed information of Petri nets theory here. The readers can refer to [17] or our previous works [9, 18].

##### 2.2. Critical Markings and Selective Siphons Control Method [15]

Piroddi et al. [15] proposed critical markings and selective siphons control method. The spirit of the method is that once all selective siphons are controlled, all critical markings are accordingly vanished. In this paper, the selective siphon control approach is merged into our previous policy to further reduce the number of CMTSIs.

In the following, uncontrolled siphons, critical markings, and selected siphons are defined.

*Definition 1 (see [15] uncontrolled siphons and critical markings). *Let the set of minimal siphons of .(i)The set , where , is the* set of uncontrolled siphons*.(ii)The set denotes the set of empty siphons in the marking .(iii)For any , is the set of markings where at least one siphon in is empty.(iv)The set denotes the* set of critical markings*.(v)A* covering set of uncontrolled siphons* (CSUS) is a subset of siphons , such that .

Table 1 presents the relation between uncontrolled siphons and critical markings. Based the table, two uncontrolled siphons (i.e., and ) are called the selective siphon since they cover all critical markings (i.e., ).

##### 2.3. Synthesis Problem [9, 18]

In our previous works [9, 18], and represent the set of* dead markings* and quasi-dead markings, respectively. Besides, and are also proposed to represent the set of* dead markings* and quasi-dead markings, respectively. For the detailed definitions please refer to [9, 18]. In [20], besides, has been showed that it is the maximally permissive number of one FMS. Therefore, above definitions will be used to check the number of maximally permissive markings in reachability graph stage.

#### 3. The Proposed Methodology

In this paper, one computationally improved methodology is present to enhance the computational efficiency of conventional selective siphon control technology. The methodology shown in Figure 1 consists of reachability graph stage, siphon identification stage, siphon control stage, and so forth.

#### 4. Experimental Results

Two classical flexible manufacturing systems are used to check the proposed deadlock prevention. They are taken from [6] and [19], respectively.

*Example 1. *An FMS is shown in Figure 2 [6]. To do our deadlock prevention policy, of the PN system can be modeled as shown in Figure 3.

First of all, in the “reachability graph (RG) stage,” 20 reachable markings (i.e., ) are located by INA [21]. Then 2 dead markings (i.e., and ) can be identified based on or our previous works [9, 18]. In addition, three (i.e., , , and ) can also be identified. All detailed information of the and is listed in Table 2.

Therefore, the total number of can then be determined (i.e., 20 − (2 + 3) = 15). In other words, the number of maximally permissive markings is 15.

In siphon identification stage, firstly, three sets of strict minimal siphons , , and in this example are calculated. Additionally, according to definitions in [15], and are the two sets of selective siphons since is included in (). The detailed information for identifying selective siphons is shown in Table 3.

In siphon control stage, two control places are then obtained by siphon control method [3] since two sets of selective siphons are identified. The detailed information is shown in Table 4. Please notice that this paper just focuses on enhancement of computational efficiency. Therefore, for the detailed information about how to compute control places please refer to [3, 4]. Additionally, also note that from Table 3 it is obvious that one critical marking is still not covered by any strict minimal siphon. Accordingly, in the following, new strict minimal siphons are needed to calculate again after the two control places are added in Example 1.

In second iteration, new four sets of strict minimal siphons are identified. They are , , , and . We use them to check if they are empty or not in . All readers will have one question; that is, the number of places in should be extended since two control places are added into this model. The answer seems yes, but the firing sequence will not be changed. Therefore, the number of places of the new marking (we use to replace the new marking ) should be 13. Further, from initial stage, the firing sequence from initial marking to marking is or . So, the firing sequence from (new ) is still or . can be calculated by state equation . Among them, = [3, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1]′, is shown in Table 5, and is [1, 0, 0, 0, 1, 0, 0, 0]′. Finally, therefore is [2, 1, 0, 0, 2, 1, 0, 0, 0, 1, 0, 0, 0]′. From above four strict minimal siphons and , it is obvious that , , , and could be selective siphons since they are all empty in (Table 6). We just choose to be the selective siphon because it has fewest element among these strict minimal siphons. And, one control place can then be calculated based on the selective siphon . Its detailed information is shown in Table 7.

When the three control places are added into Example 1, the model is deadlock-free. The reachability graph is shown in Figure 4. In fact, we do not need to run the reachability again. The reachability graph is needed in the first time to identify all markings as dead markings, quasi-dead ones, and legal ones.

*Example 2. *Another classical FMS is shown in Figure 5 [19]. In the first iteration, first of all, the reachability graph analysis is executed, and 210 markings in total are obtained in this stage. Similarly, there are 16 dead and 61 quasi-dead markings in initial reachability graph. The 16 dead markings are , , , , , , , , , , , , , , , and which are then located. And, the 61 quasi-dead markings are , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and . Due to limitation of paper space, the detailed information of above 16 dead markings and 61 quasi-dead ones will not be shown. The detailed information can be obtained in INA [21].

Therefore, the maximally permissive number of states is 205 since 210-16-61 = 205. In the following, five sets of minimal siphons are calculated and obtained in siphon identification stage. They are , , , , and . Furthermore, , , and are the selective siphons since () can cover all critical markings except , , , , and . In other words, () are included in (). In siphon control stage, one can obtain three controllers shown in Table 8 from , , and , respectively.

After adding the three controllers, ten new minimal siphons appear in the second stage. The detailed information of them is that , , , , , , , , , and . Similarly, one just needed to check if the places of these new uncontrolled minimal siphons are empty in above still uncontrolled critical markings (, , , , and ). Table 9 shows the relation between ten new uncontrolled minimal siphons and five uncontrolled critical markings. From Table 9, it is obvious that () or () can cover all critical markings. It means that the five critical markings can then be controlled once () or () are controlled. For convenience, we just choose and as the two selective siphons. Therefore, two control places can then be obtained shown in Table 10. When the five control places are added into Example 2, the model is deadlock-free too.

#### 5. Comparison and Discuss

Based on Tables 11 and 12, the proposed methodology in this paper for solving problems of deadlock can make sure of the exact number of maximally permissive live (legal) markings in the reachability running stage. Besides, there are just 5 and 77 markings in first stage and 1 and 5 markings are needed to check, respectively. However, the conventional method has to check all markings in every selective siphon identification stage. To summarize, our work presents a computationally improved optimal control methodology compared to this pioneer work [15].

#### 6. Conclusions

The proposed policy can be implemented for the deadlock problems of FMSs based on the selective siphons method and critical markings. The underlying notion of the prior work is that it cannot check the exact number of maximally permissive states of a deadlock net in advance. After all iterating steps, the final maximally permissive can then be known. Additionally, all legal markings are still to be checked again and again until all critical markings vanished. In this work, one computationally improved methodology is proposed to solve the two problems. Under the proposed methodology, the reachability graph is only run one time in initial stage. All critical markings are identified based on the reachability graph. One just checks if strict minimal siphons are empty in these markings or not. According to the experimental results, the computational efficiency can be enhanced based on the proposed methodology in this papers.

#### Conflict of Interests

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

#### Acknowledgments

This work was partially supported by the National Science Council of Taiwan, under Grant NSC 102-2221-E-013-001. Additionally, the authors acknowledge the financial support of MOS T103-2221-E390-026.