=Paper= {{Paper |id=None |storemode=property |title=Deadlock Control Software for Tow Automated Guided Vehicles using Petri Nets |pdfUrl=https://ceur-ws.org/Vol-827/21_CarlosRovetto_article.pdf |volume=Vol-827 |dblpUrl=https://dblp.org/rec/conf/acsd/RovettoCC10 }} ==Deadlock Control Software for Tow Automated Guided Vehicles using Petri Nets== https://ceur-ws.org/Vol-827/21_CarlosRovetto_article.pdf
         Deadlock Control Software for Tow Automated
               Guided Vehicles using Petri Nets
                       Carlos Rovetto1 , Elia Cano1 and José-Manuel Colom2
                   1
                       Dpt. of Computer Science and Systems Engineering (DIIS)
                          2
                            Aragón Institute of Engineering Research (I3A)
                                    University of Zaragoza, Spain
                         {carlos.rovetto,elia.cano}@utp.ac.pa, jm@unizar.es

             Abstract.   Factoring and warehouse distribution centers face numerous
             and interrelated challenges in their eorts to move products and materi-
             als through their facilities. New technologies in navigation and guidance
             allow true autonomy with more exibility and resource eciency. In this
             paper we investigate a complete design approach to obtain deadlock-free
             minimal adaptive routing algorithms for these systems. The approach is
             based in an abstract view of the system as a Resource Allocation System.
             The interconnection network and the routing algorithm elaborated by the
             designer, are the initial information used to obtain in an automatic way
             a Petri Net model. For this kind of routing algorithms, we prove that the
             obtained Petri Net belongs to the well-known class of S 4 P R net systems,
             and therefore the rich set of analysis and synthesis results can be applied
             to enforce the liveness property of the routing algorithm.

     Key words: AGVs, Control Software, Resource Allocation Systems (RAS),
     Modular Models, Structural Analysis.
     1     Introduction
     Nowadays, many factories and warehouse and distribution centers use Auto-
     matic Guided Vehicles (AGV s) for item transportation among workstations.
     The wheeled trailers are the most productive form of AGV for tugging and tow-
     ing because they haul more conveyor-loads per trip than other AGV types. In
     this paper we consider a warehouse distribution center as a programmable sys-
     tem for conveyor-loads movement among workstations using tugger AGV . The
     problem to be investigated concerns the design of Deadlock-Free minimal adap-
     tive routing algorithms for the guidance system of tuggers AGV s, travelling into
     an warehouse distribution center. We say that the routing algorithm is minimal
     because only routes of minimal length between two workstations are taken into
     account. Moreover, the routing algorithms we are considering are adaptive in
     the sense that the route of a conveyor-load is constructed segment by segment.
     The assignment of a segment to the route of a conveyor-load is done in a work-
     station when the rst trailer try to leave the workstation towards its destination
     workstation.
         From the methodological point of view, the design of deadlock-free minimal
     adaptive routing algorithms is a complex task, where the designer experience
     is required because deadlock states can appear. There exist several approaches




Recent Advances in Petri Nets and Concurrency, S. Donatelli, J. Kleijn, R.J. Machado, J.M. Fernandes
(eds.), CEUR Workshop Proceedings, ISSN 1613-0073, Jan/2012, pp. 251–265.
252 Petri Nets & Concurrency                                  Rovetto, Cano, and Colom




   to cope with this problem [15]. They consider more general routing algorithms
   than those considered in this paper (including, for example, non-minimal routes).
   Because this generality, very few powerful analysis and synthesis results are
   available.
        Our approach gives a full design cycle for minimal adaptive routing algorithms
   using Petri Nets as formal model that allows structural analysis of the liveness
   property of the model. Afterwards, if it is necessary, the initial routing algorithm
   is changed. From the point of view of software engineering, in the context of the
   control software for AGV s systems, this paper intends to make contributions in
   the following directions: (a) The formalization of an abstraction process of the
   system to retain only the relevant characteristics in the study of deadlock prob-
   lems in the routing software of AGV s. This abstraction is constructed around a
   minimal set of concepts  processes and resources. (b) The demonstration that
   for AGVs with minimal adaptive routing algorithms, the proposed abstraction
   process gives rise to models belonging to a well known class of Petri Nets named
   S 4 P R, and so, we have many available results to cope with these systems. (c)
   A modular methodology to construct the models based on the specication of
   processes with resources that form the modules. The modules are composed by
   the fusion of common shared resources (segments) by dierent modules. This
   paper is organized as follows. In Section 2 an illustrative example is presented.
   In section 3 the proposed methodology is presented in detail. Section 4 presents
   the rst step of the methodology consisting of the abstraction of the warehouse
   distribution center and the routing algorithm to retain only those aspects related
   to the appearing of deadlocks. Section 5 is devoted to the Petri Net model rep-
   resenting the Resource Allocation view of the system. This section also proves
   that the Petri Nets obtained for these routing algorithms belong to the class
   of the S 4 P R nets. Section 6 presents the analysis and synthesis phases of the
   methodology that prot the theoretical results known for the class of S 4 P R.
   Finally, section 7 presents some conclusions.
   2    An Example
   In this section, a simple example of a warehouse distribution center, will be pre-
   sented. The specication of this example illustrates the typical situation in the
   transportation system of items. We start with a layout of the shipping areas
   dened by a set of workstations W S and a set of segments SG interconnecting
   the workstations. The connection pattern among workstations will be called the
   f ramework of the warehouse distribution center. The example that we are con-
   sidering is an unidirectional ring in clockwise fashion as underlying framework.
   There are four workstations W S ={w0 , w1 , w2 , w3 } and they are interconnected
   by a set of segments SG={sa0 , sa1 , sa2 , sl1 , sl2 , sl3 }. This warehouse distribution
   center is depicted in schematic way in Fig. 1.a. Observe that if a workstation
   has two output segments, a train can follow any of them. This decision is taken
   by the local minimal adaptive routing algorithm of the workstation. The other
   dening element of the warehouse distribution center is the behavior of the
   conveyors because a train can tow single or multiple trailers hence the length
   of the conveyors is variable. As the conveyors ow in pipeline fashion through
Deadlock control software for vehicles         Petri Nets & Concurrency – 253




                Fig. 1. a) Framework skeleton and its, b) Warehouse Graph.

    the framework, these can have simultaneously allocated several segments of the
    framework. The rst trailer of the AV G train is the head of the conveyors and
    reserve the segments to transit; the last trailer is the tail and release them. Tra-
    ditionally, each segment supports only one conveyor at time to avoid collisions.
    In our example, each workstation executes, an instance of the following minimal
    adaptive routing algorithm parameterized by the identity of the workstation.
    ALGORITHM 1 Minimal Adaptive Routing Algorithm for workstation i.
    Input: The head trailer cl from the conveyor-load queue.
    Local: Si ⊆ SG, output segments for workstation i
           F ⊆ Si , set of non-assigned output segments
    Output: The next segment to be used for cl
    begin
     if (destination(cl) = i) then store the conveyor-load cl in workstation i
     else
        if ( sai ∈ F ) then use sai ; F :=F \{sai }
        else
           if ((destination(cl) < i) ∧ (sli ∈ F )) then
             use sli ; F :=F \{sli }
         else enqueue cl
         end if
       end if
     end if
    end
    That means the workstation knows its non-assigned output segments and the
    algorithm assigns, if it is possible, the output segment that the rst trailer must
    follows in order to reach its destination. In other words, to reach a destination
    workstation, wd , dierent to the current workstation wi , the algorithm tries to
    assign the output segment sai if it is an output free segment of wi . Otherwise,
    sli is assigned if this segment is an output free segment of wi and the index d
    of the workstation wd is less than the index i of wi . This reservation is done by
    the head trailers. The intermediate trailers follow through the reserved segments
    and the tail trailer release the segments that they will be added to the set of free
    segments F . The design of minimal adaptive routing algorithms can lead to so-
    lutions where deadlock states can be reached. A deadlock state, in a warehouse
    distribution center, arise when a set of conveyor-loads are in transit to their
    respective destination workstations but all of them are stopped forever in inter-
    mediate workstations. They are waiting for the availability of output segments of
254 Petri Nets & Concurrency                                Rovetto, Cano, and Colom




   these intermediate workstations that have been previously assigned to conveyor-
   loads belonging to this set. Therefore, none of the implied conveyor-loads will
   reach their destination workstations. The minimal adaptive routing algorithm
   of our example presents this anomaly that we illustrate by means of the fol-
   lowing deadlock state. We have four conveyor-loads, {cl1 , cl2 , cl3 , cl4 }, each one
   composed by more than one trailer. It is easy to verify that the state described
   in table 1, for the four conveyor-loads in transit, is reachable, where H and T
   represent the current workstations of the head and tail trailers, respectively. The
   rest of the columns in the table 1 represent: Allocated segments − segments as-
   signed to the conveyor-load; Destination workstation − represents the destination
   workstation of the conveyor-load; Next segment − segment to be assigned to the
   head trailer according to the minimal adaptive routing algorithm. Observe that
                  Conveyor Trailers Allocated Destination         Next
                  -loads     H    T    Segments Workstation segment
                  cl1        w0   w3      sl3          w1           sa0
                  cl2        w1   w0      sa0          w2           sa1
                  cl3        w2   w1      sa1          w3           sa2
                  cl4        w3   w2      sa2          w1           sl3

       Table 1. Deadlock state reached in the example concerning four conveyor-loads.

   all conveyor-loads are in intermediate workstations and in order to advance in
   the warehouse distribution center, all conveyor-loads need segments (those given
   by the minimal adaptive routing algorithm) that they are allocated by other
   conveyor-loads in the same set (compare the two columns "Allocated Segments"
   and "Next segment" in the table 1). On the other hand, none of the tail trailers
   can release segments because if some tail trailer moves ahead, it will be in the
   same workstation that the head trailer and this is not possible. Therefore, we
   have reached a deadlock state where the four classical necessary conditions for
   the existence of a deadlock are fullled. Finally, you can observe that although
   we are in a deadlock state, there exist two segments, sl1 and sl2 , that they are
   free, and the minimal adaptive routing algorithm cannot assign these segments
   to the four conveyor-loads of our scenario.
   3     The proposed methodology
   In this paper we advocate for a methodology where, after an analysis phase
   of the model obtained from the framework (the interconnection network) and
   the minimal adaptive routing algorithm, a synthesis procedure transform the
   original routing algorithm to make it deadlock-free. In order to implement this
   methodology we will make use of Petri Net models. Therefore, the rst task will
   be the construction of the Petri Net model that retains only those aspects related
   to the appearing of the deadlock states. Deadlocks appear as a consequence of
   the allocation of the segments by the conveyor-loads in transit in the warehouse
   distribution center. Therefore, we will adopt a Resource Allocation perspective
   to abstract the system (RAS view of the warehouse distribution center) where
   segments will be considered as resources, that they are used in a conservative
   way (they are not created nor destroyed) by the user processes that they are
Deadlock control software for vehicles              Petri Nets & Concurrency – 255




    the conveyor-load moving from a source workstation to a destination worksta-
    tion. In next section, from the framework and the routing algorithm we will
    obtain a Routing Graph for each destination workstation. One of these Routing
    Graphs represents a transition graph where we present the reachable states of a
    conveyor-load, composed by more than one trailer, from a source workstation of
    the warehouse distribution center to the destination workstation corresponding
    to the Routing Graph. From these Routing Graph and the segments consid-
    ered as resources, in section 5 we obtain a Petri Net that, in the case of minimal
    adaptive routing algorithms, belongs to the well known class of S 4 P R nets. Now,
    using the known analysis results for this class of nets we can characterize the
    existence of deadlocks using a structural reasoning. The synthesis procedure is
    based on the methods for liveness enforcing developed by dierent authors [6]
    [7] [8]. The Fig. 2 presents in graphical form the methodology we propose for the
    design of deadlock-free minimal adaptive routing algorithms. In this methodol-
    ogy, the Petri Nets play a central role, because they are used to model the RAS
    view of the warehouse distribution center, and this is the reason of this paper:
    to present how to obtain these Petri Nets and to prove that they belong to a
    previously known class of Petri Nets (S 4 P R), and so well studied.



                                        Start



                                                                                          Specification
                          Framework             Minimal Adaptive      Designer
                                                Routing Algorithm     Specification


                                     Warehouse Graph                State space
                                                                    of a given
              Segments
                                                                    conveyor-load
                                                                                                Abstraction


                                    Minimal Path Graph              with destination
                                                                    workstation wsi
                               Conveyor Behaviour Graph

                                          Routing Graph
              Resources                                                  Processes
                                                                                          Formal
                                                                                          Model




               RAS view
                                    Petri Net of the class S4PR      Formal Model

                                    Liveness Analysis in S4PR
                                                                                       Analysis Synthesis Phase




                                                                     The designer
                                          No           Yes           specification
                                                Live                 is accepted

                                       Backward propagation
              Synthesis procedure       of the constrains on         The modified
                  for liveness           the model to the            specification
                enforcing in the         minimal adaptive
              warehouse net model                                    is accepted
                                         routing algorithm


                             Fig. 2. Design Flow Methodology.
256 Petri Nets & Concurrency                               Rovetto, Cano, and Colom




   4   Construction of the Routing Graph
   The goal of this section is to represent, step by step, the construction of the so
   called Routing Graph from the information about the framework of the ware-
   house distribution center and the minimal adaptive routing algorithm. This
   Routing Graph will represent the sequence of states that a conveyor-load must
   follow to reach a given destination workstation, wi . The denition of the state
   concerns the set of segments that the conveyor-load is using each time. Therefore,
   RG give us the so called Resource Allocation (RAS) view of the warehouse distri-
   bution center. First, the framework is formalized through the Warehouse Graph
   (WG). The W G is a labeled graph W G=(W, S), where W is a set of vertices
   and S is a set of edges. The set W is equal to W S and S⊆W ×2SG ×W , where
   W S is the set of vertices and SG the set of segments. An edge (w1 , s, w2 )∈S
   means that there exists a set of segments s⊆SG from the workstation w1 to the
   workstation w2 , as it is shown in the Fig. 1.b. We are considering the class of
   minimal adaptive routing algorithms. Therefore we will represent for each desti-
   nation workstation wi all the paths of minimal length from a workstation wj to
   the destination workstation wi . This information is captured into the Minimal
   Path Graph (M P Gi ) with destination workstation wi . Each one of these graphs
   is a subgraph of the W G = (W, S) and it will be an acyclic directed labeled
   graph, M P Gi =(V, E), where V =W , and E⊆S , verifying that:
    1. All output arcs of wi in W G do not belong to E .
    2. The function Li :V →IN is well dened: Li (wi )=0 and ∀wj ̸=wi , Li (wj )=k ,
        where k is the length of the minimal path from wj to wi in the W G.
    3. All arcs (w1 , s, w2 ) ∈ S in W G, such that Li (wi )+1 ̸=Li (w2 ), do not belong
        to E .
   The graphs M GPi for the example of Fig. 1 are depicted in the Fig. 3. Observe
   that we will have four of these graphs, one for each possible destination worksta-
   tion. Each M P Gi can be seen as the set of paths that can follow a conveyor-load




              Fig. 3. Minimal Path Graph for all destination of our example.

   originated in the workstation wj with destination workstation wi , an this path
   satisfy the minimality condition of the considered routing algorithm. Neverthe-
   less, we are considering conveyor-loads with more than one trailer of length,
   because a conveyor-load with only one trailer cannot participate into a dead-
   lock, since a deadlock must fulll the Hold and Wait condition. Therefore in our
   model we must distinguish states according to the workstations where the head
   and tail trailers can be found. On the other hand, it is important to say that the
Deadlock control software for vehicles             Petri Nets & Concurrency – 257




    advancement of the head trailer from a workstation to another can be done if and
    only if there exists at least a segment that can be allocated for this movement.
    Segments, therefore are resources in our RAS view of the warehouse distribution
    center. If the head trailer allocates the needed resources for the movement of the
    full conveyor-load, the tail trailer take charge of the release operation after the
    use of a segment. In order to represent the states of a conveyor-load with desti-
    nation workstation wi we will construct, from the M P Gi , the so called Conveyor
    Behaviour Graph (CBG) for the destination workstation wi , CBGi =(Q, F ), ver-
    ifying that.
     1. Q⊆V ×V , where ∀wh , wt ∈Q, wh =wt or L(wh ) 0.
            ∪
    2. T = i∈IN Ti , Ti ̸= ∅, Ti ∩ Tj = ∅, for all i ̸= j
    3. For all i ∈ IN , the subnet Ni generated by PSi ∪ {p0i } ∪ Ti is a strongly
       connected state machine, such that every cycle contains p0i .
    4. For each r ∈ PR there exists a minimal PSemiow, yr ∈ IN|P | , such that
       {r} =∪||yr || ∩ PR , yr [r] = 1, P0 ∩ ||yr || = ∅, and PS ∩ ||yr || ̸= ∅.
    5. PS = r∈PR (||yr || \ {r}).

   Each place p0i is called idle place. Places of PR are called resource places being
   unique for the whole model. The Places of PS are called process places. This def-
   inition must be completed with the denition of the acceptable initial markings.
   Initial markings represent no activity in the system, allowing the routing of each
   conveyor-load in isolation.
   Denition 2 Let N = ⟨P0 ∪ PS ∪ PR , T, C⟩ be a S 4 P R net. An initial marking
   m0 is acceptable for N if and only if: (1) ∀i ∈ IN , m0 [p0i ] > 0. (2) ∀p ∈ PS ,
   m0 [p] = 0. (3) ∀r ∈ PR , m0 [r] ≥ maxp∈||yr ||\{r} yr [p].
   From the previous denitions and the procedures described in the sections 4 and
   5 to obtain the Petri Net model of an warehouse distribution center the following
   result can be easily veried.
   Proposition 1 Given an warehouse distribution center specied by means of
   a framework and a minimal adaptive routing algorithm, the Petri Net model
   obtained through the procedure described in sections 4 and 5, belongs to the class
   of S 4 P R net systems.
   Proof (Sketch of the proof ). In the section 5, after the rules to obtain the Petri
   Nets Ni from the corresponding Routing Graph RGi , we have proven that each
   Ni is a strongly connected state machine, and for all Ni ,Nj , i ̸= j , they are
   disjoint net systems. We have also proven that every cycle of each strongly
   connected state machine Ni contains P0i . Therefore, to complete the proof we
   only need to prove the existence of a unique p-semiow yr ∈ IN|P | for each
   resource r. But this is very easy to proof because from each transition where the
   resource place r inputs (the resource is allocated), there exists a unique path, in
   the strongly connected state machine, to reach each transition where r outputs
   (the resource is released). Moreover, all transitions where r is an output place
   in the state machine Ni are connected by means of a minimal path from some
   transition where r is an input place. Therefore, the resource r plus all the process
   places dening the minimal paths connecting the output transitions of r and the
   input transitions of r form the p-semiow that it is unique because we are dealing
   with the nets Ni that they are state machines.
Deadlock control software for vehicles                  Petri Nets & Concurrency – 263




    Observe that the previous result is also true for non-regular frameworks because
    we are considering in an explicit way the paths to a destination workstation.
    Therefore, non regularity does not aect the nal Petri Net. Nevertheless, non-
    minimality of the path selection algorithms can lead to more general class of
    nets than the S 4 P R in the case of existence of cycles in the followed route by
    some conveyor-load. Once we have characterized the type of nets we can obtain,
    we can use the developed theory for S 4 P R, trying to interpret these results from
    the point of view of the warehouse distribution centers, in the next section. In
    some cases we will see that we arrive to some negative results.
    6    The Analysis and synthesis phase
    The Petri Net model obtained in the previous section belong to the S 4 P R class.
    Therefore, we can take advantage of this property and use the theoretical results
    about the liveness characterization in S 4 P R. One of this results is presented in
    the following theorem.
    Theorem 2 ([6]) An S 4 PR , ⟨N , m0 ⟩, is nonlive if and only if there exists a
    marking m ∈ RS(N , m0 ) such that the set of mprocessenabled transitions is
    nonempty and each one of these transitions is mresourcedisabled.
    This characterization is a state based characterization. The interpretation in
    terms of the warehouse distribution center is very easy. A token in a process place
    of the state machine Ni represent a conveyor-load in an intermediate workstation
    with destination workstation wi . That is, is a conveyor-load in transit. The
    theorem 2 says that if all conveyor-loads in transit cannot advance because there
    is no an available segment to advance (each one of these transitions is not enabled
    because an input resource place is empty), this situation characterizes a deadlock
    state: none of these conveyor-loads will arrive to its destination workstation
    because they are stopped forever in the current process places. In [6], verication
    procedures of the characterization stated in this theorem are presented. They
    are based in Integer Linear Programming Techniques.
    An equivalent characterization to the previous one is based in the Petri Net
    concept of siphon. A siphon is a set of places that if they become a set of empty
    places, they remain empty forever (these is a structural denition of siphon but
    we prefer to present the deep reason for the appearing of deadlocks in this class of
    nets). Therefore, all output transitions of the places of the empty siphon will be
    dead forever because at least an input place (that belong to the siphon) is empty
    forever. The presence of one of this siphons in the net is potentially bad because
    this siphon can become an empty siphon. The verication procedures search
    for a siphon and a reachable marking under which the siphon is empty. Empty
    siphons represent a generalization of the circular waits, because in a siphon we
    can nd an intricate structure of superposed cycles of empty resources. For the
    Petri Net in Fig. 6, you can nd the two following bad siphons Di ={p1 , p2 , p3 ,
    p4 , p13 , p15 , p17−to−20 , p22 , p24 , p25 , p28 , p30 , p31 , p33 , p34 , p36 , p37 , p39 , p40 ,
    p42 , p43 , p45 , p46 } and Dj ={p1 , p2 , p3 , p4 , p6 , p13 , p15 , p17−to−20 , p22 , p24 , p25 ,
    p27 , p28 , p30 , p31 , p33 , p34 , p36 , p37 , p39 , p40 , p42 , p43 , p45 , p46 }. The deadlock
    state described in section 2 corresponds to the reachable marking written as a
    symbolic sum mr = p5 + p6 + 5 · p7 + 2 · p8 + ·p9 + 2 · p10 + p29 + p32 + p38 + p44 . The
264 Petri Nets & Concurrency                                Rovetto, Cano, and Colom




   reader can easily verify that the siphon Di is insuciently marked or he/she can
   verify the mr satisfy the conditions of the theorem 2. Therefore, we conclude that
   the proposed path selection algorithm is not deadlock-free. After the previous
   analysis phase, the theory of S 4 P R nets gives results and methods to enforce
   the liveness in the case of nets presenting deadlock states. These techniques
   transform the initial Petri Net model in such a way that deadlock states become
   not reachable. In some sense, they correspond to deadlock prevention techniques.
   We can incorporate this phase because we are using Petri Nets as formal model
   and they belong to the subclass of S 4 P R. The known synthesis approaches
   enforcing liveness work on the bad siphons that can be found in the Petri Net
   model. These techniques can be classied into two groups.
    1. Centralized Approach: [6][9] These techniques compute a place for each
       bad siphon preventing that the siphon becomes empty. This new place is of
       the same category that the resource places, and so it is said that the synthesis
       problem is solved by using virtual resources that they are implemented as
       a centralized monitors in the central software. In the case of the Petri Net
       of the Fig. 6 we need three places to make live the net. In fact, in some
       cases, to take the decision to allocate the virtual resource/segment in a local
       workstation we can need coordinate the local path selection algorithm with
       other local routing algorithms.
    2. Distributed Approach:[10]. Previous limitations are solved developing a
       distributed control policy using the so called swap virtual segments.
   All these methods are iterative, but the performed transformations maintain the
   transformed Petri Net inside the class of S 4 P R nets.
   7    Conclusions
   The design of deadlock-free minimal adaptive routing algorithms for warehouse
   distribution centers is a complex and tedious task, for which the current method-
   ologies, in many cases, only supply trial and error procedures. The assistance to
   the designer is very small in order to x the problem in the proposed algorithm.
   In this paper we propose a methodology oriented to the design of deadlock-free
   minimal adaptive routing algorithms trying to cope with all phases of the design.
   The rst step in this methodology consists of the abstraction of the system in or-
   der to retain only the elements of the system allowing the study of the appearing
   of deadlocks. These elements are the segments of the warehouse distribution cen-
   ter, that they are seen as the resources for which the routing processes compete
   to send conveyor-loads to destination workstations. The other elements are the
   routing processes itself that represent the routing sequence through the frame-
   work according to the routing algorithm. The result of this abstraction process is
   formalized by means of a Routing Graph for each possible destination worksta-
   tion. From the Routing Graphs and the segments we have obtained Petri Nets
   that, for the class of routing algorithms that we are considering, belong to the
   class of S 4 P R. Therefore, we prot that the class of S 4 P R is a well studied sub-
   class of Petri Nets and using the known results we can proceed with the analysis
   and synthesis phases of our methodology. So, the deadlock-free property in the
   warehouse distribution center correspond to the liveness-property in our Petri
Deadlock control software for vehicles          Petri Nets & Concurrency – 265




    Net model. The analysis of this liveness property can be done by two alternative
    characterizations that have a good interpretation at the level of warehouse dis-
    tribution center. Algorithms and methods to verify the property can be found in
    [6]. In the case of non-liveness, there exist methods to enforce the liveness prop-
    erty based in the addition of places that can be interpreted in terms of Petri Net
    model as centralized software monitors.

    References
     1. Fanti, M.: A deadlock avoidance strategy for AGV systems modelled by coloured
        Petri nets. In: Discrete Event Systems, 2002. Proc. Sixth Int. Workshop on. (2002)
        61  66
     2. Wu, N., Zhou, M.: Resource-oriented Petri nets in deadlock avoidance of AGV
        systems. In: Robotics and Autom., 2001. Proc. 2001 ICRA. IEEE Int. Conf. on.
        Volume 1. (2001) 64  69 vol.1
     3. Wu, N., Zhou, M.: Modeling and deadlock control of automated guided vehicle
        systems. Mechatronics, IEEE/ASME Transactions on 9(1) (2004) 50 57
     4. Wu, N., Zhou, M.: Modeling and deadlock avoidance of automated manufacturing
        systems with multiple automated guided vehicles. Systems, Man, and Cybernetics,
        Part B: Cybernetics, IEEE Transactions on 35(6) (2005) 1193 1202
     5. Wu, N., Zhou, M.: Shortest routing of bidirectional automated guided vehicles
        avoiding deadlock and blocking. Mechatronics, IEEE/ASME Transactions on 12(1)
        (2007) 63 72
     6. Tricas, F.: Analysis, Prevention and Avoidance of Deadlocks in Sequential Resource
        Allocation Systems. PhD thesis, Zaragoza. España, Departamento de Ingeniería
        Eléctrica e Informática, Universidad de Zaragoza (2003)
     7. Tricas, F., Colóm, J., Ezpeleta, J.: A Solution to the Problem of Deadlocks in
        Concurrent Systems Using Petri Nets and Integer Linear Programming. In Horton,
        G., Moller, D., Rude, U., eds.: Proc. of the 11th European Simulation Symp.,
        Erlangen, Germany, The society for Computer Simulation Int. (1999) 542546
     8. Park, J., Reveliotis, S.A.: Enhancing the Flexibility of Algebraic Deadlock Avoid-
        ance Policies Through Petri Net Structural Analysis. In: Proc. of the 2000 IEEE
        Int. Conf. on Robotics and Autom., San, Francisco, USA (2000) 33713376
     9. Tricas, F., García-Vallés, F., Colóm, J.M., Ezpeleta, J.: A Petri Net Structure-
        Based Deadlock Prevention Solution for Sequential Resource Allocation Systems.
        In: Proc. of the 2005 IEEE Int. Conf. on Robotics and Autom., Barcelona, Spain
        (2005) 272278
    10. Rovetto, C., Cano, E., Colóm, J.: Liveness Enforcing Methods for Resource Allo-
        cation Distributed Systems using Petri Nets, Research Report RR-056-09. Depto
        de Informática e Ingeniería de Sistemas., University of Zaragoza (2009)


    Acknowledgement
    This work has been partially supported by the European Community's Seventh
    Framework Programme under project DISC (Grant Agreement n. INFSO-ICT-
    224498). This work has been also partially supported by the project CICYT-
    FEDER DPI2006-15390.