A Study of Petri Nets: Modeling, Analysis and Simulation - Tamu.edu
A Study of Petri Nets: Modeling, Analysis and Simulation - Tamu.edu
A Study of Petri Nets: Modeling, Analysis and Simulation - Tamu.edu
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
The Reachability Problem is stated as follows. Given a <strong>Petri</strong> net, given an initial marking m 0<br />
,<br />
given another marking m r<br />
; the question is whether there exists a sequential firing <strong>of</strong> transitions<br />
which will bring the net from m<br />
0<br />
to m r<br />
. If the answer is 'yes', then mr<br />
is said to be Reachable<br />
from m<br />
0<br />
.The set <strong>of</strong> all possible markings reachable from m<br />
0<br />
, is called the Reachability Set,<br />
denoted by the symbol R( m<br />
0<br />
) for a given PN. Note that reachability set is defined for a given PN,<br />
for a given initial marking m 0<br />
. This dependency on initial marking clearly reveals that reachability<br />
is a behavioral property.<br />
It may happen that mr<br />
is reached from m<br />
0<br />
by the firing <strong>of</strong> a single transition, in that case m<br />
r<br />
is<br />
said to be immediately reachable from m 0<br />
. In the general case, m<br />
r<br />
is reached via the sequential<br />
firing <strong>of</strong> r transitions, called the firing sequence, denoted by = t t ... t<br />
σ ; where r ∈ [ 1, m]<br />
,<br />
m being the total number <strong>of</strong> transitions present in the PN. This means that firing sequence<br />
σ<br />
r<br />
contains an ordered string <strong>of</strong> transitions, the length <strong>of</strong> the string being equal to r . Note that<br />
m<br />
r<br />
j1<br />
j 2<br />
j r<br />
σ<br />
r<br />
m<br />
r<br />
.<br />
the transition string defining firing sequence may contain repetition. Symbolically,<br />
0<br />
The fact that m<br />
r<br />
is reachable from m<br />
0<br />
via σ<br />
r<br />
, is sometimes represented [14] by the notation<br />
m<br />
0<br />
[ σ<br />
r<br />
> m r<br />
. For a given PN, the set <strong>of</strong> all possible firing sequences from initial marking m<br />
0<br />
is<br />
denoted by N,<br />
m )<br />
Example 5.1<br />
L or simply m )<br />
(<br />
0<br />
L .<br />
(<br />
0<br />
Suppose a PN has total 7 transitions ( m = 7)<br />
. Let there exists a firing sequence <strong>of</strong> length<br />
4 ( r = 4)<br />
, which brings the PN from an initial marking m<br />
0<br />
(given) to another marking m<br />
4<br />
(given).<br />
This firing sequence which brings m<br />
0<br />
to m<br />
4<br />
is given by σ<br />
4<br />
= t<br />
1t3t2t3<br />
implying<br />
j = , j = 3, j 2 <strong>and</strong> 3<br />
m . In alternative notation,<br />
1<br />
1<br />
2 3<br />
=<br />
m<br />
0<br />
[ σ<br />
4<br />
> m 4<br />
.<br />
j . Symbolically, 0<br />
4 =<br />
m σ<br />
4 4<br />
σ , there exists an associated ( m ×1)<br />
With every firing sequence r<br />
Firing Count Vector, which is<br />
a column vector (single column, multiple rows),<br />
ρ σ<br />
r<br />
whose elements correspond to number <strong>of</strong><br />
times that particular transition has fired in that firing sequenceσ r<br />
. Since this vector keeps a count<br />
<strong>of</strong> the number <strong>of</strong> times a particular transition gets fired in a particular firing sequence, hence the<br />
term Firing Count Vector.<br />
Example 5.2<br />
1t<br />
t t<br />
In the previous example, corresponding to the firing sequenceσ 4<br />
=<br />
3 2 3<br />
, there exists an<br />
associated (7 x 1) Firing vector ρ σ<br />
4<br />
, which is a column vector, given by ρ T<br />
σ<br />
4<br />
= ( 1120000) , which<br />
means t 1<br />
has fired only once, t2<br />
once, t 3<br />
twice <strong>and</strong> t4 , t5,<br />
t6<br />
, t7<br />
never, in that firing sequenceσ 4<br />
.<br />
With the above underst<strong>and</strong>ing <strong>of</strong> firing count vector, now one can formally represent Firing<br />
Count vector as<br />
ρ T<br />
σ r<br />
= ( n<br />
1<br />
n2n3....<br />
n m<br />
) ; where nk<br />
refers to the number <strong>of</strong> firings <strong>of</strong>t k<br />
.<br />
A somewhat subtle point is to be noted here. It was mentioned that with every firing sequence<br />
there exists an associated firing count vector. But this is not a one-to-one mapping, in the sense<br />
that, given a firing count vector, there exists more than one firing sequences. The reason <strong>of</strong> this is<br />
that firing sequence gives very precise information about which transitions are fired, how many<br />
t<br />
24