A Deadlock Prevention Policy for Flexible Manufacturing Systems Using Siphons

Similar documents
ONE NOVEL COMPUTATIONALLY IMPROVED OPTIMAL CONTROL POLICY FOR DEADLOCK PROBLEMS OF FLEXIBLE MANUFACTURING SYSTEMS USING PETRI NETS

Elementary Siphons of Petri Nets and Deadlock Control in FMS

A Siphon-based Deadlock Prevention Policy for a Class of Petri Nets - S 3 PMR

Structural Analysis of Resource Allocation Systems with Synchronization Constraints

Resource-Oriented Petri Nets in Deadlock Avoidance of AGV Systems

NECESSARY AND SUFFICIENT CONDITIONS FOR DEADLOCKS IN FLEXIBLE MANUFACTURING SYSTEMS BASED ON A DIGRAPH MODEL

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie

Computers and Mathematics with Applications. Module-based architecture for a periodic job-shop scheduling problem

CONTROL AND DEADLOCK RECOVERY OF TIMED PETRI NETS USING OBSERVERS

Evaluation of deadlock control designs in automated manufacturing systems

A reachability graph partitioning technique for the analysis of deadlock prevention methods in bounded Petri nets

Liveness enforcing supervisors for railway networks using ES 2 PR Petri nets

Analysis and Optimization of Discrete Event Systems using Petri Nets

A deadlock prevention method for railway networks using monitors for colored Petri nets

Research Article Comparison and Evaluation of Deadlock Prevention Methods for Different Size Automated Manufacturing Systems

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

OPTIMAL TOKEN ALLOCATION IN TIMED CYCLIC EVENT GRAPHS

IN AN industrial automated manufacturing system (AMS),

A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS

A Method Based on Depth-first Search to Compute All Minimal Siphons

Designing Reversibility-Enforcing Supervisors of Polynomial Complexity for Bounded Petri Nets through the Theory of Regions

Linear Time Analysis of Properties of Conflict-Free and General Petri nets

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Time and Timed Petri Nets

DESIGN OF LIVENESS-ENFORCING SUPERVISORS VIA TRANSFORMING PLANT PETRI NET MODELS OF FMS

Petri nets analysis using incidence matrix method inside ATOM 3

Efficient Deadlock Prevention in Petri Nets through the Generation of Selected Siphons

Zhennan Fei, Knut Åkesson and Spyros Reveliotis

Generalized Algebraic Deadlock Avoidance Policies for Sequential Resource Allocation Systems

Property-preserving subnet reductions for designing manufacturing systems with shared resources

Deadlock analysis and control based on Petri nets: A siphon approach review

Liang Hong, 1 YiFan Hou, 2 JunFeng Jing, 1 AnRong Wang, 2 and Dmitry A. Litvin Introduction

Complexity Analysis of Continuous Petri Nets

Classes of Petri Nets That a Necessary and Sufficient Condition for Reachability is Obtainable

An Holistic State Equation for Timed Petri Nets

Process Completing Sequences for Resource Allocation Systems with Synchronization

Cycle Time Analysis for Wafer Revisiting Process in Scheduling of Single-arm Cluster Tools

A Polynomial-Time Algorithm for Checking Consistency of Free-Choice Signal Transition Graphs

Research Article Supervisor Reconfiguration for Deadlock Prevention by Resources Reallocation

of Kentucky, Lexington, KY USA,

Time Petri Nets. Miriam Zia School of Computer Science McGill University

c 2011 Nisha Somnath

Specification models and their analysis Petri Nets

THE simulation of a continuous or discrete time system

On the Optimality of Randomized Deadlock Avoidance Policies

A Canonical Contraction for Safe Petri Nets

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

c 2014 Vijayalakshmi Deverakonda

A Structure Causality Relation for Liveness Characterisation in Petri Nets

DECOMPOSITION OF PETRI NETS

Petri Nets (for Planners)

A practical approach to the design of maximally permissive liveness-enforcing supervisors for complex resource allocation systems

Deadlock Analysis and Routing on Free-Choice Multipart Reentrant Flow Lines Using a Matrix-Based Discrete Event Controller *

Modelling of Railway Network Using Petri Nets

Logical Control of Complex Resource Allocation Systems

Marking Estimation in Labelled Petri nets by the Representative Marking Graph

Discrete Event Systems Exam

Cycle time optimization of deterministic timed weighted marked graphs by transformation

Research Article Mixed Integer Programming-Based Liveness Test for FMS with Full Routing Flexibility

E. Salimi 1, N. Somnath 1 and R.S. Sreenivas 1

Basis Marking Representation of Petri Net Reachability Spaces and Its Application to the Reachability Problem

Research Article A Multistep Look-Ahead Deadlock Avoidance Policy for Automated Manufacturing Systems

Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS

THROUGHPUT ANALYSIS OF MANUFACTURING CELLS USING TIMED PETRI NETS

Control of Hybrid Petri Nets using Max-Plus Algebra

Free-Choice Petri Nets without Frozen Tokens, and Bipolar Synchronization Systems. Joachim Wehler

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

Markings in Perpetual Free-Choice Nets Are Fully Characterized by Their Enabled Transitions

On Qualitative Analysis of Fault Trees Using Structurally Persistent Nets

1. sort of tokens (e.g. indistinguishable (black), coloured, structured,...),

Resource Allocation Systems: Some Complexity Results on the S 4 PR Class

Fault Tolerance, State Estimation and Fault Diagnosis in Petri Net Models

Soundness of Workflow Nets with an Unbounded Resource is Decidable

7. Queueing Systems. 8. Petri nets vs. State Automata

A Review of Petri Net Modeling of Dynamical Systems

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

FUZZY AUTOMATION CONTROLLER FOR FLEXIBLE MANUFACTURING SYSTEMS

ARTICLE IN PRESS. Available online at Mathematics and Computers in Simulation xxx (2010) xxx xxx.

Maximally Permissive Deadlock Avoidance for Resource Allocation Systems with R/W-Locks

NEW COLOURED REDUCTIONS FOR SOFTWARE VALIDATION. Sami Evangelista Serge Haddad Jean-François Pradat-Peyre

An Efficient Heuristics for Minimum Time Control of Continuous Petri nets

748 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 54, NO. 4, APRIL 2009

Modeling and Stability Analysis of a Communication Network System

Designing parsimonious scheduling policies for complex resource allocation systems through concurrency theory

A Bounded True Concurrent Process Algebra and Flexible Manufacturing Systems

Petri net models. tokens placed on places define the state of the Petri net

Supervisory Control of Petri Nets with. Uncontrollable/Unobservable Transitions. John O. Moody and Panos J. Antsaklis

Discovering Petri Net Models of Discrete-Event Processes by Computing T-Invariants

MODELING AND SIMULATION BY HYBRID PETRI NETS. systems, communication systems, etc). Continuous Petri nets (in which the markings are real

Linear programming techniques for analysis and control of batches Petri nets

Lecture 2. Fundamentals of the Analysis of Algorithm Efficiency

Applications of Petri Nets

HYPENS Manual. Fausto Sessego, Alessandro Giua, Carla Seatzu. February 7, 2008

Industrial Automation (Automação de Processos Industriais)

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

The Downward-Closure of Petri Net Languages

Designing parsimonious scheduling policies for complex resource allocation systems through concurrency theory

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations

A Generalized Stochastic Petri net Model for Performance Analysis and Control of Capacitated Re-entrant Lines

Transcription:

Proceedings of the 2001 IEEE International Conference on Robotics & Automation Seoul, Korea May 21-26, 2001 A Deadlock Prevention Policy for Flexible Manufacturing Systems Using Siphons YiSheng Huang 1 MuDer Jeng 2 Xiaolan Xie 3 ShengLuen Chung 4 1 Departmet of Electronic Engineering, FUSHIN Institute of Technology, Tou-Cheng 261, Taiwan Taiwan, ROC yshuang@mail.fit.edu.tw 2 Department of Electrical Engineering, National Taiwan Ocean University, Keelung 202, Taiwan, ROC b0162@ind.ntou.edu.tw 3 INRIA / MACSI Team ENIM-ILE DU SAULCY, 57045-Metz Cedex, France xie@loria.fr 4 Department of Electrical Engineering, National Taiwan University of Science and Technology, Taipei 106, Taiwan, ROC slchung@event.ee.ntust.edu.tw Abstract In this paper, we present a new deadlock prevention algorithm for the class Petri nets. A new class of net that is extended from S 3 PR, called ES 3 PR where deadlocks are related to unmarked siphons. This method is an iterative approach by adding two kinds of control places called ordinary control place and weighted control place to the original model to prevent siphons from being unmarked. We have obtained the relation of the algorithm and the liveness and reversibility of the controlled net. Finally, a flexible manufacturing example is presented for illustrating the method. 1. Introduction Petri nets (PNs) have been recognized as one of the most powerful tools for modeling FMS [12]. The increasing interest in PN s is stimulated by their analysis of the modeled systems. However, several fundamental problems remain open. One of them is the prevention of deadlocks. In essence, the deadlock prevention problem is an important issue in manufacturing systems because of two reasons. First, the existence of deadlocks causes a certain degree of disruption of production, and thus may significantly increase the production cost. Second, the computation of deadlocks is in general is an exponential-time problem. Some deadlock prevention avoidance schemes for controlling an FMS have been proposed in prior work [1] [3-4][6-8]. Many of them adopted PN models as a formalism to describe FMS s and to develop deadlock avoidance policies. In [1][5-6], the deadlock avoidance problem is solved using the concept of siphons. In particular, Ezpeleta et al. [6] proposed a deadlock prevention control policy that is implemented by means of the addition to the initial PN model of some new elements such that the final model is live. That is, new places are added to the net imposing restrictions that prevent the presence of unmarked siphons (direct cause of deadlocks). Unfortunately, all output arcs of the new control places are added to source transitions of the resultant net if all places representing resources (we shall call them resource places) in the original net are removed. Since the source transitions denote the entry points of the processing of raw parts, this policy is rather conservative. In [3], the deadlock detection and avoidance is proposed using a graph-theoretic approach. The approach is simple because it only looks ahead one step. Unfortunately, the approach considers only single resources in a state. In [8], the authors use an algebraic polynomial kernel for analysis and deadlock avoidance for augmented marked graphs. A main drawback of the prevention method is that the algorithm directly controls source transitions. Other developments involving deadlock prevention avoidance were reported in [4][6][11]. In [2], the authors have developed a fast deadlock detection approach based on mixed integer programming (MIP) for structurally bounded nets whose deadlocks tied to unmarked siphons. Since no explicit enumeration of siphons is required, this formulation opens a new avenue for checking deadlock-freeness of large systems. Its computational efficiency is relatively insensitive to the initial marking and expected to be more efficient than classical state enumeration methods [9]. The MIP method is able to find a maximal siphon unmarked at a reachable marking. Based on this, we can formalize an algorithm that can efficiently obtain a minimal siphon from the result of the MIP method. In [5], we have proposed a deadlock prevention algorithm for S 3 PR modeled manufacturing systems. The algorithm is an iterative approach based on Chu and Xie s MIP method. At each iteration, the MIP technique is used to find an unmarked maximal siphon. Next, an unmarked minimal siphon is obtained from the maximal siphon. The algorithm consists of two main stages: one stage is called siphons control, the other stage is called augmented siphons control. This latter stage assures that there are no new siphons generated. We have shown the 0-7803-6475-9/01/$10.00 2001 IEEE 541

relation of the algorithm and the liveness and reversibility of the controlled net. Comparing with prior work, this approach provides better performance since control is not solely added to the entry point of jobs. In this paper, we present a new deadlock prevention algorithm for a new class of nets that are extended from S 3 PR called ES 3 PR where deadlocks are related to unmarked siphons. This method is an iterative approach by adding two kinds of control places to the original model to prevent siphons from being unmarked. One is added a control place, called ordinary control place, to an original net G with its related arcs such that the controlled net is still an ordinary Petri net; the other is added a control place, called weighted control place, to an original net G with its related arcs such the controlled net become to a generalized Petri net. We have obtained the relation of the algorithm and the liveness and reversibility of the controlled net. Finally, a flexible manufacturing example is presented for illustrating the method. The rest of the paper is organized as follows: Section 2 presents basic definitions and properties of Petri nets that are related to this paper. Section 3 presents our deadlock avoidance algorithm. Section 4 gives an example. Conclusions are presented in section 5. 2. Basic Definitions and Properties Consider a generalized PN G = (P, T, F, W, M 0 ) where P is the set of places, T is the set of transitions, F (P T) (T P) is the set of directed arc, W: F IN\{0} gives the weights of arcs, and M 0 : P IN is the initial marking, where IN is the set of nonnegative integers. A net such that W: F {1} is called an ordinary net, and can be denoted as G = (P, T, F, M 0 ). The set of input (resp. output) transitions of a place p is denoted by p (resp. p ). Similarly the set of input (resp. output) places of a transition t is denoted by t (resp. t ). For any subset of places S, S (resp. S ) denotes the set of transitions with at least one output (resp. input) place belonging to S. A transition t is enabled and can fire under a marking M iff M(p) 1, p t. A transition t is said to be live if for any M R(M 0 ), there exists a sequence of transitions firable from M that contains t. A PN is said to be live if all the transitions are live. A PN is said to be deadlock-free if at least one transition is enable at every reachable marking. A place p is said to be bounded if there exists a constant K suck that M(p) K for all M R(M 0 ). A PN is said to be bounded if all the places are bounded. It is said to be structurally bounded if it is bounded whatever the initial marking is. A PN is said to be reversible if, for any M R(M 0 ), M 0 is reachable from M. A subset of places S is called a siphon if S S, i.e., any input transition of S is also an output transition of S. It is called a trap if S S. A siphon is minimal if it does not contain any other siphons [10]. Our deadlock prevention method uses the MIP deadlock detection approach proposed by Chu and Xie [2] since the MIP approach can deal with large systems within reasonable computation time according to their experimental study. The MIP approach is briefly summarized as follows: Given a siphon S, two binary indicators are introduced: v p = 1 { p S} and zt = 1{ t S } (1) It is obvious that any p with v p = 1 and any t with z t = 1 will not be included in a siphon. Since S is a siphon, v p = 0 z t = 0, t p and z t = 1 v p = 1, p t which lead to z v t + 1, t T v t p p p t (2) zt, ( t, p) F (3) v p, z t {0, 1}. (4) For a structurally bounded net, we have v p M( p)/ SB( p), p P (5) where the structural bound SB is defined as: SB(p) = max{ M(p) M = M 0 + CY, M 0, Y 0}. Therefore, the maximal siphon unmarked at a given marking M can be determined by the following MIP problem and there exist siphons unmarked at M iff G MIP (M) < P : G ( M ) = Minimize v p p P such that constraints (1)-(4) are satisfied and M = M 0 + CY, M 0, Y 0 (6) Several important properties are presented below. Property 1: The system (2)-(4) is properly speaking an integer linear system. Property 2: Let S be a minimal siphon and let p and q be two places such that p q then q S p S. Property 3: Let S be a minimal siphon. Then for any p S, there exists t p such that t S = {p}. Property 4: Let S be a minimal siphon. Then the subnet induced by S and S is strongly connected. The following properties (see [2]) show the importance of siphons and traps in the detection of deadlocks. Property 5: A siphon free of tokens at a marking remains token-free whatever the transition firings. A trap marked by a marking remains marked. For any marking such that no transition is enabled, the set of unmarked places forms a siphon. 542

Property 6: A Petri net is deadlock-free if no minimal siphon eventually becomes unmarked. 3. The Deadlock Prevention Algorithm The deadlock prevention algorithm proposed in this paper is targeted at systems modeled by a class of ordinary PNs called ES 3 PR. An ES 3 PR is defined as follows: Definition 1: An ES 3 PR net G is a net that results from adding a set R of initially marked places (resource places) to a set of process nets such that: (i) Each resource place r is associated with a set of operation places, OP(r). This implies that these operation places require resource r. (ii) For each input transition t of some p OP(r), there exists an arc from r to t if t I OP(r) = φ. (iii) For each output transition t of some p OP(r), there exists an arc from t to r if t I OP(r) = φ ES 3 PRs properly include S 3 PRs and partially overlap with RCN merged nets. Fig. 1 helps us to understand an ES 3 PR net. As described above, our deadlock avoidance algorithm is an iterative approach. At each iteration, the proposed method adds a control place to the original net G with its output arcs to the sink transitions of a minimal siphon, or to the source transitions of the resultant net G* if all resource places are removed. Based on the discussions of the above section, this section presents and illustrates our deadlock avoidance algorithm. Since the algorithm uses the MIP approach described in Section 2 to obtain maximal siphons unmarked at some markings. We also use an algorithm [5] to obtain unmarked minimal siphons from the maximal siphons. For each minimal siphon S i that can become unmarked, two cases are possible. When an ordinary control place (OC) is added on an ordinary net, the resultant net is still an ordinary net (i.e. depicted in Fig. 2(a)); but when a weighted control place (WC) is added to an ordinary net, the resultant net becomes a generalized net (i.e. depicted in Fig. 2(b)). As mentioned previously, our method consists of two kinds of control places: We add an OC to a net G with its output arcs to the sink transitions of a minimal siphon. However, we add a WC control place to a net G with its output arcs to the source transitions of the net. The principles and theorems are depicted as follows. p1 p3 p5 t4 t1 p2 t8 p16 p6 p7 p4 p13 t7 p15 p14 Fig. 1: An ES 3 PR net. p12 Definition 2: (i) An operation place p S is called stealing place if p OP(r) for some resource place r S. (ii) Let O(S) be the set of stealing place of S. (iii) Let N = 1 ( p OP( r)) = Number of p r S R p9 t9 resource tokens of S stolen by a token in place p. Case I: N p = 1, p O(S) To prevent S from becoming unmarked, an OC is added as follows: Definition 3: For each siphon S such that N p = 1, p O(S), a new place OC is added such that: (i) M OC) M ( r) 1, 0 ( = 0 r S R (ii) For any input transition t of a place in O(S), there exists an arc from OC to t if t I O(S) = φ, (iii) For any output transition t of a place in O(S), there exists an arc from t to OC if t I O(S) = φ. Theorem 1: The net with the place OC is also an ES 3 PR net where OC can be considered as a resource place with OP(OC) = O(S). p8 543

OC an arc (WC, t) of weight W t, (iii) For any output transition t that is not a source transition G *, let p be its input operation place. Add an arc (t, WC) of weight W p - W t if W p > W t. p 1 S p 3 Theorem 2: The net obtained by adding WC is potentially live. p 2 Theorem 3: The net obtained by adding WC is reversible iff no siphon S without WC cannot become unmarked. t 1 N p1 (a) w 1 WC w 2 t 2 As previously mentioned, the net has several features as follows: (i) There may be more than one siphon that can become unmarked. (ii) Adding OC may create a new unmarked siphon. (iii) Adding WC will not create new unmarked siphons. S From the above features, they imply that an iterative process is needed to eliminate all existing/new unmarked siphons. As a result, our goal is to eliminate any unmarked siphons at each iteration. More detail steps are shown as follows: (b) Fig. 2: Two different control places. Case II: N p > 1, p O(S) To prevent S from becoming unmarked, a WC is added as follows: Definition 4: W p = max N where L p is the set of p' Lp operation place in all paths from p to the sink transitions of G * with obvious extension N p = 0 for all p O(S). Definition 5: W t max N p' Lt p ' = where L t is the set of operation place in all paths from p to the sink transitions of G * with obvious extension N p = 0 for all p O(S). Note that W t = W p, for the unique operation place p t. Definition 6: For each siphon S such that N p > 1, p O(S), a new place WC is added such that: (i) M WC) M ( r) 1, p' 0 ( = 0 r S R (ii) For all source transition t of G * such that W t > 0, add Algorithm Deadlock_Prevention Step 1: Starting from an ES 3 PR net G 0 an unmarked siphon S 1, is determined and a control place C 1 is added. Let (G 0 + C 1 ) denote the new net. Step 2: Case I: C 1 is an OC. (i) Then, the new net (G 0 + C 1 ) is an ES 3 PR net. (ii) The next step determines an unmarked siphon S 2 of the net (G 0 + C 1 ). (iii) The related control place C 2 is added to obtain net (G 0 + C 1 + C 2 ). Case II: C 1 is an OW. (i) Then, the new net (G 0 + C 1 ) is a generalized net. (ii) According to the Theorem 15, the next step determines a siphon S 2 in net G 0 that can become unmarked in (G 0 + C 1 ). Note that the WC with its arcs added on the net cannot generate any new siphons. 544

(iii) The related control place C 2 is added to obtain net (G 0 + C 1 + C 2 ). For convenience to explain our policy, in the next section, we will show an example. in Fig. 6. In summary, we add three OCs control place and two WCs control place to the original net. After adding those control places, the resultant net is live and reversibe. 4. Example Fig. 1 shows the net model of a flexible production system where two types of processes execute concurrently and share a set of common resources. The system net is an ES 3 PR. In Fig. 3, we obtain an unmarked maximal siphon {p3, p5, p6, p7,,, p12, p13, p14, p15, p16} of the net. From the maximal siphon, an unmarked minimal siphon {p5, p6, p7,,, p14, p15} by which the sub-net generated is shown in Fig.3. Hence, we can point out that, and are sink transitions, {p3, p4, p9} O(S), and M 0 () = M 0 (p14) + M 0 (p15) 1 = 2. Note that is considered a resource place in the algorithm. Similarity, we obtain an unmarked maximal siphon {p3, p4, p5, p6, p7,, p12, p13, p14, p15, } of the net. From the maximal siphon, an unmarked minimal siphon {p3, p4, p5, p6, p12, p13, p14} is obtained. Hence, we can point out that t1 and are sink transitions, {p2,, } O(S), and M 0 (p18) = M 0 (p13) + M 0 (p14) 1 = 1. In the next iteration, by the same way, we obtain an unmarked maximal siphon {p3, p5, p6, p7,,, p12, p13, p15,, p18}. From the maximal siphon, an unmarked minimal siphon {p3, p4, p13,, p18} by which the sub-net generated is shown in Fig.4. Hence, we can point out that and are sink transitions and source transition as well. This situation is different from the former iteration. Since N p2 = 2, in this case, we add a weighted control place to the net. Specifically, we obtain W t1 = 2 and W = 1, and the weight of arc (p19, t1) is equal to 2 and the weight of (p19, ) is equal to 1. It is worth to note that p19 (WC) cannot generate a new siphon (Theorem 3). Due to that p19 cannot be considered a resource place and generates a new siphon, in fact, add a restriction to the MIP method. The objective is to eliminate some unreachable states. The restriction is as follows: M(3) + M(4) + M(12) + M(13) +M(17) + M(18) <= 3 As a result, in the new iteration, we can obtain another minimal siphon {p5, p6, p7,,, p15,, p18} and the controlled sub-net is depicted in Fig. 5. Finally, we can obtain another minimal siphon {p3, p4,,,, p18} and the controlled sub-net is depicted p5 t4 t8 p6 p7 t7 p15 p14 Fig. 3: A minimal siphon with (OC) being the added control place. p19 2 2 p3 2 t1 p4 p13 p18 t9 p12 Fig. 4: A minimal siphon with p19 (WC) being the added control place. 5. Conclusions This paper presents a deadlock prevention method for a class of FMS where deadlocks are caused by unmarked siphons in their PN models. The FMSs are modeled using ES 3 PRs, which are extended from S 3 PR nets. 545

t1 p20 Council of Taiwan, ROC under Grant NSC89-2618-E-011-009. p5 t4 t8 p6 p7 t7 p15 p18 Fig. 5: A minimal siphon with p20 (WC) control place. p21 p3 t1 p4 p18 2 Fig. 6: A minimal siphon with p21 (OC) control place. The proposed deadlock control policy can be implemented by adding two kinds of control places to the original model. The algorithm main object is to decide which one kind of control place is suitable. More specific, the method used two kinds of control places to add on the original net G. We have obtained the relation of the algorithm and the liveness and reversibility of the controlled net. Finally, a flexible manufacturing example is presented for illustrating the method. 6. Acknowledgement This work was supported in part by the National Science References 1. K. Barkaoui, and I. B. Abdallah, Deadlock avoidance in FMS based on structural therory of Petri nets, Proc. INRIA/IEEE Symposium on ETFA, vol. 2, no.4, pp. 499-510, 1995. 2. F. Chu and X. L. Xie, Deadlock analysis of Petri nets using siphons and mathematical programming, IEEE Trans. Robotics Automat., vol. 13, no. 6, pp. 793-804, 1997. 3. M. P. Fanti, G. Maione, Saverio Mascolo and B. Turchiano, Event-Based Feedback Control for Deadlock Avoidance in Flexible Production Systems, IEEE Trans. Robotics Automat., vol. 13, no. 3, pp. 347-363, 1997. 4. F. S. Hsieh and S. C. Chang, Dispatching-driven deadlock avoidance controller synthesis for flexible manufacturing systems, IEEE Trans. Robotics Automat., vol. 10, no. 2, pp. 196-209, 1994. 5. Y. S. Huang, M. D. Jeng, X. L. Xie, and ShengLuen Chung, A deadlock Prevention Policy Based on Petri nets and Siphons, to appear in International Journal of Production Research, 2000. 6. J. Ezpeleta, J. M. Colom, and J. Martinez, A Petri net based deadlock prevention policy for flexible manufacturing systems, IEEE Trans. Robotics Automat., vol. 11, no. 2, pp. 173-184, 1995. 7. M. D. Jeng, Petri nets for modeling automated manufacturing systems with error recovery, IEEE Trans. Robotics Automat., vol. 13, no. 5, pp. 752-760, 1997. 8. M. D. Jeng, M. Y. Peng, and Y. S. Huang, An algorithm for calculating minimal siphons and traps of Petri nets, International Journal of Intelligent Control and Systems, Vol. 3, No. 3, pp. 263-275.1999. 9. J. Park and S. A. Reveliotis, Algebraic Synthesis of Efficient Deadlock Avoidance Policies for Sequential Resource Allocation Systems, IEEE Trans. Robotics Automat., vol. 16, no. 2, pp. 190-195, 2000. 10. Murata T., Petri nets: properties, analysis and application, Proc. IEEE, vol. 44, no.4, pp. 541-579, Apr. 1989. 11. N. Viswanadham, Y. Narahari, and T. L. Johnson, Deadlock prevention and deadlock avoidance in flexible manufacturing systems using Petri net models, IEEE Trans. Robotics Automat., vol. 6, no. 6, pp. 713-723, 1990. 12. M. C. Zhou and F. DiCesare, Petri Net Synthesis for Discrete Event Control of Manufacturing Systems, Boston, MA: Kluwer, 1993. 546