Sufficient conditions for a flexible manufacturing system to be deadlocked

Article history: Received 1 August 2011 Available online 10 August 2011 In recent years, researchers have been interested in scheduling algorithms to avoid deadlock in Flexible Manufacturing Systems (FMS). FMS are discrete event systems characterized by the availability of resources to produce a set of products. Raw parts, which belong to various product types, enter the system at discrete times and are processed concurrently while sharing a limited number of resources. In such systems, a situation may occur in which parts become permanently block. This is called deadlock. This paper presents the sufficient conditions for deadlock to exist in a FMS; it models a FMS using digraphs to calculate slack, knot, order and space; it identifies three types of circuits that are fundamental in determining if a FMS is in deadlock. © 2012 Growing Science Ltd. All rights reserved


Introduction
Moving the wrong part in a manufacturing system could place the live (deadlock-free) system into a deadlocked state or dead state.The only recourse would be to manually resolve the deadlock and reset the FMS to a live state.Clearly, avoiding deadlock altogether would lead to increased production and decreased labor costs.To prevent manual deadlock resolution a Deadlock Avoidance Algorithm (DAA) was developed in Deering (2008).The DAA did not allow the system to enter any dead states and proved sufficient conditions for the system to be live.The DAA introduced the idea of space.If space > 0 of all closed paths in the manufacturing then deadlock would be avoided.The only problem was that some live states were detected dead states.See Fig. 1.The DAA in Deering (2008) only proved sufficient conditions for a system to be live.

Fig. 1. Live states detected as dead
This paper will prove sufficient condition for the manufacturing system to be dead and is the partial results of Deering (2000).This paper is organized as follows: the first section discusses previous research on deadlock in a FMS; the next section defines a mathematical model of a manufacturing systems; circuit parameter slack, knot order and space is then defined; the next section introduces three types of circuit uses to proves sufficient conditions for a manufacturing systems to be dead.

Related research
Many researchers use Petri nets Banaszak and Krogh (1990), Barkaoui and Abdallah (1995), Hsieh and Chang (1994), Viswanadham et al. (1990), Zhou and DiCesare (1992), Zhou (1996) and Ezpeleta et al. (1995) as a formalism to describe deadlock in a manufacturing system.Banaszak and Krogh (1990) proposed a deadlock avoidance algorithm (DAA), which developed a restriction policy based on production route information to guarantee that no circular wait situations would occur.Their DAA is sufficient for avoiding deadlocks but is not an optimal solution.Viswanadham et al. (1990) developed a deadlock avoidance algorithm that employed a look-ahead policy.This algorithm did not detect all deadlocked states, and the authors suggested using a recovery mechanism in case of system deadlock.Zhou and DiCesare (1992) and Zhou (1996) generalized the sequential mutual exclusions (SME) and parallel mutual exclusions (PME) concepts and derived the sufficient conditions for a Petri net (PN) containing such structures to be bounded, live, and reversible.In general, PN solutions are suitable for manufacturing systems that contain few resources but become very complicated for larger systems.
Another formalism to describe the manufacturing system is to use graphs Cho et al. (1995), Fanti et al. (1996), Judd and Faiz (1995), Judd et al. (1997), Lipset et al. (1997), Zhou (1996), Ezpeleta et al. (1995), Wenle et al. (2003), Deering (2000), Fanti et al. (1995), Wenle et al. (2004), Wenle et al. (2007).In this approach, the vertices represent resources and the edges represent part flows between resources.Wysk et al. (1991) were the first to develop a specialized directed graphical structure called a wait relation graph (WRG) to model a manufacturing system.They developed a string manipulation procedure that yields a set of control actions to detect and recover from primary deadlock.Cho et al. (1995) used system status graphs to develop the concept of simple and nonsimple bounded circuits with empty and non-empty shared resources to detect part flow deadlock and impending part flow deadlock.This method introduced the concept of a bounded circuit to detect deadlock.The method detected deadlock based on characteristics of this bounded circuit.The methods in references Wysk et al. (1991) and Cho et al. (1995) could only handle single capacity resources.Fanti et al. (1996) used a graph called working procedure digraph and developed a simple graph-theoretic method for deadlock detection and recovery in systems with multiple capacity resources.This algorithm did not prevent deadlock from occurring either, but it suggested a suitable recovery strategy.Judd and Faiz (1995) expanded on the original formulation proposed by reference Wysk et al. (1991) and the first to define slack, order, and space to avoid deadlock.This method provided sufficient conditions for deadlock by satisfying a set of linear inequalities.Lipset et al. (1997) extended Judd et al. (1995) to precisely quantify necessary and sufficient conditions for deadlock to exist.In this research, they redefined the order of a knot, defined a special state called an evaluation state, and defined the concept of order reduction.The approach was to put the system into an evaluation state and then compute the order.Deering (2000) and Deering (2008) improved Lipset et al. (1997) by further refining the order of a knot and evaluation state, as well as eliminating the need for order reduction.Wenle et al. (2003) developed a deadlock avoidance algorithm (DAA) based on Lipset et al. (1997) and Deering (2000), which avoided deadlock and was executed in polynomial time.Wenle et al. (2004) expanded upon Wenle et al. (2003) and Deering (2000) to quantify the sufficient conditions for a system state to be live and derived the liveness necessary and sufficient conditions for an evaluation state.Wenle and Judd (2007) extended Wenle et al. (2004) to allow choice in process flow or flexible part routing.

Modeling a manufacturing system
An FMS consists of a set, R, of finite resources, such as robots, buffers, and machines, which produce a finite set, P, of products.Each resource R r ∈ has a capacity of cap(r) units that can perform the required operations.The capacity function can be extended to a set of resources, that is: For each product P p ∈ , the process plan ) plan( = defines the sequence of resources that are required to produce p.Resource m r is the terminal resource for product p.It is assumed that all process plans are fixed, finite, and sequential.A part is an instance of a product that flows through the system.At any given time, a manufacturing system is working on a set Q of parts.The function ) ( class q returns the product p to which part q belongs.
A manufacturing system can be represented by a WRG, ) , ( A V G = . Each vertex represents a resource; that is, V=R.A directed arc is drawn from vertex 1 r to vertex 2 r , if 2 r immediately follows 1 r in at least one process plan.Each arc will be labeled with the part(s) that will flow through it.A subgraph of an WRG consists of a subset of the resources and arcs of G, so that all the arcs in 1 A connect resources in 1 R .The union (intersection), denoted by , of two subgraphs is the union (intersection) of the component resource and arc sets.A path ) , ( is a subgraph whose resources and arcs can be ordered in the list where each arc in the list connects the resources on either side.When specifying a path, writing the arcs is redundant.Therefore, only the resources will be enumerated when a path is defined.A simple path is a path with no repeated elements in the ordered list.A closed path is a path with the same first and last element.A simple circuit is a closed path with no repeated elements in the ordered list, except the first and last elements.
The function ) ( n q returns a positive integer that represents the position in )] ( class [ plan q of the operation that is currently processing q.When a new part q is added to the system, then . As the part is moved from resource to resource according to its plan, ) ( n q is incremented until it reaches the end of its plan and exits the system.The state n of a manufacturing system is a vector containing the current n(q) for all Q q ∈ .A state n of a manufacturing system is live if a sequence of part movements exist that will empty the system.A state n of a manufacturing system is dead, or deadlocked, if it is not live.Given a manufacturing system ) , and R r ∈ .Then, the function ) ( tail a returns the resource at the tail of the given arc; the function ) head(a returns the resource at the head of the arc.A unit of the resource ) ( tail a r = is said to be committed to arc a if it is processing a part q whose next resource in its process plan is ) ( head a .It is important to note that the number of resource units committed to the outgoing arcs of r can be less than the number of busy units.This happens when some of the busy units are being used for terminal operations.A resource unit is free if it is not committed to an arc; by this definition, a busy unit that is not committed is still termed free.A resource is free if any of its units are free.A resource is empty if it contains no parts.The commitment function ) , com( n a returns the number of resource units that are committed to arc a when the system is in state n.The commitment function is extended to a set of arcs as follows: A part is enabled if either the next resource in its process plan contains at least one resource unit that is not busy, or the part is in the last step of its process plan.Suppose that the system is in state 0 n ; there exists an arc a such that resource is committed to a.Then, when 1 r finishes its operation, this part can be moved to resource 2 r .This process is called propagation.The symbol k n is used to denote the state of the system after the th k propagation.A part q in WRG G can be shifted to resource r if it can be propagated to r without propagating any other part in G.A part q in WRG G is said to have a free exit if it can shift its terminal resource m r in G.

Slack, knot, order, and space
This section will summarize the major concepts and results from Judd and Faiz (1995), Judd et al. (1997), Lipset et al. (1997), andDeering (2000).This section defines the concept of slack, knot, order, and space.The slack is the number of free resource units available for parts to flow on a subgraph.
Definition 2: Let 1 c and 2 c be any two closed paths in a WRG of a manufacturing system.If and where k is a knot.The order of knot k with respect to the closed path c in state n is defined as: The order of any simple circuit is zero.
Definition 6: Let c be a closed path in a WRG G in state n that contains m knots.Then, the order of c is given by: Definition 7: Let c be a closed path in a WRG G of a manufacturing system in state n.The free space on a closed path c is the difference between the slack and the order: where G C is the set of all closed paths in G.The following theorem proves that if all closed paths of a WRG G have space greater than zero, G is live.
Theorem 1: Let G C be the set of all closed paths in a non-empty WRG G in state n.If, then G is live.

Sufficient conditions for a system to be dead
The previous section proved sufficient conditions for a manufacturing system to be live; that is, if the space of all closed paths in a manufacturing system is greater than zero, then the system is live.This section will prove sufficient conditions for a manufacturing system to be dead.Unfortunately, this cannot be proven in the general case, since there is insufficient information in the WRG to determine these conditions.However, when the system is in a special system state called an evaluation state, it can be shown that a manufacturing system is dead if one of the closed paths equals zero.The following example will demonstrate this more clearly.
Example 1: Let the WRG G in Figure 2 be in state n .Suppose that the process plans for parts a, b and c appear as presented in Table 1.
Assume that the state of the system is . Table 2 depicts the order and space computations for this system.2 Order and space computations for example 1 Circuit Order Space Since the space of the union between 1 c and 2 c is zero, the method previously presented in Deering (2008) cannot conclude whether the system is live or dead.This revised method will show that the order in which parts flow through order-one knots is required to describe sufficient conditions for a dead system.For example, knowing that parts a and b must pass through 3 r before any other parts can leave 1 c and 2 c and that the space of the union between 1 c and 2 c is zero, will allow researchers to know that the system in Fig. 1 to be dead.This section will contain three parts: the first section shows necessary and sufficient conditions which render basic closed path as dead; the next two sections show sufficient conditions for deadlock of chained and complex closed paths. .

Basic closed paths
Theorem 1: Given a basic closed path then c is dead.
Theorem 1 allows us to conclude that space greater than zero of a basic closed path is necessary and sufficient for the system to be live.The next section addresses a particular closed path that contains order-one knots.

Chained closed paths
This section defines a chained closed path and introduces a special state called an evaluation state.A series of definitions, some lemmas and a theorem will prove that if a chained closed path is in an evaluation state and its space is equal to zero, then the chained closed path is dead.
Definition 9: A chained closed path c is a closed path containing one or more order-one knots with respect to c, such that c can be decomposed into a set of basic closed paths which intersect at only the order-one knots.
The following is a simple example of a chained closed path: Example 2: Consider the manufacturing system in Figure 3. Assume that all a part types flow to the right from 1 c to 3 c , and that all b part types flow to the left from 3 c to 1 c .In this state, resources 2 r to 3 r are order-one knots.The manufacturing system can be decomposed into three simple circuits, 1 c , 2 c and 3 c .Let . In this example, c is a chained closed path, since c can be decomposed into basic closed paths so that each circuit intersects each other at only the order-one knots (i.e.This state may, or may not, be dead, depending on the ultimate destination of part b in the resource 7 r . Case 1. Suppose part b must move to resource 4 r and then to 5 r and exit the system.Clearly, in this case, state n is a live state.To distinguish and to evaluate these two cases, the dynamics of the part crossing through the knot should be analyzed more closely.Notice that in both cases, all part a's must cross knot 4 r before any other part on 1 c can leave 1 c .But the part crossing dynamics are different on circuit 2 c in the two cases.Notice that in case 1, part b can leave circuit 2 c before part 1 d must cross knot k.In other words, a resource may become free on 2 c before part 1 d must cross the knot.In this state, we conclude that state n is not in an evaluation state.The method in Deering (2008) cannot determine if deadlock exists by computing the space in state n.Notice that in Case 2, part b must cross knot 4 r before any other part can leave 2 c .In this situation, no part can escape 2 c before the crossing must occur.The state of the system in case 2 is considered to be an evaluation state.These ideas motivated the following definitions.where k is an order-one knot.If a part q on 1 c propagates to k and commits to an arc on 2 c , then q is said to cross knot k.Definition 11: A basic closed path in a WRG G is always in an evaluation state.
Definition 12: An empty chained closed path in state n is in an evaluation state. .Then chained closed path c is in an evaluation state if 1. all order-one knots are empty, and 2. for each order-one knot k, two parts, 1 q and 2 q exist, such that a. part 1 q must cross from 1 c to 2 c before any other part can leave 1 c , and 2 c is in an evaluation state after the move; and b. part 2 q must cross from 2 c to 1 c before any other part can leave 2 c , and 1 c is in an evaluation state after the move.The system in Example 2 is in an evaluation state.Resources 2 r and 3 r are order-one knots.For order-one knot 2 r , part a must cross from 1 c to The next lemma will show how the parts are committed when a chained closed path is in an evaluation state.
Lemma 1: Given a chained closed path ) , if, and only if, all order-one knots are empty in c and all other resources in c are filled and committed to resources on c.
The next two lemmas are preliminary results that are required to prove the final theorem of this section.
Lemma 2: Given a chained closed path c that is in an evaluation state n, if 0 ) , space( = n c then a part q exists such that when it is moved, it will fill an order-one knot and commit an outgoing arc of that knot on c. , then c is dead. Proof: See Deering (2000)

Chained closed paths
Closed paths that are not basic closed paths or chained closed paths are classified as complex closed paths.This section will introduce complex closed paths.It will also be shown, if a complex closed is in an evaluation state and it contains a path with space equal to zero, then this is sufficient for determining if the system is dead.We will first define a complex closed path and its various components, then follow these definitions with an example.
Definition 15: A complex closed path is a closed path that contains one or more order one knots that is not a chained closed path.
Definition 16: A complex path can be decomposed into two paths, one being a chained closed path and the other is called the auxiliary closed path.The intersection of the auxiliary closed path intersects and the chained closed path must contain one or more order one knots of the chained path.
Definition 17: A bypass path is the portion of the auxiliary path that does not intersect the chained closed path.
Definition 18: The first arc on the bypass path is a bypass arc.
Consider the following example.
Example 4: Suppose that the system in Figure 5 has the following parts and process plans as depicted in Table 3.The system consists of three simple closed paths: , and . Clearly, the manufacturing system in Figure 5 is not a basic closed path.The system cannot be a chained closed path either since is not a knot.According to Definition 15, the system in Figure 5 is a complex closed path.The complex closed path can be decomposed into a chained closed path, (i.e., is a bypass path that joins 1 c and 2 c together.Arc b a on resource 3 r is a bypass arc since it leaves 3 r along the auxiliary closed path 3 c .We next define the evaluation state for a complex closed path.
Definition 19: A complex closed path in a WRG G is in an evaluation state if its bypass arcs are not committed.
Definition 20: An empty subgraph that is a complex closed path in a WRG G in state n is in an evaluation state.
Definition 21: A WRG G is in an evaluation state if all closed paths in G are in an evaluation state.The system in Example 4 is in an evaluation state.This is because part 1 a in resource 3 r is not committed to the bypass arc b a .The chained closed path , then p c is dead.Proof: See Deering (2000).

Conclusion
Three types of closed paths were identified to prove sufficient conditions for a manufacturing system to be dead.A special state called an evaluation state was introduced.It was showed that if a basic, chained or complex closed path that is in an evaluation state with space=0 then the system is dead.
Unfortunately, determining if a closed path is in an evaluation state is a problem.The problem is there is insufficient information in the WRG to determine if a system is in an evaluation state.This is a topic of future research.

Fig. 2 .
Fig. 2. Manufacturing system for example 1 Table 2Order and space computations for example 1 Circuit Order Space

Definition 8 :
A basic closed path c is a closed path in a WRG G in state n such

Definition 13 :
Let a non-empty chained closed path c be in state n.A chained closed path c can be divided into two closed paths, 1 c and 2 c , at any order-one knot k such that k Proof: SeeDeering (2000) Lemma 3: Given a non-empty chained closed path c that is in an evaluation state 0 If any subgraph in a WRG G is dead, then G is dead.Theorem 2: Given a non-empty chained closed path c that is in an evaluation state 0

Fig. 5 .
Fig. 5. Complex closed path for example 4 zero.Clearly, the system is dead.The next theorem proves this concept in general.Theorem 3: Given a complex closed path p c that is in an evaluation state 0 n , if any chained closed path

Table 1
Process