called as reachability set of the Petri net. We let
E(G, M) to denote the set of transitions which are
enabled at M ∈ R(G, m
0
). For a Petri net, we also
let ρ(M, g) to denote the transition function, which
gives the yielded marking when the sequence g fires
starting from M (ρ is in fact a partial function, since
it is not defined if g contains transitions which are not
enabled) (Aybar and
˙
Iftar, 2003). If M
′
= ρ(M, g),
then M
′
= M + (O − N)U = M + AU. Here; M
and M
′
are markings, N and O are input and output
matrices respectively, A := O − N is incidence
matrix and U : T → Z is firing count vector whose
jth element indicates how many times t
j
is fired in g.
Let us remember some behavioral properties
related to the discussion of this work. G is said
to be K-bounded, if M (p) ≤ K(p), ∀p ∈ P ,
∀M ∈ R(G, m
0
) (K : P → Z), G is said to be
bounded if it is K-bounded for some K : P → Z.
Otherwise G is unbounded. G is said to be reversible
if m
0
∈ R(G, M), ∀M ∈ R(G, m
0
). G is said
to be partially reversible if m
0
∈ R(G, M ) for at
least one M ∈ R(G, m
0
) such that M 6= m
0
. Note
that, if a Petri net is partially reversible, there exists
a reversible subset of R(G, m
0
) and it is possible
to find a bound vector covering all markings in this
subset. It is possible to enforce reversibility of the net
by using this bound vector with the controller in (Ay-
bar et al., 2005). Therefore, we say that this bound
vector guarantees reversibility for the considered net.
Deadlock is said to occur in a Petri net if there exists
M ∈ R(G, m
0
) such that no transition t ∈ T can
fire at M (Desrochers and Al-Jaar, 1995). A marking
˜
M covers a marking M if
˜
M(p) ≥ M (p), ∀p ∈ P .
A marking
˜
M dominates a marking M , if
˜
M covers
M and M 6=
˜
M. That is denoted by
˜
M >
d
M.
If
˜
M >
d
M and E(G, M) = E(G,
˜
M), then
ρ(
˜
M, t) >
d
ρ(M, t), ∀t ∈ E(G, M) (Cassandras
and Lafortune, 1999).
The behavioral properties of Petri nets are com-
monly explained by using reachability set. Since
unbounded Petri nets have infinite number of reach-
able markings, the coverability tree (CT) is used to
analyse some behavioral properties instead of the
reachability set. CT is drawn as a tree, where each
node of tree either explicitly represents a reachable
marking of m
0
or covers a reachable marking of m
0
through w notation. If there exists a w notation at a
place of a marking in the CT, this place is unbounded
place and this Petri net is unbounded (Desrochers and
Al-Jaar, 1995). Note that since the representation of
an infinite set is finite, an infinite number of markings
must be mapped onto the same representation in the
CT.
In this paper an algorithm in (Zhou and DiCe-
sare, 1993) (Algorithm 5.1 on page 104) is used to
construct CT.
3 REVERSIBILITY FOR
UNBOUNDED PETRI NETS
Some works have been presented about reversibility
of Petri nets (Peterson, 1981; Desrochers and Al-Jaar,
1995; Jeng et al., 2002). But none of them has abil-
ity of testing partially reversibility of unbounded Petri
nets.
In this section we will explain a method, called Par-
tially Reversibility Testing Method (PRTM). PRTM
tests partially reversibility of unbounded Petri nets
and yields a bound vector guaranting reversibility for
the considered net. To facilitate discussion of the
method, we first give the following explanations and
Lemma 1.
Let R
′
be a set of marking vectors such that R
′
:=
{M ∈ R(G, m
0
) | ρ(M, t) = m
0
, t ∈ T } then
M(p) = m
0
(p) ± a, a ∈ {0, 1...ν
p
}, ∀p ∈ P . This
means ∀M ∈ R
′
, M(p) ≤ m
0
(p) + ν
p
, ∀p ∈ P .
Here ν
p
denotes the maximum number of token vari-
ation in place p by firing any enabled transition. It can
be determined for each place p ∈ P by the following
way:
ν
p
= max
t∈T
(N(p, t), O(p, t)) (1)
Note that, if M(p) > m
0
(p) + ν
p
for at least one
p ∈ P , then M 6∈ R
′
.
Lemma 1: If there exists a marking M ∈ R
′
such
that M 6= m
0
, Petri net is partially reversible. Other-
wise, Petri net is not partially reversible.
Proof: In a Petri net, each of the marking vector
M satisfiying ρ(M, t) = m
0
are the members of
the set R
′
. So, if there exists M ∈ R
′
such that
M 6= m
0
, Petri net is partially reversible. If there
exists no M ∈ R(G, m
0
) such that ρ(M, t) = m
0
and M 6= m
0
(there exists no marking M ∈ R
′
such
that M 6= m
0
), then there exists no
˜
M ∈ R(G, m
0
)
such that ρ(
˜
M, g) = m
0
. Hence Petri net is not par-
tially reversible. ⋄
Although we do not know the reachability set for
unbounded Petri nets; as a result of Lemma 1, we
know that R
′
must have a marking vector other than
m
0
for the presence of partially reversibility. There-
fore, it is efficient to determine only R
′
set of the
Petri net to test partially reversibility and one does
not need to construct all reachability set for this test.
PRTM tests partially reversibility of the considered
unbounded Petri net by using this fact. It is possi-
ble to find a bound vector guaranting reversibility for
a Petri net, iff the net is partially reversible. Hence,
PRTM proposes a bound vector guaranting reversibil-
ity, if the considered net is partially reversible.
At the first step, PRTM determines unbounded
places of the Petri net by using the CT and begins
obtaining reachable markings from m
0
by firing tran-
sitions. In fact, for any unbounded Petri net it is
ICINCO 2005 - ROBOTICS AND AUTOMATION
182