Professional Documents
Culture Documents
DOI 10.1007/s10626-012-0132-4
1 Introduction
The analysis of resource allocation related aspects is a precondition for the design
and control of many Discrete Event Dynamic Systems. Examples of this kind of
systems, where the Resource Allocation Systems (RAS) view is a phase of the
design, can be found in the context of Flexible Manufacturing Systems, Software
Engineering applications, Workflow Systems, Logistic Systems, etc.
The RAS analysis of a system requires an abstraction process in order to retain
only those aspects relevant to the representation of the resource allocation. The
formulation of this abstraction of this application-driven problem in terms of Petri
nets has been a successful approach in many fields (Reveliotis 2005; Ezpeleta
et al. 1995; Li and Zhou 2009; Lopez-Grao and Colom 2010; Wang et al. 2009b),
leading to several subclasses of Petri Net models, with a specific structure-based
characterization. The subclass of S3 PR nets is probably the most widely studied in the
literature even today. In this subclass, the liveness property has been characterized
in terms of some siphons of the net (Reveliotis 2005; Ezpeleta et al. 1995). Also
the synthesis of live S3 PR models (named liveness enforcing by some authors) is
based on techniques that, in many cases, require to know the bad siphons of the net
(Reveliotis 2003; Tricas et al. 2005). Therefore, the availability of efficient algorithms
for the computation of all minimal siphons or other sets of siphons is indispensable
in the frameworks working with this kind of Petri Net models.
Many algorithms, for the computation of minimal siphons, have been proposed in
the past years (Chao 2009; Li et al. 2008; Xing et al. 2011); all specifically designed
for the class S3 PR. This means that they profit from the particular structure of S3 PR
to obtain good performance in the computation of the set of minimal siphons.
S4 PR is a more general class that strictly contains the class S3 PR (Tricas 2003;
Colom 2003). In a similar way to the S3 PR class, in the case of S4 PR nets, the liveness
property has also been characterized in terms of some siphons of the net (Reveliotis
2005; Tricas 2003); and the synthesis of live S4 PR models is strongly related, in
many cases, to the bad siphons of the net (Reveliotis 2003; Tricas et al. 2005).
Therefore, efficient algorithms are also needed for calculating minimal siphons of
S4 PR nets. But in this case there are not specific algorithms exploiting the structural
characteristics of S4 PR nets as in the case of S3 PR nets. Moreover, the algorithms
for the S3 PR class cannot be applied to the class S4 PR because of the strict structural
constraints imposed to S3 PR nets. For example, an active process in a S3 PR net
uses only one resource in each reachable state. This constraint does not appear in
S4 PR. To point out the important differences between S3 PR and S4 PR, observe, for
example, that the number of resource-transition circuits (MPCs) for S4 PR nets (Xing
et al. 2011) can be a combinatorial number with respect to the number of resources
making non acceptable the performance of the algorithm if we try (assuming that this
is possible) to adapt the S3 PR algorithm (Xing et al. 2011) to S4 PR nets. Additionally,
as we will see, there exist S4 PR nets without resource-transition circuits (see Fig. 9).
Therefore, algorithms (as that presented in Xing et al. 2011) to compute siphons in
S4 PR based on this concept are non viable.
Therefore, for S4 PR, the algorithms that can be applied for the computation of
minimal siphons are those applied to general Petri Nets (Barkaoui and Lemaire
1989; Chu and Xie 1997; Ezpeleta et al. 1993; Lautenbach 1987; Li and Zhou 2008;
Wang et al. 2009a) All these algorithms work operating with the places and the
transitions of the net. Many of these algorithms are related to the problem of the
computation of the extremal directions of a positive convex cone and they are based
on variants of the FourierMotzkin elimination method for solving systems of linear
inequalities (Williams 1986). In these methods the basic idea is to eliminate variables
from the system of inequalities by adding to them all the inequalities resulting from
positive linear combinations of pairs of inequalities, and removing those used to
compute the new inequalities. The method proceeds by eliminating all the variables
and memorizing, for each final inequality, the coefficients of the positive linear
combination of rows which generated it. These coefficients determine which places
belong to a siphon. The computational difficulty of the method lies in the large
number of inequalities added in the process of eliminating variables. Many of them
are redundant and can be discarded. The different variants published (Colom and
Silva 1991) seek the common goal of breaking the growth of the new inequalities by
eliminating the redundant ones by means of sophisticated heuristics. In any case, the
resulting reported algorithms are prohibitive from the point of view of the occupation
of memory even for relatively small examples.
There are other algorithms that also apply to general Petri nets but are based
on other principles non-related to the Fourier-Motzkin elimination method. For
example in Cordone et al. (2005) an algorithm based on search problems constructed
around place constraints is presented. The complexity is exponential with respect to
the number of places of the net and the algorithm presented in this paper is also
exponential but with respect to the number of resources places.
In this paper we propose a new algorithm that works with objects of higher
level than the places and transitions allowing a greater efficiency, at least, in the
occupation of memory in the intermediary steps. These higher level objects are the
minimal siphons of the net that contain only one resource. The existence of one of
these minimal siphons for each resource of the net is guaranteed by the definition
of the class (it requires one minimal p-semiflow per resource). We will prove
additionally that for each subset of resources there exists, at most, a minimal siphon
containing these resources. Therefore, our algorithm proposes the construction of
each minimal siphon by means of a union of the minimal siphons with one resource
corresponding to the resources included in the siphon to be constructed. The result
of this union is a siphon, but non-minimal, in general. For this reason we introduce
a pruning relation on the set of minimal siphons with a resource used to construct
the new siphon, in order to remove the non-essential places of each minimal siphon
with a resource. The representation of the pruning relation by means of a graph,
allows us to obtain the minimal siphons by computing and manipulating maximal
strongly connected subgraphs of the graph of the relation (its strongly connected
components). Therefore, the required memory is very small and of the order of the
size of the pruning graph.
The paper is organized as follows. Section 2 presents the basic notions and
notations used throughout the paper. Section 3 introduces the definition and basic
results concerning the S4 PR class of nets. Section 4 presents some properties of
siphons in S4 PR nets. Section 5 is devoted to the definition of the pruning relation
and the representation in terms of graphs. Section 6 presents the main result of the
paper, the characterization of minimal siphons in terms of the pruning graph, and
an algorithm for the computation of the set of minimal siphons. Finally in Section 7,
some conclusions are given.
2.
3.
4.
5.
Places of PS are called process places. Each place p0i is called idle place, and
represents the state in which the corresponding processes are idle. Each strongly
connected state machine in Definition 1.3 models a sequential process competing for
shared resources represented by means of the so called resource places belonging
to the set P R . For a given resource, r, the holders of r is the set of process places
using a copy
of r : Hr = ||yr || \ {r}. The holders of a set of resources A P R , is
the set H A = rA Hr . This definition must be completed with the definition of the
acceptable initial markings (Colom 2003; Tricas 2003): initial markings representing
no activity in the system and allowing the execution of a single sequential process in
isolation. Sometimes we will refer to active processes as tokens in process places, i.e.
tokens in one of the state machines outside of its corresponding idle place.
Definition 2 Let N = P0 PS P R , T, C be a S4 PR 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 P R , m0 [r] max{yr [ p] | p ||yr || \ {r}}.
Given a marking m in a S4 PR net, a transition t is said to be m-process-enabled
(m-process-disabled) iff it is (not) enabled by its input process place, and m-resourceenabled (m-resource-disabled) iff all (some) input resource places (place) have (has
not) enough tokens to fire it.
The following theorem presents a liveness characterization for S4 PR nets that is
fully behavioural.
Theorem 1 (Colom 2003; Tricas 2003) Let N , m0 , N = P0 PS P R , T, C be
a marked S4 PR. The system is non-live if and only if there exists a marking m
RS(N , m0 ) such that the set of m-process-enabled transitions is non-empty and each
one of these transitions is m-resource-disabled.
Theorem 1 relates non-liveness to the existence of a marking where active
processes are blocked. Their output transitions need resources that are not available.
This suggests that there exists a set of circular waits between the blocked processes.
This concept of circular waits is captured in the model by the existence of a
siphon (a structural cause for non-liveness in Petri Net terms) whose resource
places are the places preventing the firing of the process-enabled transitions. The
following theorem characterizes non-liveness in terms of siphons, establishing the
bridge between behaviour and model structure of the Petri Net.
Theorem 2 (Colom 2003; Tricas 2003) Let N , m0 , N = P0 PS P R , T, C be a
if, and only if, there exists a marking m RS(N , m0 )
marked S4 PR. The net is non-live
and a siphon D such that pPS m[PS ] > 0 and the f iring of each m-process-enabled
transition is prevented by a set of resource places belonging to D. Moreover, the siphon
D is such that:
D R = D P R = {r P R |t r such that m[r] < Pre[r, t] and m[ t PS ] > 0} =
;
2. DS = D PS = { p H D R |m[ p] = 0} = .
1.
1 Sometimes
Fig. 1 A S4 PR net without minimal siphons in the class D4 (the idle places are omitted to simplify
the drawing)
for the computation of the minimal siphons that proceeds in an incremental way from
a class Di to the class Di+1 using only the minimal siphons of the class D1 .
Class D0 is completely characterized by Definition 1, so that it does not need to
be computed. In effect, the only minimal siphons containing zero resources are the
sets of places of the strongly connected state machines defined in the net, i.e. D0 =
{PSi { p0i } | i IN = {1, 2, ..., m}}.
On the other hand, the class D1 of the minimal siphons containing only one
resource can be directly obtained from the set of minimal p-semiflows associated
to the resources.
Lemma 3 Let N be a S4 PR net. For each r P R there exists a minimal siphon, Dr
D1 , such that Dr ||yr ||.
Proof Let r P R be a resource place, trivially, the support of the minimal psemiflow associated to r, yr IN|P| , is a siphon of the net. This is because yr is a
p-semiflow and in order to annul each column of the incidence matrix corresponding
to a transition, t, in the set (||yr ||) (||yr ||) we need at least one input place and
one output place of t since the net is strongly connected. This means that (||yr ||) =
(||yr ||) , i.e. ||yr || is a siphon. Nevertheless, in general, ||yr || is not a minimal siphon,
but it contains a minimal siphon Dr . We prove that r Dr by contradiction. Let
us suppose that r Dr . Since r is the only resource in ||yr || and ||yr || P0 = , the
subnet generated by Dr is a set of directed paths in the strongly connected state
machines of N , such that for each path there exists at least a transition without input
places and then Dr cannot be a siphon, contradicting the hypothesis.
In Fig. 2a the reader can observe that the support of the minimal p-semiflow of
r, ||yr || = {r, b , c}, is a siphon but it is not minimal because it contains the minimal
siphon {r, c}. This kind of siphons cannot be present in the class of S3 PR nets. Each
minimal siphon of D1 is contained in the support of the corresponding minimal
p-semiflow, and this minimal siphon is unique (Lemma 2). In other words, the
cardinality of D1 is equal to |P R | and each minimal siphon is obtained from the psemiflow, possibly removing some places to make it minimal.
i
For the rest
of the classes, D and i > 1, the only thing we can say a priori is
|P R |
, that is, the number of minimal siphons containing i resources
that |Di |
i
is bounded by the number of subsets of i places of the set P R .
From the above discussions, the following trivial lemma states lower and upper
bounds of the number of minimal siphons of a S4 PR net. These bounds cannot be
improved because there exist nets with a number of minimal siphons equal to each
one of the bounds. For example, the nets in Fig. 2a and b have a number of minimal
siphons equal to the lower and to the upper bound, respectively, specified in the
following lemma.
Lemma 4 Let N be a S4 PR net. The number of minimal siphons of N , n D , satisf ies,
n I + n R n D n I + 2n R 1, where n I is the number of strongly connected state
machines of N , and n R = |P R |.
(a)
(b)
Fig. 2 a The minimal siphon {c, r} is strictly contained in the support of the minimal p-semiflow yr ;
b A S4 PR net with a number of minimal siphons equal to the upper bound of Lemma 4
The upper bound cannot be improved even in the simplest subclass of S4 PR: the
L S3 PR subclass (Ezpeleta et al. 1998). In effect, the net in Fig. 3 is a L S3 PR
net with 3 resources and the number of minimal siphons is equal to 11.
The next lemma presents a technical result stating that a minimal siphon containing a set of resources D R = , is always contained into the union of the minimal
siphons Dr D1 , r D R .
Lemma
5 Let N be a S4 PR net, D P a minimal siphon of N and D R = D P R =
. D rD R Dr , Dr D1 .
Proof D = rD R Dr , Dr D1 , is a siphon because each Dr is also a siphon. Let
us suppose that D D . This means that there exists, at least, a process
place p
D Ps such that p D . Moreover, p Dr , r D R , because D = rD R Dr . D is
a minimal siphon, therefore the place p is essential for the siphon D, i.e. there exists
t p such that t D = { p} and t D = . Let q be a place such that q t D.
If q is a resource place, then the place p is essential for the minimal siphon Dq ,
but this contradicts the previous result saying that p Dr , r D R . If q is a process
place, because of the minimality of D, q is essential for D and we can reapply the
previous reasoning on p but for q. Iterating the scheme we have constructed a path
ptq... until we reach a resource place x D, and in a similar way to the case where
q is a resource place we conclude that p is essential for the siphon Dx , contradicting
the
previous result1 saying that p Dr , r D R . Therefore, we conclude that D
rD R Dr , Dr D .
From the two previous results, the following lemma can be trivially obtained.
Lemma
6 Let N be a S4 PR net, D P a minimal siphon of N and D R = D P R =
. D rD R ||yr ||.
The next lemma proves that is not possible to find idle places belonging to a
minimal siphon with resources.
Lemma 7 Let N be a S4 PR net and D P a non-empty minimal siphon of N
containing at least one resource place. D P0 = .
Proof According to Lemma 6, D rDr ||yr ||, where D R = D P R . By the
4
definition
of
S PR nets, P0 ||yr || = , for all r P R . Therefore, D P0
rDr ||yr || P0 = .
This last result allows to remove the idle places from the net before the start of
the computation of the minimal siphons, reducing the size of the input.
5 The binary pruning relation on the set of minimal siphons with only one resource
The proposed algorithm, presented in this paper, to compute minimal siphons in
S4 PR nets is mainly based on Lemma 2. That is, given a set of resources D R P R
there exists at most one minimal siphon containing this set of resources. Therefore, in
order to compute all minimal siphons we need to consider at most 2|P R | 1 candidate
subsets, each one containing a different non-empty subset of resources. An easy way
to construct each one of these 2|P R | 1 candidate siphons is by the union of the
minimal siphons of D1 corresponding to the resources included in the siphon to be
constructed.
Obviously, the result of this union operation is a siphon because each one of the
operands is a siphon, but, in general, it is not minimal. This non-minimality can arise
from process places, p, that become non-essential for the resulting siphon, i.e. there
are other input places to the transitions p in the resulting siphon that allow us to
remove p. The input places of the transitions p in the resulting siphon, making p
non-essential, are resource places because process places belong to state machines.
The other source of non-minimality appears when none of the places of a siphon
Dr D1 becomes non-essential. In this case, the full minimal siphon Dr is contained
in the resulting siphon from the union operation, and therefore this last one will be
non-minimal. Moreover, in this case, there is not a minimal siphon containing the
intended set of resources because, at least, one of them: r, cannot belong because
Dr is contained. In the net of Fig. 1 is possible to find examples of the previously
described scenarios. In effect, any siphon containing four resources is non-minimal
because at least a minimal siphon containing one of its resources is completely
contained. On the other hand, in the siphon resulting from the union of the minimal
siphons of R and U, the process places a and e become non-essential because of the
resources U and R, respectively.
From the previous informal discussion about non-minimality of the result of the
union of a subset of siphons in D1 , in this section we define a set of formal tools and
results. These allow to sieve the 2|P R | 1 candidate siphons, in order to retain only
those giving rise to the minimal ones.
The first tool is the so called pruning relation defined on the set D1 . We will
say that the minimal siphons Dr and Dx are related by the pruning relation, or
equivalently, that the siphon Dr D1 prunes the siphon Dx D1 , r = x, if and only
if Trx = Dr Dx = (the two siphons share some transition) and Ur = r Trx
( Trx Dx Ps ) = (there exist common transitions with an input process place
belonging to Dx and also the resource r inputs to these transitions).
The candidate elements to be pruned from the siphon Dx by the siphon Dr are in
each one of the pairs (t, t Ps ), where t Ur . The candidate place to be removed
from one of these pairs is t Ps . This place can be removed, because it becomes
non-essential in Dr Dx , only if ( t Ps ) Ur , i.e. all its output transitions belong
to the previously defined set Ur .
In order to represent this pruning relation we will define a graph named Pruning
Graph (PG).
Definition 4 Let N be a S4 PR net and P R the set of resource places. The Pruning
Graph (PG) of N is a graph G = (V, E) where, (1) V = P R ; and (2) E V V
and for all r, x P R , (r, x) E iff Ur = r Trx ( Trx Dx Ps ) = with Trx =
Dr Dx .
Given a Pruning Graph G = (V, E), we define the Pruning Subgraph G of
G induced on the set of vertices V V, as the graph G = (V , E (V V )).
Associated to a Pruning Graph or Subgraph we define the following three labelling
functions.
Definition 5 Let N be a S4 PR net and G = (V, E) a pruning graph or subgraph of N .
(a) Resource labelling function. S : P R D1 , where for all r P R , S(r) = Dr
D1 , and Dr P R = {r}.
(b) Arc labelling function. L : E 2TPs , where (r, x) E, L((r, x)) = {(t, p)|t
r Trx ( Trx S(x) Ps ) ; Trx = S(r) S(x) ; { p} = t Ps }.
(c) Pruning labelling function. KG : V 2 Ps , where for all r V, KG (r) Ps computed by Algorithm 1.
Observe that the computation of the pruning graph for nets belonging to the S3 PR
class can be simplified. In effect, if we compute the set TG (r) = {t|(t, p) L((x, r))
and (x, r) E}, then we can compute directly KG (r) = { p|(t, p) L((x, r)), (x, r)
E, and p TG (r)}. In other words, we do not need to apply Algorithm 1 because
we do not need to propagate the non-essential property throughout the siphon.
In Fig. 4 we graphically illustrate the way Algorithm 1 works and the meaning of
the function KG . In the figure we have two minimal siphons Dr , Ds D1 . These two
siphons share the transitions t1 and t2 and in order to compute KG (r) we observe that
the siphon Ds prunes the siphon Dr by the place A3 (used as seed from transition t2 )
that becomes non-essential for a siphon resulting from the union of the siphons Dr
and Ds . Observe that the removal of A3 makes the place A2 non-essential so that
it is also incorporated to the KG (r) set. The place A1 is added to the set Ppartial in
Algorithm 1 but finally it is not added to KG (r) because it is essential in the siphon
Dr Ds because of its output transition connecting it to the place r. In a similar way
KG (s) can be computed obtaining the set {B1, B2}.
From the previous discussion, the following lemma presents how to obtain a
siphon from a pruning graph or subgraph G of a net. We will denote this associated
siphon as SG .
Lemma 8 Let N be a S4 PR netand G a pruning subgraph induced on the set of
resources D R = . The set SG = rD R S(r)\KG (r) is a siphon containing D R .
Proof It is obvious that rD R S(r) is a siphon because each S(r) D1 is also a
siphon. Moreover, each process place p KG (r) is removed from S(r) because p
becomes non-essential in SG . That is, the application of the algorithm 1 to compute
KG (r), makes p non-essential since for all t p : t S(r) = ; or t S(r) = {q} and
q KG (r); or there exists, at least, a resource x D R such that x t. Moreover,
D R SG because KG (r) Ps and r S(r) for all r D R .
In Fig. 5 the Pruning Graph G of the net of Fig. 1 is depicted. This net has four
minimal siphons containing at least 2 resources. In each class Di , 6 i 2, the net
has only one minimal siphon, except for the class D4 that is empty. Each one of these
4 minimal siphons can be computed using Lemma 8 from the graphs G, G1, G2, and
G4. Observe that a non-minimal siphon will be generated from the graph G3 because
KG3 (S) = .
In the case of the net in Fig. 2b the reader can construct easily the pruning graph
G obtaining a complete graph of three nodes.
t1
Dr
r
B1
A1
A2
B2
A3
t2
Ds
K G (P) = {j}
KG (Q) = {l}
KG (R) = {a, f}
K G (S) = {h}
KG (T) = {c}
KG (U) = {b, e}
U
G
Q
T
G1
K G1 (T) = {c}
K G1 (U) = {b}
G2
K G3 (T) = {c}
K G2 (U) = {e}
KG3 (S) = 0
T
K G2 (R) = {a, f}
G4
K G4 (U) = {e}
Fig. 5 The pruning graph G and the subgraphs G1, G2, G3 and G4 of the Fig. 1
A final interesting example is presented in the Petri Net of Fig. 6. The corresponding Pruning Graph is depicted in Fig. 7, where the reader can observe that
S(R) prunes itself, and this selfloop is necessary to compute the minimal siphon
D RS = {R, S, p2, p3, p4, p6} (it allows to obtain KG (R) = { p1} = ).
The pruning relation defined previously on the set of minimal siphons containing
only one resource place can be generalized in order to consider other sets of siphons.
This generalization is done along two different lines: (1) we allow siphons that are
non-minimal; (2) we allow siphons containing more than one resource place. The
relation to be defined on these sets of siphons will be called Extended Pruning Relation. The main difference is related to the non-minimality of the siphons. Therefore,
a siphon can prune itself in order to remove non-essential places that make it nonminimal. Nevertheless, taking into account Lemma 2, in the set of siphons we use to
define this new pruning relation there are not two siphons containing the same set
of resources. The extended pruning relation will be represented by means of the so
called Extended Pruning Graph defined in the following.
Definition 6 Let N be a S4 PR net and P R the set of resource places. Let
be
a set of siphons of N such that there are not two different siphons with the same
G
S(R)= {R, p1, p2, p3, p4, p6 }
S(S)= {S, p4, p5}
K G (R)= {p1}
K G (S)= {p5}
0
Fig. 8 The pruning graph and the extended pruning graph of the net of Fig. 9
Proof
()
t1
t2
t3
()
t4
t5
t12
t11
t10
t6
t9
t8
t7
Observe that the algorithm proceeds in two phases. The first one is an strategy to
compute all maximal strongly connected subgraphs of the pruning graph of the net,
where all vertices have a pruning labelling function, KG , different from the empty
set (conditions (a) and (b) in Theorem 4). The second phase removes all subgraphs
containing a subgraph satisfying the condition (c) of Theorem 4.
The following results concern the termination of Algorithm 2 and its complexity.
O( B(B1)
). Combining the three previous expressions we obtain the expression of
2
the statement.
We must say that is possible to derive many variants of this algorithm. A first
group is originated depending on the place where the comparison between graphs
to eliminate the non-minimal ones is situated. In the algorithm we have presented
this at the end of phase one, but this can also be done in step 14 when a new graph,
fulfilling conditions a) and b ) of Theorem 4, is stored in ggood . At this moment, we can
compare the new graph with the previously added and remove those that contain the
new. Other variants depend on the data structures used to implement some objects
of the algorithm. For example, we can use a tree to implement ggood , instead of a set.
This makes easier the comparison avoiding a great number of tests.
Applying Algorithm 2 to the Pruning Graph shown in Fig. 5 the four minimal siphons of the net in Fig. 1 are obtained as follows: D = {R, U, b , f, m}
from the subgraph G4, D = {Q, R, U, b , g, k, m} from the subgraph G2, D =
{P, Q, S, T, U, d, e, g, i, k, m} from the subgraph G1 and finally, D = {P, Q, R,
S, T, U, d, g, i, k, m} from the pruning graph G. Observe, that the graph G3 does not
pass the phase 1 because KG3 (S) = . In the same way, the three minimal siphons
for the net in Fig. 9 are computed by means of the pruning graph shown in Fig. 8
as follows: D = {R, S, b , c, d, e, i, j} from G1, D = {S, T, d, e, g, h, i, j} from G2 and
D = {R, S, T, d, e, i, j} from G.
7 Conclusions
The computation of minimal siphons in the context of Resource Allocation Systems
modeled with S4 PR nets currently plays a central role. We propose a new method to
compute these minimal siphons based on the use of higher level objects than those
used in previously known algorithms: the set of minimal siphons of the net with only
one resource. The computation of a minimal siphon containing the set of resources
D R requires the union of the minimal siphons corresponding to each resource of
D R . Each one of these minimal siphons, used as operands, must be diminished by a
pruning set of process places that can be computed from a binary pruning relation
defined on the set of minimal siphons with only one resource. This pruning relation
is represented by a graph that is used to compute the minimal siphons by means of
maximal strongly connected subgraphs.
The usage of these high level objects for the computation of all minimal siphons
makes our algorithm very different to the previous algorithms that work directly
on places and transitions. That is, a theoretical comparison between algorithms
is difficult because the strategies of computation are very different. For example,
specialized algorithms developed for the strict S3 PR subclass cannot be extended to
S4 PR because they use particular concepts that do not work in S4 PR. Nevertheless,
our experience with some large examples modelling wormhole routing algorithms
in multicomputer interconnection networks (Rovetto et al. 2010) is very positive.
Many of the existing tools are not able to compute the minimal siphons because the
great amount of memory needed, and in other cases the amount of required time is
enormous (of the order of days). Our algorithm finishes in some minutes and with
References
Barkaoui K, Lemaire B (1989) An effective characterization of minimal deadlocks and traps in Petri
nets based on graph theory. In: Proceedings of the 10th international conference on theory and
application of Petri nets, Bonn, pp 122
Chao D (2009) Direct minimal empty siphon computation using MIP. Int J Adv Manuf Technol
45:397405
Chu F, Xie XL (1997) Deadlock analysis of Petri nets using siphons and mathematical programming.
IEEE Trans Robot Autom 13(6):793804
Colom JM (2003) The resource allocation problem in flexible manufacturing systems. In: van der
Aalst W, Best E (eds) Proceedings of the 24th international conference on applications and
theory of Petri nets. Lecture notes in computer science, vol 2679. Springer, Eindhoven, pp 2335
Colom JM, Silva M (1991) Convex geometry and semiflows in P/T nets. A comparative study of
algorithms for computation of minimal p-semiflows. In: Rozenberg G (ed) Advances in Petri
nets 1990. Lecture notes in computer science, vol 483. Springer, Berlin, pp 79112
Cordone R, Ferrarini L, Piroddi L (2005) Enumeration algorithms for minimal siphons in petri nets
based on place constraints. IEEE Trans Syst Man Cybern, Part A Syst Humans 35(6):844854
Ezpeleta J, Couvreur JM, Silva M (1993) A new technique for finding a generating family of siphons,
traps and ST-components. Application to colored Petri nets. In: Advances in Petri nets. Lecture
notes in computer science, vol 674. Springer, New York, pp 126147
Ezpeleta J, Colom JM, Martnez J (1995) A Petri net based deadlock prevention policy for flexible
manufacturing systems. IEEE Trans Robot Autom 11(2):173184
Ezpeleta J, Garca-Valls F, Colom J (1998) A class of well structured petri nets for flexible manufacturing systems. In: Desel J, Silva M (eds) Application and theory of Petri nets 1998. Lecture
notes in computer science, vol 1420. Springer, Berlin, pp 6483
Lautenbach K (1987) Linear algebraic calculation of deadlocks and traps. In: Voss K, Genrich HJ,
Rozenberg G (eds) Concurrency and nets. Springer, New York, pp 315336
Li ZW, Zhou MC (2008) On siphon computation for deadlock control in a class of Petri nets. IEEE
Trans Syst Man Cybern Part A Syst Humans 38(3):667679
Li Z, Zhou MC (2009) Deadlock resolution in automated manufacturing systems: a novel Petri net
approach. In: Advances in industrial control. Springer, New York
Li Z, Zhou MC, Jeng M (2008) A maximally permissive deadlock prevention policy for FMS based
on Petri net siphon control and the theory of regions. IEEE Trans Autom Sci Eng 5(1):182188
Lopez-Grao JP, Colom JM (2010) The resource allocation problem in software applications: a
Petri net perspective. In: Proceedings of the international workshop on Petri nets and software
engineering PNSE10, Braga, Portugal, pp 721
Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4):541580
Reveliotis S (2003) On the siphon-based characterization of liveness in sequential resource allocation
systems. In: van der Aalst W, Best E (eds) Applications and theory of Petri nets 2003. Lecture
notes in computer science, vol 2679. Springer, Berlin, pp 241255
Reveliotis SA (2005) Real-time management of resource allocation systems. A discrete event systems
approach. Springer, New York
Elia Esther Cano received the M.S. and Ph.D. degrees in computer science engineering from the
University of Zaragoza, Spain, in 2007 and 2011, respectively. In 1996, she joined the Computer
Systems Engineering Department, Technological University of Panama, Panama, where she is
currently professor. Her research is devoted to the modeling and analysis of concurrent systems
using Petri Nets.
Carlos A. Rovetto received the M.S. and Ph.D. degrees in computer science engineering from the
University of Zaragoza, Spain, in 2007 and 2011, respectively. He is professor in the Department
of the Computer Systems Engineering of the Technological University of Panama since 2002 and
lead research projects. His main research interests include control and scheduling of manufacturing
systems and discrete-event systems, interconnections networks for multiprocessors using Petri Nets.
Jos-Manuel Colom received the Ph.D. degree in industrial-electrical engineering from the University of Zaragoza, Zaragoza, Spain, in 1989. He is currently a professor in the Department of
Computer Science and Systems Engineering, University of Zaragoza. He has co-authored over 100
research papers in technical journals and conferences. His research interests include modelling,
qualitative, and performance analysis, and implementation of discrete event systems using Petri
nets. Dr. Colom has served on the technical committees of several international conferences in the
field of formal methods and concurrent systems. He organized, as a conference co-chair, several
international conferences in the field of Petri nets and discrete event systems.