Abstract

This paper focuses on solving deadlock problems of flexible manufacturing systems (FMS) based on Petri nets theory. Precisely, one novel control transition technology is developed to solve FMS deadlock problem. This new proposed technology can not only identify the maximal saturated tokens of idle places in Petri net model (PNM) but also further reserve all original reachable markings whatever they are legal or illegal ones. In other words, once the saturated number of tokens in idle places is identified, the maximal markings of system reachability graph can then be checked. Two classical S3PR (the Systems of Simple Sequential Processes with Resources) examples are used to illustrate the proposed technology. Experimental results indicate that the proposed algorithm of control transition technology seems to be the best one among all existing algorithms.

1. Introduction

Nowadays, in a rapidly changing society, every factory tries to use robots to possess complicated manufacturing workings. Flexible manufacturing systems (FMS) [1] are therefore designed to process these workings. However, for FMS there could exist an undesired phenomenon while robots are scramble for the shared resources of one FMS. The kind of competition is called the deadlock state. Besides, in order to solve above deadlock problem, three technologies are proposed [2]. The first one is deadlock avoidance. It can immediately avoid a deadlock and do the next step. The next one is called deadlock detection. It can find all deadlocks and recover the blocks. Please note that the above two technologies are adopted in dynamic method. They could have the time-consuming problem. The last one belongs to static. It considers the whole deadlocks in a model and solves them in advance. This technology is called deadlock prevention. Papers [311] presented a deadlock prevention to maintain the optimal permissiveness.

In deadlock prevention domain, Barkaoui and Abdallah firstly propose a deadlock prevention concept and method for a class of FMS called System of Simple Sequential Processes with Resources (S3PR) [12]. In the following, Ezpeleta et al. [1] also presented a particular Petri net model for this kind of FMS. They used siphons concept and tried to add control places and related arcs to ensure the liveness of the FMS model. However, permissive is not large enough in deadlock free situation.

In the following, Huang et al. [3] presented a method called maximal siphons control technology to solve the deadlock problem. The proposed algorithm can extract the strict minimal siphon from maximal siphons such that all siphons are successfully avoided. The method seems to be better than [1] since its permissive markings are more than [1]. Besides, Huang et al. [4] proposed another algorithm named iterative approach with mixed integer programming (MIP) method to improve conventional maximal siphons so as to enhance the computational efficiency. However, the two kinds of siphon based methods are still not maximally permissive.

On the other hand, Li and Zhou [5] proposed the elementary siphon concept to minimize the redundant siphons. The dependent siphons can then be controlled simultaneously once elementary siphons are controlled. Besides, Li and Zhou [6] clarified the elementary siphons and then simplified the number of control places. The permissiveness is also ameliorative. Liu et al. [7] introduced and proved a live Petri net controller can be established by adding a control place and related arcs to each strict minimal siphon in a controllable siphon basis. They presented a new novel deadlock prevention policy based on the concept of a controllable siphon basis. It is pity; the above deadlock prevention policies are still not maximally permissive. For all siphon control methods, refer to [14, 15].

Besides, Uzam [8] and Uzam and Zhou [9] follow the theory of region to obtain the optimal permissiveness. They classified all reachable states into two zones, deadlock-zone and deadlock-free-zone. The deadlock-zone was composed of dead markings and crucial dead markings. Finally, using the algorithm was successful to avoid the crucial dead markings and to make the net live. However, redundant the event-state-separation-problems (ESSPs) cannot be entirely avoided for large FMS cases. Huang and Pan [16, 17] and Huang et al. [18] further develop a computationally more efficient optimal deadlock control policy to improve the computational efficiency of the conventional theory of region.

Piroddi et al. [10] also proposed selective siphon control method for solving deadlock problems in deadlock prevention domain. The policy merged selective siphons and crucial markings. By every iteration, the redundant siphons will be controlled simultaneously once selective siphons are controlled. Its most advantage is maximally permissive markings which can still be held. However, its drawback is that reachability graph is needed to run in every iteration. Therefore, Pan et al. [19] develop one computationally improved methodology to enhance its computational efficiency. For improving above shortcoming, Pan et al. [11] further try to merge theory of regions and the selective siphons control method to achieve optimal control goal. This proposed method can identify all crucial markings in first reachability graph and use the theory of regions to check these crucial markings. Finally, selective siphons method is used to control all minimal siphons. Maximally permissive markings are surely still held. Preciously, reachability graph is just one time needed to run. At the same time, Pan et al. [20] also use the selective siphons technology with the method in [18] to further enhance the computational time of traditional theory of regions.

In siphon control domain, Chao and Pan [21] also proposed the uniform formulas for compound siphons, complementary siphons, and characteristic vectors to solve the deadlock problems of flexible manufacturing systems easily. This can simplify the computational efficiency.

On the other hand, Huang et al. [13] firstly presented transition-based deadlock prevention policy to solve the deadlocks problem of FMS. However, there are three main drawbacks in [13]. Firstly, they cannot identify the exact number of tokens in idle places in advance. Besides, they need to check all reachable markings of FMS reachability graph to avoid getting live lock. Finally, their some controllers seem to be redundant. Therefore, in our previous work [22], we first propose all reachability graph and First Dead Marking (FDM) viewpoints based on control transition to improve the computational efficiency of [13]. The improved work [22] does overcome the disadvantage of [13]. It is a pity; its example is a small PNM.

Zhang and Uzam [23] also adopted control transition method to solve the deadlocks of flexible manufacturing systems. They improved the computational efficiency of [13] since the redundant controller’s problem was overcome. However, they still cannot identify the correct saturated number of tokens of idle places in the process of seeking the maximal number of reachable markings.

Recently, Chen et al. [24] also propose one deadlock policy to solve FMS deadlock problem using control transition concept. They define a minimal recovery transitions using iterative approach by an integer linear programming problem (ILPP) and objective functions. However, it is not an efficient method since ILPP is used to obtain proper supervisors.

Based on above survey, one can know that how to solve deadlock problems of flexible manufacturing systems is a very difficult issue. Many experts make their most effort in the issue [1, 3, 5, 9, 10, 2534]. Most important, how to keep systems maximally permissive is needed to concern.

To focus the maximally live performance, this paper proposes one new, different, and simple control method based on control transition technology. It presents a very different and novel concept in solving deadlock problems. First of all, the number of saturated tokens in idle (source or sink) places must be identified. Then, the maximal markings of its reachability graph can then be checked. Further, control transitions can be obtained. Finally, the maximally permissive live markings can be present once the controllers are added it into PNM.

The rest of this paper is as follows. Section 2 presents the preliminaries about the Petri nets. Section 3 proposes a new deadlock prevention approach and proves it can be executed. Section 4 presents two examples to verify by our prevention policy. The last, Section 5 is the conclusion.

2. Preliminaries

A Petri net model (PNM) is formed by five elements. The model will become actively according to the tokens firing. A PNM will be defined as follows.

Definition 1 (see [1, 2, 35]). , where
is a finite, nonempty, and disjoint set of places which shows is also a finite, nonempty, and disjoint set of transitions which shows . The third element is called the flow relation or the set of directed arcs with the arrows from places to transitions or from transitions to places. The characteristic of is . is assigned the weight to an arc. Furthermore, the set of arcs in PNM are nonnegative integer. The net is called ordinary when the weight of arcs in PNM is all one. is named the initial marking combined with net system .
In a net system and a node , then the preset of node is defined as . The postset of node is defined as .
A transition is enabled at marking by iff and that will be denoted as . Afterward enabled and firing a transition, M will get a new marking . It indicates . A marking reaches to shown by if there exists a firing sequence . The set of marking reachable from in is called a reachability set as in net system . The net system is live iff is enabled and dead iff is disabled.

Definition 2 (see [35, 36]). Given , (resp., ) denotes the set of transitions with at least one output (resp., input) place belonging to . Formally, and . S is called a siphon if ; i.e., any input transition of is also an output transition of . It is called a trap if . A siphon (resp. trap) is said to be minimal if it does not contain other siphons (resp., traps).

Definition 3 (see [1, 3739]). A S3PR is the union of a set from the two combined simple sequential processes with resources (S2PR) nets by sharing common places, and the following statements are true.
(1) and are called operation and resource places of , respectively. is called the process idle places.
(2) ; ; ; ; , , , , ; , ; ,; .
(3) is a strongly connected state machine, where is the resulting net after the places in and related arcs are removed from .
(4) Every circuit of contains place .
(5) Any two and are composable if they share a set of common resource places. Every shared place must be a resource.
(6) The transitions of and are called source and sink transitions of S3PR, respectively.
(7) For , is the set of operation places that use and are called holders of .
(8) For , where resource place is called the resource used by .

3. One Novel Deadlock Prevention Policy

Since this paper tries to propose one novel deadlock recovery policy by adopting control transition method, in this section, the authors will present the important concept of the proposed policy and how it works. First of all, the number of saturated tokens in idle (e.g., source or sink) places should be identified. Secondly, the maximal number of markings in its reachability graph can then be checked and calculated. Further, control transitions can hence be obtained. Finally, the maximally permissive live markings can be present once the transition-based controllers are added to the deadlock prone PNM. In the following, the authors will show the detailed information as follows.

3.1. Saturated Number of Tokens in Idle Places

In this subsection, we will show how to identify the saturated number of tokens in PNM’s idle places. The first step is that one needs to pick all idle places and try to change the number of their tokens. Please note that the number is from small to large. Then, all reachable states will hence change due to the different number of tokens in idle places. Finally, the number of reachable states will reach one maximal number whatever the number of tokens increased in idle places. Under the situation, we call it the optimal number or saturated number of token in idle places. For example (please refer to Figure 1), Table 1 shows the different number of tokens in two the idle places (i.e., and ). From the Table 1 we can see that the PNM reaches the maximal reachable states when () is . The experimental groups 15~16, 18~20, and 22~24 are just used to present that the maximal reachable states of the PNM are equal to 8. Further, the maximal reachable states are 8 whatever how large number of tokens is added or increased into the idle place. The set of is what we want, it is the saturated number (or called optimal) of tokens in idle places of this PNM.

In the following, we demonstrate our algorithm by using above example. Please review the first example again; from Figure 2, we can easily see that there exists one deadlock in its reachability graph. All information of reachable markings (states) is shown in Table 2 so that all readers can easily check them.

3.2. Identify the Control Transition

According to the definitions as follows, control transitions can be calculated and obtained in one PNM.

Definition 4. A Petri net is with an initial marked ; the set of all reachable markings for the Petri net is denoted by .

Definition 5 (see [40]: reversibility). (1) A Petri net has a home state for an initial state if for every reachable state , a firing sequence exists such that .
(2) A Petri net is reversible for an initial state if is a home state.

Definition 6 (dead marking). is a dead marking and is defined as follows:

Definition 7 (reachability tree). Reachability tree is called reachability graph (RG) or reachability states (RS). A Petri net with an initial marking is called a Petri net system . The reachability graph of is defined as follows:The reachability graph is represented as ).

Definition 8 (a transition is enabled and firing). A transition is enabled . One can show that, as , the next step is firing. A transition is firing if a new marking yields. One can denote .

Definition 9 (control transition). A Petri net with a dead marking , , , , , s.t. . is called a control transition.

Definition 10 (saturated number of tokens in idle places (SNTIP)). in a such that the RG is maximal.
are obtained the maximal RG. Then, are called SNTIP.
is a token number in an idle place. .
is an idle place.

Theorem 11. A deadlocked Petri net (S3PR), , , such that can reach to and , becomes live.

Proof. It is well known that the state equation is , [41]. Here, we change the state equation to then . Let . Obtaining the new state equation is . One expands and pluses by every series. The result is . Assume and , then , which can be written . This means . When , then is a homogenous equation. such that . Based on [42], ones know . It means () such that can reach . We can infer that is reachable from .
To obtain the equation of , one has the following:Equations (3) + (4) + (5)… + are equal to .

The example of Figure 1 is present to obey Theorem 11 and obtain a control transition in the next section.

3.3. The Flow Steps of Our Deadlock Prevention Policy

The deadlock recovery policy and its steps are shown in Table 3.

In the following, we want to calculate the optimal control transitions so that they can be added to one deadlock PNM and live it. Please notice that the controller is calculated by initial marking () and the dead marking () based on Theorem 11. The firing count vector and the transpose of incidence matrix are as follows:The equation of is shown as follows:

Therefore, according to our proposed algorithm, the all output places of the control transition are , and the all input places of the control transition are . The detailed information of the controller is shown in Figure 3. The PNM is deadlock free when we added the controller to initial deadlock PNM. The detailed information is shown in Figure 4.

4. Examples and Comparisons

In this section, we want to evaluate our proposed deadlock prevention and make some comparisons with existing literature. Two classical examples are used to illustrate the proposed algorithm. The first example is one simple PNM. For easy tracing, we present the detailed information step by step. Please note that there are at least two dead markings in the two PNMs. In other words, some deadlock markings are redundant. Therefore, we not only want to identify the optimal number of tokens in its idle places, but also identify its crucial dead markings so that we can use them to calculate final controllers. For easy checking, the two PNM used TINA to run their reachability graph.

4.1. The Simple Petri Net Model [13]

Step 1 (identify the optimal number of tokens in idle places). In this step, we firstly used one famous software TINA [43] to check the optimal number of tokens in idle places. Table 4 shows the variety of reachable states by changing different number of tokens in idle places of Figure 5. Please notice that the maximal number of tokens in is equal to 3 when the number of tokens in is set to zero. Similarly, the maximal number of tokens in is 2 when the number of tokens in is set to zero. The third group and the sixth group in Table 4 show the optimal number of tokens in its idle places, respectively. It is obvious that in sixteenth group when is equal to () the idle places have the optimal number of tokens. is the saturated number of tokens because the reachable states of this PNM are in its maximal value even one gives more tokens in . The maximal number of reachable markings is checked once the optimal number of tokens in one’s idle places is identified. The seventeenth and the eighteenth groups in Table 4 show the above description.

Step 2 (identify the crucial dead markings from reachability graph). In this PNM, there are 34 reachable markings in total including 6 dead markings when the idle places are in saturation (please refer to Figure 6). Based on TINA, the detailed information of the 6 dead markings is , ), , , , and , respectively. However, the 6 dead markings could be dependent. In other words, controllers could be redundant although the PNM also can be deadlock free when all controllers are added to above PNM. Therefore, one needs to identify crucial dead markings so as to obtain all independent controllers. By using the proposed algorithm, we can obtain 2 crucial dead markings, () and (), respectively. The detailed information is shown in Table 5.

Step 3 (calculate all control transitions). According to the state equation (i.e., ), two sets of control transitions can then be obtained. The detailed information of them is (1) , and (2) , also shown in Table 5.

Step 4 (add all control transitions into original PNM). The PNM is deadlock free when the two sets of control transitions are put into the original PNM. Besides, the number of its final reachable live markings is still 34. The proposed deadlock prevention policy not only solves the deadlock problem of the PNM of Figure 5 but also holds all reachable markings even they are dead markings in the beginning. Its deadlock free reachability graph is shown in Figure 7. Please notice that the contents of six markings M15t, M16t, M20t, M21t, M24t, and M25t are different from the initial markings.

4.2. Another Classical Complex PNM

In the following, we want to show that the proposed deadlock prevention policy can be used to solve a complex PNM shown in Figure 8 [1]. In this PNM, it is composed of three robots named , , and , denoted by , , and , four machines named , , , and denoted by , , and , respectively. Finally, three idle places (/, /, and /) are given named , , and , respectively. The others in this model are operation places. Further, there are 26750 reachable markings and 120 dead markings when its idle places are in saturation. Therefore, we want to show that our control policy can not only recover all 120 dead markings of the complex PNM but reserve all original 26750 reachable markings.

According to our deadlock prevention policy, the optimal number of tokens in each idle place are , and in this PNM. And 20 crucial dead markings in total are identified and are shown in Table 6. Please notice that the original dead markings are 120. In our deadlock prevention policy, we can identify the 20 deadlock markings and use them to calculate and obtain 20 controllers.

First of all, please refer to Table 6; the first crucial dead marking (i.e., ) is identified when the three idle places are in () = 3, () = 0, and () = 0, respectively. And then, its relative controller (I(tc21) = + and O(tc21) = + + 2p24) can be calculated and obtained (i.e., the first set in Table 7). Eight dependent dead markings (, , , , , , , and M105 are checked in saturated situation based on TINA) also become live simultaneously (please refer to No. 1 in Table 8). Please notice that all markings presented in Table 9 are identified initially by the famous software TINA. Due to the space limitation of this paper, we just show the marking number in Table 8. For further detailed information, please refer to all data by using TINA. Anyway, 120 dead markings will reduce to 112. Surely, the total number of all reachable markings still is 26750. Keep doing the same process and step by step, 112 dead markings eventually become live. In sum, our deadlock prevention policy based on control transition live all reachable markings.

4.3. Comparison with Existing Researches

In this subsection, we make some comparisons with existing literature based on the classical complex PNM. Please note that the “No. ” represents the number of control places, “No. ” represents the number of control transitions, “No. ” represents the number of live reachable markings, and “% R” represents the recover percent relative to original 26750 markings. From Table 9, it is obvious that our algorithm is the only algorithm which can achieve 100 % maximally permissive markings among all published researches.

5. Conclusions

In this paper, we successfully propose one novel iterative method to obtain maximally permissive states based on control transitions. Generally, “maximal permissive” means the number of legal markings in an original deadlock PNM. Further, it does not include the initial illegal markings. For example, they just can obtain 21581 maximally permissive markings in the second example of Section 4. However, our proposed algorithm does obtain the real 26750 maximally permissive markings. In other words, our deadlock prevention recovers one deadlock PNM. In our approach, we do not consider any controllability of siphons. We just focus on crucial dead markings. All markings are live and reachable once these crucial markings are controlled. Our approach is now suitable to all S3PR model. The future work is to reduce the computing time (i.e., reduce running the number of reachability graph or reduce the number of controllers) and extends the method applying for more general models in Petri net.

Data Availability

The data used to support the findings of this study are included within the supplementary information file(s).

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Supplementary Materials

The detailed information of all 120 deadlocks of Figure 8 based on the famous software TINA [31]. (Supplementary Materials)