Local and global deadlock prevention policies for resource allocation systems using partially generated reachability graphs

https://doi.org/10.1016/j.cie.2009.05.006Get rights and content

Abstract

This paper considers the deadlock prevention problem for a class of conjunctive/disjunctive resource allocation systems (C/D-RAS) which cover relatively general cases in which the multiple resource acquisitions and flexible routings are allowed. First, an improved siphon-based liveness characterization for the Petri nets modeling C/D-RAS is proposed. Subsequently, this characterization facilitates the utilization of a mixed integer programming (MIP) based deadlock prevention policy that can well avoid the explicit enumeration of both siphons and the reachable states. The resulting policy is implemented by an iterative algorithm each step of which is characterized as an MIP formulation in conjunction with both a bad marking detection and a feedback control operation. Finally, the deadlock prevention policy developed in this paper is, respectively, characterized by the local and global ones so as to realize a trade-off between the behavior permissiveness and the structural simplicity of the supervisor. Both the theoretical and experimental results validate the effectiveness and efficiency of such an approach.

Introduction

For many types of man-made automated systems, real time resource allocation is a fundamental control responsibility. A sequential resource allocation system (S-RAS) is composed of a limited number of resources that must be allocated to several sequential, concurrent, and competing processes. Many S-RASs may exhibit deadlock situations if circular-wait arises thanks to the existence of a set of processes in which each process is waiting for the allocation of a resource concurrently held by other processes in the same set. In practice, deadlock is a well-known problem in many contemporary technological systems such as automated manufacturing systems, multitasking operating systems, and distributed database systems. In all of these systems, deadlock is a highly undesirable situation at which the entire or partial system is crippled, and the utilization of the involved resources decreases to zero. In response to this issue, a real time supervisor imposed on the target systems is desirable to correctly foresee and effectively prevent the occurrence of the deadlock states by appropriately restricting the allocation of system resources to various requesting processes.

The strategies to solve deadlocks are normally classified into three categories: detection and recovery, avoidance, and prevention. In terms of deadlock detection and recovery, deadlocks are allowed to occur while a monitoring mechanism is deployed for detecting their occurrences and a recovery procedure is initiated for expedient resolution. This approach usually allows the maximal flexibility in resource allocation at the cost of system stoppage and resolution procedure. Moreover, such an approach is applicable only when deadlock states are temporarily permissible. Deadlock avoidance performs in a dynamic way by using look-ahead procedures (Ezpeleta et al., 1995, Fanti, 2004, Fanti et al., 1997, Fanti and Zhou, 2004, Jeng, 1995, Jeng, 1997, Jeng and Chen, 1998, Jeng and DiCesare, 1995, Jeng and Xie, 1999, Jeng et al., 2002, Li and Zhou, 2004, Mo and Tang, 1998, Uzam, 2002, Uzam and Wonham, 2006, Uzam and Zhou, 2007, Viswanadham et al., 1990, Yu et al., 2003). At each reachable state, an on-line algorithm is utilized to predict whether a deadlock state is unavoidably reached (Park and Reveliotis, 2001, Viswanadham et al., 1990). Once such a state is predicted, the avoidance policy will discard the current path and advance along another one. Since the look-ahead depth in an avoidance policy is difficult to define, it is trivial that such a policy is difficult to assure the absence of deadlocks. Deadlock prevention refers to a group of static rules imposing restrictions on the interactions among resources and processes so that resource requests that may lead to deadlocks are outlawed. Deadlock prevention achieves a lower ground in terms of system flexibility than both the avoidance and detection and recovery approaches. However, it does not suffer from the danger of system stoppage and resolution procedure and thus is preferable especially in case that the increase of system flexibility does not merit the cost of system stoppage and resolution procedure.

The synthesis and implementation of a deadlock resolution policy can be based on a number of different formal models of automated manufacturing systems such as directed acyclic graph (DAG), automata, and Petri nets. In terms of DAG, an S-RAS can be described with nodes and edges (Cho et al., 1995, Wysk et al., 1991). Normally, nodes represent the resources while edges represent all possible transitions of parts among these resources. Moreover, it is stated that the existence of a cycle or circuit is a necessary condition for a potential deadlock. Thus deadlock occurrence in a given S-RAS can be detected with ease by computing all the circuits formed in the respective DAG. Such an algorithm has been deeply investigated in the field of graph theory and many theoretical results can be applied to our research without modification.

In the framework of automata, an S-RAS is modeled as a finite state automaton, in which the nodes represent the states while the arcs represent the possible part movements between different states (Ramadge & Wonham, 1989). Events that incur deadlocks are prohibited by additional supervisors such that a processing sequence for each part can be accomplished. Trivially, the maximal permissiveness of the controlled system is guaranteed in terms of automata. However, such an approach is impracticable since the size of the state space increases exponentially with the number of parts and resources involved in a given system.

Petri nets prove to be an appropriate mathematical tool for modeling, analyzing, and synthesizing control laws with regard to a discrete event system (DES) that comprises an S-RAS. As a particular Petri net object, reachability graphs (RG) have been widely used to characterize deadlocks when Petri nets are utilized to model an RAS. Although their applicability is somewhat limited by the notorious state explosion problem, i.e., the state number of an RG grows exponentially with its respective net size, Petri nets remain appealing owing to their systematic compactness. Moreover, in many cases, only a part of RG is concerned and should be generated. In the last decade, Petri nets emerge as a promising formalism to describe RAS and to develop appropriate deadlock resolution strategies for them (Abdallah and ElMaraghy, 1998, Badouel and Darondeau, 1998, Banaszak and Krogh, 1990, Chu and Xie, 1997, Ezpeleta et al., 1995, Ezpeleta et al., 2002, Ghaffari et al., 2003, Huang et al., 2001, Huang et al., 2006, Iordache and Antsakis, 2003a, Iordache and Antsaklis, 2003b, Iordache et al., 2002, Jeng, 1997, Jeng and DiCesare, 1995, Jeng and Xie, 1999, Jeng et al., 2002, Li and Zhou, 2004, Moody and Antsaklis, 2000, Park and Reveliotis, 2001, Reveliotis and Ferreira, 1996, Reveliotis and Lawley, 1997, Sun et al., 1994, Tricas et al., 1999, Tricas et al., 1998, Tricas et al., 2005, Uzam, 2002, Uzam and Wonham, 2006, Uzam and Zhou, 2007, Viswanadham et al., 1990, Xing et al., 1996, Yamalidou et al., 1996, Zurawski and Zhou, 1994). Particularly, the tight connection between the deadlocks in an S-RAS and the properties of Petri net model motivates such a prospective approach. A Petri net is live iff all its transitions can become enabled at any markings. On the other hand, a marking under which no transitions can be fired is said to be a total deadlock. In addition, deadlock-freeness is another important property in net theory, which means that at least one transition is enabled under an arbitrarily reachable marking. Obviously, liveness of a Petri net promises deadlock-freeness, while the reverse is not true. Recent work shows that a special structure of Petri nets, namely siphons, is closely related to deadlocks (Abdallah and ElMaraghy, 1998, Barkaoui and Peyre, 1996, Barkaoui et al., 1997, Chao, 2007, Ezpeleta et al., 1995, Huang et al., 2006, Li and Zhou, 2004, Park and Reveliotis, 2001, Tricas et al., 1999, Tricas et al., 1998, Tricas et al., 2005). A siphon remains insufficiently marked once it is insufficiently marked. When all the siphons involved in a specific Petri net are insufficiently marked, deadlock unavoidably occurs.

Past research has successfully addressed the implementation of deadlock prevention in the context of various S-RAS. Notable results can be referred to Viswanadham et al. (1990). Of particular interest to the work in this paper is the developments presented in Chu and Xie, 1997, Ezpeleta et al., 1995, Park and Reveliotis, 2001, Tricas et al., 2005, Uzam and Zhou, 2007, which also leverage many newly obtained analysis results of Petri net in terms of siphons. Specifically, the results presented in Chao, 2007, Chu and Xie, 1997, Ezpeleta et al., 1995, Park and Reveliotis, 2001, Tricas et al., 2005, formally show that siphons can be a deadlock interpreting mechanism even under the most general resource allocation scheme. However, the deadlock resolution established only on the basis of siphon-based necessary and sufficient conditions exhibits very high computational complexity since their number increases exponentially with the net size. Although it is claimed to be polynomial in complexity, the deadlock prevention policy proposed in Park and Reveliotis (2001) restricts much of the system behavior. The results presented in Uzam and Zhou (2007) show that a live controlled system can be obtained by trimming the identified deadlock states in the corresponding RG. Such an approach is claimed to be high in resource utilization whereas it is impracticable since the generation of an RG is of exponential complexity.

On the basis the aforestated research developments and motivated by the above remarks, this paper makes the following significant contributions.

First, we propose an improved siphon-based liveness characterization for the Petri nets modeling S-RAS, which is based on the one in Tricas et al. (2005) and motivated by the one in Chao (2007). This improvement is necessary since it ensures a correct mixed integer programming (MIP) algorithm.

Second, an MIP formulation is utilized to identify the deadlock markings without explicitly generating the whole RG. Although MIP problems are NP-hard in theory, many numerical results for large-size Petri nets show their high efficiency (Chu & Xie, 1997).

Third, we conduct such an approach in two different perspectives. The local one tries to obtain a maximally permissive supervisor while the global one tries to complete the iteration process in less steps. Either of the two methods can be used independently although in general cases a simpler supervisor and a maximally permissive supervisor are incompatible. According to the control requirements, one should try to make a trade-off between them.

In general, the presented approach is more computationally suitable than conventional policies based on the set of siphons or the set of reachable states, since only the needed bad markings are computed in order to reach a live system. In this sense, the number of control places (for simple, monitors) and the number of bad markings can be tractable for real application. This result dwarfs all the other siphons or reachable states based approaches due to the fact that when a net is large in size, either the set of siphons or the set of reachable states is incomputable.

The remainder of this paper is organized as follows. Section 2 reviews the basic definitions and notations of Petri nets used throughout this paper. In Section 3, a special class of Petri nets, namely S3PGR2, is introduced, on which the experiment of our method is conducted. Section 4 investigates the liveness characterization of S3PGR2, and establishes the strong relationship between the deadlock markings and the insufficiently marked siphons. In Section 5, the local and global deadlock prevention policies on the basis of MIP approaches are conducted. Experimental results are shown in Section 6 to demonstrate that the proposed theory and policy are effective with low computational cost and excellent performance. Some related issues are discussed in Section 7. Section 8 concludes this paper and suggests directions for future research.

Section snippets

Basic notations of petri nets

The reader is referred to Murata (1989) for tutorials on Petri nets. In this section, only necessary definitions are presented.

A Petri net is four-tuple N=(P,T,F,W) where P and T are finite, nonempty, and disjoint sets. Specifically, P is the set of places and T is the set of transitions. F(P×T)(T×P) is called the flow relation or the set of directed arcs. W:FN+ is the weighted function, where N+=1,2,. Ordinary nets are those where W:F{1} while general nets are those where W:FN+. Unless

S-RAS and their S3PGR2 models

In the context of an RAS, it is found that the tractability of and the solution for the corresponding deadlock prevention problem significantly depend on the structure of the resource requests posed by the RAS. According to the taxonomy proposed in Reveliotis and Lawley (1997), four significant classes of RAS can be identified: (a) the single unit RAS (SU-RAS), where every process stage requires one unit from the a single resource for its successful execution, (b) the single type RAS (ST-RAS),

Liveness analysis of S3PGR2

In this section, we present an improved liveness characterization for S3PGR2, which facilitates the development of our deadlock prevention policies. As known, the liveness of a system is strongly related to siphons in a Petri net. The existence of at least one empty siphon, at a marking MR(N,M0), is a necessary and sufficient condition for the non-liveness of S3PR.

In Barkaoui et al., 1997, Barkaoui and Peyre, 1996, the concept of empty siphons in ordinary nets is extended to the notion of

An iterative deadlock prevention approach

As shown in Fig. 3, the RG of the Petri net model of an RAS can be distinguished by the live zone, livelock zone, and deadlock zone (Viswanadhan et al., 1990). The deadlock zone contains states that are deadlock or that inevitably lead to deadlock states, which constitute the most undesirable behavior in a system. The livelock zone contains states that are livelock or that inevitably lead to livelock states, which constitute a set of partially deadlock behavior in a system. At a livelock or

Experimental results

In this section, a manufacturing system that produces three product types, i.e., Parts 1, 2, and 3, from three raw parts, is illustrated to show how to model and control an RAS using methodologies presented throughout this paper. The manufacturing cell is shown in Fig. 5. It is a C/D-RAS consisting of five resource types R1-R5 with capacities C1=C2=C3=C4=7,C5=6, respectively, which means that each one of R1-R4 can process seven products at a time while R5 can process 6 products at a time. There

Discussion

As known, the objective of deadlock prevention is to introduce control to the system to ensure that not only no deadlock situation can happen but also the resulting system is as permissive as possible. Permissiveness herein is characterized by the number of reachable states in the controlled system. Specifically, the quality of a prevention approach is a conjunction of the quality of the method to identify the bad markings and the quality of the method to prevent these identified bad markings

Concluding remarks

In previous sections, an approach is proposed to allow the synthesis of supervisors for deadlock prevention in RAS. The control law works by iteratively inhabiting the occurrence of certain markings at which some job processes are indefinitely stagnated owing to unreasonable resource allocation. From different perspectives, this paper describes two types of supervisor, which, respectively, focus on the maximal behavioral permissiveness and structural simplification. On the basis of Petri net, a

Acknowledgements

This work was supported by the National Nature Science Foundation ofChina under Grant No 60474018, the Scientific Research Foundation for the Returned Overseas Chinese Scholars, State Education Ministry of China, under Grant No 2004-527, and the Laboratory Foundation for the Returned Overseas Chinese Scholars, State Education Ministry of China, under Grant No 030401.

References (52)

  • J.P.T. Mo et al.

    Petri net modelling and design of task oriented messaging system for robot control

    Computers and Industrial Engineering

    (1998)
  • H. Yu et al.

    Combined Petri net modelling and AI based heustic hybrid search for flexible manufacturing systems – Part 1, Petri net modelling and heuristic search

    Computers and Industrial Engineering

    (2003)
  • I.B. Abdallah et al.

    Deadlock prevention and avoidance in FMS: A Petri net based approach

    International Journal of Advanced Manufacturing Technology

    (1998)
  • H. Alaiwan et al.

    Recherche des semi-flots, des verroux et des trappes dans les rseaux de Petri

    Technique et Science Informatiques

    (1985)
  • E. Badouel et al.

    Theory of regions

  • Z.A. Banaszak et al.

    Deadlock avoidance in flexible manufacturing systems with concurrently competing process flows

    IEEE Transactions on Robotics and Automation

    (1990)
  • Barkaoui, K., Chaoui, A., & Zouari, B. (1997). Supervisory control of discrete event systems based on structure theory...
  • K. Barkaoui et al.

    On liveness and controlled siphons in Petri nets

  • D. Chao

    Max’-controlled siphons for liveness of S3PGR2

    IET Control Theory and Applications

    (2007)
  • H. Cho et al.

    Graph-theoretic deadlock detection and resolution for flexible manufacturing systems

    IEEE Transactions on Robotics and Automation

    (1995)
  • F. Chu et al.

    Deadlock analysis of Petri nets using siphons and mathematical programming

    IEEE Transactions on Robotics and Automation

    (1997)
  • J. Ezpeleta et al.

    A Petri net based deadlock prevention policy for flexible manufacturing systems

    IEEE Transactions on Robotics and Automation

    (1995)
  • J. Ezpeleta et al.

    A banker’s solution for deadlock avoidance in FMS with flexible routing and multiresources states

    IEEE Transactions on Robotics and Automation

    (2002)
  • M.P. Fanti

    Deadlock resolution strategy for automated manufacturing systems including conjunctive resource service

    IEEE Transactions on Systems, Man, and Cybernetics-Part A

    (2004)
  • M.P. Fanti et al.

    Event-based feedback control for deadlock avoidance in flexible production systems

    IEEE Transactions on Robotics and Automation

    (1997)
  • M.P. Fanti et al.

    Deadlock control methods in automated manufacturing systems

    IEEE Transactions on Systems Man, and Cybernetics-Part A

    (2004)
  • A. Ghaffari et al.

    Design of a live and maximally permissive Petri net controller using the theory of regions

    IEEE Transactions on Robotics and Automation

    (2003)
  • Y.S. Huang et al.

    Deadlock prevention policy based on Petri nets and siphons

    International Journal of Production Research

    (2001)
  • Y.S. Huang et al.

    Siphon-based deadlock prevention policy for flexible manufacturing systems

    IEEE Transactions on Systems, Man, and Cybernetics-Part A

    (2006)
  • Integrated net analyzer (2003). A software tool for analysis of Petri nets. Version 2.2....
  • M.V. Iordache et al.

    Design of T-liveness enforcing supervisors in Petri nets

    IEEE Transactions on Automatic Control

    (2003)
  • M.V. Iordache et al.

    Synthesis of supervisors enforcing general linear constraints in Petri nets

    IEEE Transactions on Automatic Control

    (2003)
  • M.V. Iordache et al.

    Synthesis of deadlock prevention supervisors using Petri nets

    IEEE Transactions on Robotics and Automation

    (2002)
  • M.D. Jeng

    Modular synthesis of Petri nets for modeling flexible manufacturing systems

    International Journal of Flexible Manufacturing Systems

    (1995)
  • M.D. Jeng

    A Petri net synthesis theory for modeling flexible manufacturing systems

    IEEE Transactions on Systems Man and Cybernetics-Part B

    (1997)
  • M.D. Jeng et al.

    A heuristic search approach using approximate solutions of Petri net state equations for scheduling flexible manufacturing systems

    International Journal of Flexible Manufacturing Systems

    (1998)
  • Cited by (0)

    Manuscript was processed by Area Editor Satish Bukkapatnam.

    View full text