<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Holistic State Equation for Timed Petri Nets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthias Werner</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Louchka Popova-Zeugmann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mario Haustein</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E. Pelz</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institut fur Informatik, Humboldt-Universitat zu Berlin</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LACL</institution>
          ,
          <addr-line>UPEC</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Professur Betriebssysteme, Technische Universitat Chemnitz</institution>
        </aff>
      </contrib-group>
      <fpage>448</fpage>
      <lpage>456</lpage>
      <abstract>
        <p>Timed Petri nets (TPN) or Duration Petri nets (DPN) is a well-know approach to extend \classic" Petri nets in order to allow the modeling of time [1]. In [2], a state equation for TPN was provided that describes the net's marking in an algebraic manner, but not its transitions clocks. Hence, proo ng the nonreachability of a marking is mainly done by symbolic manipulation of the state equation, which is impractical for the automated generation of such proofs. Here, we introduce a holistic state equation that allows for modeling the clocks algebraically in addition to markings and thus provides a more automatical way to show the nonreachablity of speci c markings. This section introduces the basic notations we use in our paper. N+ = N n f0g denotes the set of natural numbers without 0, and Q0+ denotes the set of nonnegative rational numbers. Let S be a nite set. jSj is the number of elements of S. Multisets can contain an element multiple times and are designated by Fraktur letters. The ]-operator denotes the union of multisets. The number of occurrences of each element in the result of the ]-operation is given by the sum of the occurrences of this element in both operands. jSje denotes the multiplicity of e in the multiset S. 1c is the indicator function which yields 1 i the condition c holds or 0 otherwise. A matrix A 2 M(m; n) is a matrix with m rows and n columns. A superindex in parentheses distinguishes di erent matrices or vectors, and their elements, respectively. Zm n = (zi;j ) 2 M(m; n) is the zero matrix with zi;j = 0 and En = (ei;j ) 2 M(n; n) denotes the identity matrix with:</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>2.1</p>
      <sec id="sec-1-1">
        <title>Notation</title>
        <p>
          The relation r(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) r(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) of the two vectors r(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ); r(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) 2 M(m; 1) means, that
all elements of r(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) are less or equal than the corresponding elements of ri(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ).
        </p>
        <p>
          i
The relation r(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) 6 r(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) means, that the above relation does not hold, i.e. there
exists at least one i 2 f1; : : : ; mg with r(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) &gt; ri(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ). The relations &lt; and 6&lt; are
i
de ned analogously.
2.2
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>Timed Petri Nets</title>
      </sec>
      <sec id="sec-1-3">
        <title>De nition 1 (Petri net).</title>
        <p>The structure N = (P; T; F; V; m(0)) is called a Petri net (PN), i
1. P , T are nite sets with P \ T = ; and P [ T 6= ;,
2. F (P T ) [ (T P ) (relation between places and transitions),
3. V : F ! N+ (weight of the arcs),
4. m(0) : P ! N (initial marking)
A marking of a Petri net is a function m : P ! N, such that m(p) denotes the
number of tokens at the place p. The pre- and post-sets of a transition t are given
by t = fp : (p; t) 2 F g and t = fp : (t; p) 2 F g, respectively. Each transition
t 2 T induces the marking change t and t+, de ned as follows:
t (p) =
(V (p; t) (p; t) 2 F
0 else
t+(p) =
(V (t; p) (t; p) 2 F
0 else
A transition t 2 T is enabled (may re) at a marking m, i t (p) m(p) for
every place p 2 P . When an enabled transition t at a marking m res, this yields
a new marking m0 given by m0(p) := m(p) t (p) + t+(p). The ring is denoted
by m !t m0.</p>
      </sec>
      <sec id="sec-1-4">
        <title>De nition 2 (Timed Petri net).</title>
        <p>The structure Z = (N ; D) is called a Timed Petri net (TPN) i :
1. N (called Skeleton of Z) is a Petri net,
2. D : T ! Q0+.</p>
        <p>D(t) is the duration of the ring transition t and denotes the delay of t. It is
easy to see, that considering TPNs with D : T ! N will not result in a loss of
generality. Therefore, only such time functions D will be considered subsequently.</p>
        <p>An active transition t passes through three phases. First it consumes tokens
from t which leads to a new marking m0(p) := m(p) t (p). This change takes
no time. Then time D(t) passes. During this time, the marking m0 may change
to m00 by the ring of other transitions. Finally t delivers tokens to t which
leads to the marking m000(p) := m00(p) + t+(p).</p>
      </sec>
      <sec id="sec-1-5">
        <title>De nition 3 (Maximal step).</title>
        <p>Let z = (m; u) be a state in the Timed Petri net Z = (P; T; F; V; m0; D). Then
M T is a maximal step in z, if
m ^ u(t^) = 0 =) t^ 6 m</p>
        <p>P t .
t2M
In a Timed Petri net, an enabled transition must re immediately. In case of
nonself-concurrent transitions, a transition can only be enabled, if it is not active at
the moment. Please note, immediate transitions are implicitly self-concurrent.
In the following we will consider all delayed transitions as not self-concurrent.</p>
      </sec>
      <sec id="sec-1-6">
        <title>De nition 4 (Firing).</title>
        <p>Let z1 = (m1; u1) be a state in the Timed Petri net Z and M</p>
        <p>re in z1 (notation: z1 M!), if M is a maximal step in z1. After the ring of M
the net Z changes into the state z2 = (m2; u2) (notation: z1 M! z2) with:
T . Then M can
To ensure nite global steps, we do not allow Timed Petri nets with time
deadlocks, i.e., with a closed directed path that contains immediate transitions only.</p>
      </sec>
      <sec id="sec-1-7">
        <title>De nition 6 (Elapsing of time).</title>
        <p>Let z1 = (m1; u1) be a state in the Timed Petri net Z. Then, the elapsing of one
time unit is possible in Z (notation: z1 !1), if
8t 2 T : u1(t) = 0 =) t 6
m1
After the elapsing of one time unit the Timed Petri net Z is in the state z2 =
(m2; u2) (notation: z1 !1 z2) with:</p>
        <p>X t+
and
u2(t) :=
(u1(t)
0
1
u1(t)
else
1</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>State Equation</title>
      <sec id="sec-2-1">
        <title>Structure</title>
        <p>Like in classical Petri nets, we describe the structure of a Timed Petri net by
two matrices C+; C 2 M(jP j; jT j) over the base set N, with ci+;j = tj+(pi) and
ci;j = tj (pi). Furthermore the delay of each transition is encoded in a delay
matrix 2 M(jT j; d), where d = maxfD(t) : t 2 T g + 1 speci es the maximum
delay. The matrix is given by the following de nition:
i;j =
(1 j = D(ti) + 1</p>
        <p>0 else
3.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Dynamics</title>
        <p>The dynamic of a Petri net at each point of time, is unambiguously decribed by
its state. In our model, the state consists of two parts, the place marking m and
the clock matrix U. The place marking is given by a vector m 2 M(jP j; 1)
over N, which speci es how many tokens are on each place. In contrast to
classical Petri nets not only the marking is part of the state. The clock
matrix U 2 M(jT j; d) accounts for all active transitions. The element ui;j speci es
how often a transition ti has consumed D(ti) j +1 time steps ago, and therefore
how often it will deliver in j 1 time steps from now. Thus, the rst row of U
states how many times each transition will nish right now. Because a zero delay
transition tk is intrinsically self-concurrent, the value of uk;1 may have any value
from N. But the row sum of delayed transitions is at most 1, due to the lack of
self-concurrency. It is easy to see, that all values ui;j for j &gt; D(ti) + 1 are zero.</p>
        <p>To calculate the state reached by a given ring sequence, we have to represent
the sequence inside our equation. In classical Petri nets this is done by the Parikh
vector. We extend the Parikh vector to the Parikh matrix. The Parikh matrix
2 M(jT j; jT j) of a global step G is de ned by
= diag( 1; : : : ; jT j)
with
i = jGjti
To use m, U and together, three operators A 2 M(d; 1) (adoption operator),
R 2 M(d; d) (progress operator) and 2 M(jT j; d) (selection operator) are
necessary, speci ed by the corresponding matrices:</p>
        <p>A = 1 0 : : : 0 T
ri;j =
(1 i
0 else
j = 1
i;j =
(1 j = 1
0 else
_ = A gains the \classical" Parikh vector. The term (i) later used
is an abbreviation of Pij=1 _ (j) and speci es how often each transition has red
until time step i.</p>
        <p>Using the de nitions of the section above, we can derive an algebraic description
for a single state change:</p>
        <p>U0 = U +
U00 = U0 R
m0 = m</p>
        <p>C
m00 = m0 + C+ U0 R A</p>
        <p>A + C+</p>
        <p>A
(Firing)
(Time elapsing)</p>
        <p>
          To apply Equations (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) and (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) to arbitrary sequences, we introduce time
indices to m and U and mark the results of Equation (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) by a hat and the
results of Equation (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) by a tilde. Firing steps and timing steps are dennoted by
(m~ (i); U~ (i))
        </p>
        <p>
          G(!i) (m^ (i); U^ (i)) and (m^ (i); U^ (i))
! (m~ (i+1); U~ (i+1))
1
respectively. Every ring sequence can then be represented by alternating ring
and time elapsing steps, where some of the G can be empty sets of course:
: (m~ (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ); U~ (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ))
        </p>
        <p>
          G(1!) (m^ (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ); U^ (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ))
!
1
        </p>
        <p>
          G(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
!
!
1
        </p>
        <p>
          G(!i) (m^ (i); U^ (i))
The term m~ (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) is equal to the initial marking m(0) and U~ (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) is the zero matrix
ZjT j d, because no transition is active in the initial state.
3.3
Algebraical Representation of State Changes
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
(4)
(5)
3.4
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>State equation</title>
        <p>
          We now consider the actual state equation. From Equations (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) and (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) we can
derrive the following equations on m^ (i) and U^ (i) for the sequence .
        </p>
        <p>i
U^ (i) = X
j=1
(j)</p>
        <p>Ri j
m^ (i) = m(0) + C+</p>
        <p>(j)
0 i</p>
        <p>X</p>
        <p>C
C
(i)
(i)
With de ning
in a more compact way:
(i) := ( k(i D(tk)) +</p>
        <p>
          + k(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ))k, Equation (4) can be expressed
m^ (i) = m(0) + C+ (i)
        </p>
        <p>C
(i)</p>
        <p>Let ^(i) := U^ (i) 0 1 1 T dennote all transition which are active
immediately after the zero delay transitions in ring step i have delivered. Since
each delayed transition can only be active once at each point of time, only clock
matrices U^ (i) are valid, which ful ll the following constraint:
1 T ! U^ (i)
(6)
(7)
(8)
(9)
The right part of Equation (6) helps reformulating Equation (4) into
m^ (i) = m(0) + (C+</p>
        <p>C )
(i)</p>
        <p>
          C
^(i)
The vector (i) sums up all transition which have completed until time step i.
It is easy to see that (i) + ^(i) yields the Parikh vector (i). An equation for
m~ (i) can be obtained by applying Equations (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) to Equation (7):
m~ (i) = m^ (i 1) + C+ U^ (i 1) R A
= m^ (i 1) + C+ U^ (i 1)
= m^ (i 1) + C+ U^ (i 1)
= m^ (i 1) + C+ U^ (i 1)
= m^ (i 1) + C+ ^(i 1)
Because the inner term of the former equation is zero for immediate transitions,
it follows that ^(i) must be an element of B1
        </p>
        <p>BjT j, with
Bk =
(f0; 1g
f0g</p>
        <p>
          D(tk) &gt; 0
else
The vector ~(i) := U~ (i) 0 1 1 T speci es all transition which are in progress
after the i-th time step has nished. This vector is elementwise less or equal than
^(i 1), because we have to subtract the elements of the second column of U^ (i 1)
to yield ~(i). Furthermore ~(i) is elementwise less or equal than ^(i), which
follows directly from Equation (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ). Obviously no element of the -vectors can
be negative. In case of a transition tk with delay less than 2, the k-th element
of ~(i) is zero in any case, because due to the construction of only the rst or
the second element of the k-th row of U^ (i 1) can be non-zero. Consequently it
holds:
(0)k ! ~(i) !
^(i 1)
^(i)
!
(1D(tk)&gt;0)k
and
~(i) !
(1D(tk)&gt;1)k
(10)
4
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Non-Reachability and Application Example</title>
      <p>State equations provide a criterion to decide whether a given marking is not
reachable in a speci ed Petri net. When the state equation does not have a
solution, the marking is not reachable. In case of Timed Petri nets, Equations (7)
and (9) as well es the constraint Equations (10) form a system of diophantene
(in-)equalities. If this system does not have a valid solution, a given m^ -marking
and m~ -marking, resp., is not reachable. A solution is valid if and only if the
Parikh vector candidate does not contain a negative element. Furthermore we can
draft on predecessor markings and maximal step conditions to further discard
some valid solutions of the state equation.</p>
      <p>In this section we show how the state equation in the recent section can be
used for a more systematical nonreachability proof of the example given in [2].
Consider the following Timed Petri net Z:
t1h1i
1
p2
1
2
1
p1
3
t3h1i</p>
      <p>2
t4h1i
1</p>
      <p>2
p3
t2h1i
We want to show that the marking m = 0 2 0 T is not reachable. To do so,
one has to show that both m~ (i) = m and m^ (i) = m are not reachable in Z.
Lets consider the m~ (i)-case rst. First we have to determine all (i 1) + ^(i 1)
which solve Equation (9). The solution space St depends on ~(i) and can be
calculated by the Gauss-Algorithm:
~(i) + k
011
B@B01CAC : k 2 Z
1
In this special case it follows from Equation (10) that ~(i) must be the zero
vector, so only one solution space has to be considered during the further
calculation. As stated, a valid solution cannot contain a negative component. Thus,
we can rule out all ^(i 1) for which the set NjT j \ fS ^(i 1) : S 2 Stg is
empty. Algorithmically this problem can be decided by integer linear
programming techniques. In our example at least ~3(i 1) must be zero, which narrows the
set of possible ^(i 1) down to eight distinct cases, shown in the following table.
With the aid of Equation (8), we can calculate the corresponding m^ (i 1):
candidates for
^(i 1)
corresp.
m^ (i 1)
001 011
B0C B0C
B@0CA B@0CA
0 0
001
B1C
B@0CA
0
011
B1C
B@0CA
0
001
B0C
B@0CA
1
011
B0C
B@0CA
1
001
B1C
B@0CA
1
011
B1C
B@0CA
1
11
1A
2
Because places cannot contain a negative amount of tokens, we can rule out the
last six cases. The remaining two cases can be discarded by aid of De nition 3.
According to the de nition of a maximal step for all active transitions tk, i.e.,
all transitions tk for which ^k = 0, it must hold m^ 6 tk . Now we consider t4
which is active in both cases. The maximal step condition m^ (i 1) 6 0 1 0 T
resulting from t4 is not ful lled. Thus, the two remaining solutions are not valid
in Z. Consequently m cannot be reached as a m~ -marking.</p>
      <p>Now, we show m is not reachable as a m^ -marking. First, we calculate the
set Y of possible ^(i) by using the de nition of the maximal step:</p>
      <p>Y(m^ (i)) = f ^ : (8k : ^k = 0 =) m^ (i) 6 tk )g
In our example, at least ^(i) = 1 and ^(i) = 1, otherwise the maximal step
3 4
condition for t3 and t4, resp., would not be ful lled. Then we calculate the
solution set Sf of Equation (7).</p>
      <p>80 11 02
&gt;
&gt;
Sf ( ^(i)) = &lt;BB 00CCA + BB@10
&gt;@
:&gt; 0
2 6
1 0 0C
1 2 1CA
0 0 0 0
31
In the example every possible ^(i) yields at least one Parikh vector
m^ (i) we can calculate m~ (i) by:
(i). From
m~ (i) = m^ (i) + C+ ~(i)</p>
      <p>C+ ^(i)
Due to Equation (10) the vector ~(i) must be the zero vector in this example.
Consequently we can calculate m~ (i) without further case discriminations on ~(i):
^(i)
corresp. m~ (i)
001
B0C
B@1CA
1
011
B0C
B@1CA
1
001
B1C
B@1CA
1
011
B1C
B@1CA</p>
      <p>1
0 31 0
1A
2
This leads to an invalid solution for the marking in each case. Thus, m is not
reachable as a m^ -marking, too.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We have presented a new state equation for Timed Petri nets. In contrast to [2]
the new equation is a holistic one: It describes the marking as well as the clocks,
whereas [2] has dealt with the net's marking only.</p>
      <p>Also, we have demonstrated in an example how the new state equation can
be used to prove non-reachability.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ramchandani</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Analysis of asynchronous concurrent systems by Timed Petri Nets</article-title>
          .
          <source>Project MAC-TR 120</source>
          ,
          <string-name>
            <surname>MIT</surname>
          </string-name>
          (
          <year>February 1974</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Popova-Zeugmann</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Werner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Richling</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>Using state equation to prove non-reachability in timed petrinets</article-title>
          .
          <source>Fundam. Inf</source>
          .
          <volume>55</volume>
          (
          <issue>2</issue>
          ) (
          <year>August 2002</year>
          )
          <volume>187</volume>
          {
          <fpage>202</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Popova-Zeugmann</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelz</surname>
          </string-name>
          , E.:
          <article-title>Algebraical characterisation of interval-timed petri nets with discrete delays</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>120</volume>
          (
          <issue>3</issue>
          {4) (
          <year>2012</year>
          )
          <volume>341</volume>
          {
          <fpage>357</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>