<!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>Controlling Petri Net Behavior Using Time Constraints</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Irina A. Lomazova</string-name>
          <email>ilomazova@hse.ru</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Louchka Popova-Zeugmann</string-name>
          <email>popova@informatik.hu-berlin.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, Humboldt University Berlin</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Research University Higher School of Economics (HSE)</institution>
          ,
          <addr-line>Moscow, 101000</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>19</fpage>
      <lpage>33</lpage>
      <abstract>
        <p>In this paper we study how it is possible to control Petri net behavior using time constrains. Controlling here means forcing a process to behave in a stable way by associating time intervals to transitions and hence transforming a classic Petri net into a Time Petri net. For Petri net models stability is often ensured by liveness and boundedness. These properties are crucial in many application areas, e.g. workflow modeling, embedded systems design, and bioinformatics. This paper deals with the problem of transforming a given live, but unbounded Petri net into a live and bounded one by adding time constraints. We specify necessary conditions for the solvability of this problem and present an algorithm for adding time intervals to net transitions in such a way that the resulting net becomes bounded while staying live.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Distributed systems range in almost all areas: from technical systems to biological
systems or to systems of business processes. Although such systems are very different in
their subject matter they all have common properties, such as reiteration of all
subprocesses or returning to some initialization in the system, or containing finitely or
infinitely many different states etc. Petri nets are widely used for modeling and analysis
of distributed systems. The first two properties concern the liveness of the model, the
second two are the subject of boundedness studies. In most of the practical systems the
infiniteness of all reachable states is an undesired property.</p>
      <p>
        A typical example is a business process model, represented by a workflow net — a
special kind of a Petri net. The essential property for workflow nets is soundness, also
called proper termination [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Soundness is intensively studied in the literature [
        <xref ref-type="bibr" rid="ref1 ref11 ref13 ref16 ref2 ref7">1, 2, 7,
11, 13, 16</xref>
        ]. Checking soundness of workflow nets can be reduced to checking liveness
and boundedness for the extended net obtained by connecting the source place with
the sink place through a new transition in the initial workflow net. Thus ensuring
liveness and boundedness of a model can be applied for asserting soundness of workflow
nets. In biological systems liveness and boundedness ensure system stability [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]. In
embedded systems scheduling is often necessary due to the resource limitations [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        In practice it may often happen that a given live Petri net is not bounded. Then it
would be helpful to "repair" the model by adding priorities or time to transitions so, that
the net becomes bounded staying live. In other words, the question is whether we can
"repair" the model with the help of priority or time constrains. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] J. Desel proposed
an approach for a brute-force-scheduling to ensure bounded behavior, employing
transitions of a given subset infinitely often. Here we study when and how time constraints
can ensure boundedness of a given live Petri net, retaining its liveness. In contrast to
brute-force approach, time constraints allow local and more flexible control — not just
forcing one ’good’ execution.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] we have considered a way to add priorities in order to transform a live and
unbounded model, represented by a Petri nets, into a live and bounded one. For this
reason we have defined a sub-tree of the reachability tree, the so-called "spine tree".
The spine tree contains all minimal cyclic runs together with prefixes leading to the
cycles. In this paper we use the spine-based coverability tree, derived from the spine
tree, in order to add time intervals to the transitions in such a way that the resulting
Time Petri net is live and bounded. Of course, this is not always possible.
      </p>
      <p>
        Priority scheduling is an appropriate solution for workflow systems. For biological
systems it is not so good, since there is no mechanism to assign priorities to events
in biological systems. Scheduling biological systems with the help of time constraints
would provide a much more natural solution [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        In this work we show how to associate time constrains to a given live and unbounded
Petri net in such a way that the resulting time-dependent net is live and bounded.
Thereby we want to fully preserve the structure of the given net. For that we use the
spine tree and the spine-coverability tree, introduced in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and compute a
parametrical state space for a Time Petri net, for which the underlying timeless Petri net is the
given one.
      </p>
      <p>The paper is organized as follows. In Section 2 we first give a more detailed
motivation for this work and then recall some basic definitions in the theory of Petri nets.
Section 3 presents the main contributions of the paper: a sufficient condition for
transforming a live and unbounded Petri net into a live and bounded one by adding time
intervals and an algorithm for computing these intervals, as well as, an example
illustrating the algorithm. Section 5 contains some conclusions.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <sec id="sec-2-1">
        <title>Motivation</title>
        <p>
          Liveness in bounded Petri nets is considered in numerous works. In [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] Ridder
and Lautenbach considered the relationship between liveness in bounded nets and
Tinvariants. For marked graph Petri nets characterization of liveness and boundedness
in terms of reachability graphs was done in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Scedulability analysis of Petri nets,
aimed at ensuring infinitely repeated firing sequences within a bounded stated space,
was studied in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] M. Heiner considered the problem of transforming live and unbounded
Petri nets into live and bounded nets by adding time durations to transitions. It is shown
in these works, that when a Petri net is covered by T-invariants (i.e. each transition enters
into at least one T-invariant with a non-zero component), T-invariants can be used for
computing time durations for transitions, making the net bounded. In other words, this
method allows to transform a live and unbounded Petri net, covered by T-invariants,
into a live and bounded Timed Petri net [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] with the same structure. Unfortunately this
method does not always work, as it was shown in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>
          Furthermore, as it is shown in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], a possibility to transform a live and unbounded
net into a bounded one can depend not only on T-invariants, but on initial markings
as well. So, the algorithm for making a live Petri net also unbounded with the help of
transition priorities, which we presented in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], essentially takes into account initial
states. This is the case also for the algorithm assigning time intervals to the transitions
and represented in this article.
        </p>
        <p>
          Live and unbounded Petri nets were considered also in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. The notion of weak
boundedness was introduced there. A Petri net N is called weakly bounded, iff it is
unbounded, but for every reachable marking m in N a bounded run is enabled in m,
i.e. from every reachable marking we can find a way to continue the execution in such
a way, that the number of tokens in each place will be not greater that some fixed
value. The distinction between bounded, weakly bounded and not weakly bounded Petri
nets is very important for applications. However, till now, there is no algorithm for
distinguishing weakly bounded and not weakly bounded Petri nets. There is a reason to
believe that these notions are connected with a possibility to transform an unbounded
Petri net into a bounded one by adding some time, or priority constraints.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Basics</title>
        <p>
          Let N denote the set of natural numbers (including zero) and let Q0+ be the set of all
non-negative rational numbers including zero. All notions and notations used here are
generally known and can be found in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>Let P and T be disjoint sets of places and transitions with P ∪ T 6= ∅ and let
F ⊆ (P × T ) ∪ (T × P ) → N be a flow relation. Then N = (P, T , F ) is a (unmarked)
Petri net. A marking in a Petri net is a function m : P → N, mapping each place to
some natural number (possibly zero). A (marked) Petri net (N , m0) is an unmarked
Petri net N with its initial marking m0. Further we call marked Petri nets just Petri nets
and use vector notation for marking by fixing some ordering of places in a Petri net.</p>
        <p>Pictorially, P -elements are represented by circles, T -elements by boxes, and the
flow relation F by directed arcs. Places may carry tokens represented by filled circles.
A current marking m is designated by putting m(p) tokens into each place p ∈ P .</p>
        <p>For a transition t ∈ T an arc (x, t) is called an input arc, and an arc (t, x) – an
output arc.</p>
        <p>A transition t ∈ T is enabled in a marking m iff ∀p ∈ P m(p) ≥ F (p, t). An
enabled transition t may fire yielding a new marking m′, such that m′(p) = m(p) −
t
F (p, t) + F (t, p) for each p ∈ P (denoted m → m′, or just m → m′). Then we say
that a marking m′ is directly reachable from a marking m.</p>
        <p>A marking m is called dead iff it enables no transition.</p>
        <p>A run in N is a finite or infinite sequence of firings m1 → m2 →t2 . . . . An initial
t1
run in (N , m0) is a run, starting from the initial marking m0. A cyclic run is a finite
run starting and ending at the same marking. A maximal run is either infinite, or ends
with a dead marking.</p>
        <p>We say that a marking m is reachable from a marking m′ in N iff there is a run
m′ = m1 → m2 → · · · → mn = m; m is reachable in (N , m0) iff m is reachable
from the initial marking. By R(N , m) we denote the set of all markings reachable in N
from the marking m. A run σ in (N , m) is called feasible iff σ starts from a reachable
marking.</p>
        <p>A T-invariant in a Petri net with n transition t1, . . . , tn is an n-dimensional vector
α = (α1, · · · , αn) with αi ∈ N at such that after firing of every transition sequence
containing exactly αi occurrences of each transition ti in an arbitrary marking m (if
possible) leads to the same marking m.</p>
        <p>A reachability graph of a Petri net (N , m0) presents detailed information about the
net behavior. It is a labeled directed graph, where vertices are reachable markings in
(N , m0), and an arc labeled by a transition t leads from a vertex v, corresponding to a
t
marking m, to a vertex v′, corresponding to a marking m′ iff m → m′ in N .</p>
        <p>A reachability graph may be also represented in the form of a reachability tree,
which can be defined in a constructive form. We start from the initial marking as a root.
If for a current leaf v labeled with a marking m, there is already a node v′ 6= v lying on
the path from the root to v and labeled with the same marking m, we notify v to be a leaf
in the reachability tree. If not, nodes directly reachable from m and the corresponding
arcs are added. Note, that in a reachability tree run cycles are represented by finite paths
from nodes to leafs.</p>
        <p>A place p in a Petri net is called bounded iff for every reachable marking the number
of tokens residing in p does not exceed some fixed bound κ ∈ N. A marked Petri net is
bounded iff all its places are bounded.</p>
        <p>It is easy to see, that a Petri net (N , m0) is bounded iff its reachability set
R(N , m0), and hence its reachability graph, are finite.</p>
        <p>A marking m′ covers a marking m (denoted m′ ≥ m) iff for each place p ∈
P , m′(p) ≥ m(p). The relation ≥ is a partial ordering on markings in N . By the
firing rule for Petri net, if a sequence of transitions is enabled in a marking m, and
m′ ≥ m, then this sequence of transitions is also enabled also in m′. A marking m′
strictly covers a marking m (denoted m′ &gt; m) iff m′ ≥ m and m 6= m. redundantly
For an unbounded Petri net, a coverability tree gives a partial information about the
net behavior. It uses the notion of a generalized marking, where the special symbol ω
designates an arbitrary number of tokens in a place. Formally, a generalized marking
is a mapping m : P → N ∪ {ω}. A coverability tree is defined constructively. It is
started from the initial marking and is successively constructed as a reachability tree.
The difference is that when a marking m′ of a current leaf v′ in a reachability tree
strictly covers a marking m of a node v, lying on the path from the root to v′, then in
a coverability tree the node v′ obtains a marking mω, where mω(p) = ω, if m′(p) &gt;
m(p), and mω(p) = m′(p), if m′(p) = m(p). For generalized markings enabling of a
transition and a firing rule is defined as for usual markings except that ω-marked places
are ignored. Each place p, which was marked by ω, remains ω-marked for all possible
run continuations.</p>
        <p>Let N = (P, T, F ) be an unmarked Petri net and let I : T −→ Q0+ × (Q0+ ∪ {∞})
be a function such that for each t ∈ T holds: I(t) = (at, bt) and at ≤ bt. Thus, the
function I associates an interval [at, bt] with each transition t in T . We notate at with
eft(t) (earliest firing time for t) and bt with lft(t) (latest firing time for t).</p>
        <p>
          Here at and bt are relative to the time, when t was enabled last. When t becomes
enabled, it can not fire before at time units have elapsed, and it has to fire not later than
bt time units, unless t got disabled in between by the firing of another transition. The
firing itself of a transition takes no time. The time interval is designed by real numbers,
but the interval bounds are nonnegative rational numbers. It is easy to see (cf. [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ])
that w.l.o.g. the interval bounds can be considered as integers only. Thus, the interval
bounds at and bt of any transition t are natural numbers, including zero and at ≤ bt or
bt = ∞. A comprehensive introduction can be found in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
        <p>
          Z = (N , m0, I) is called Time Petri net (TPN) and it was first introduced by Merlin
[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The marked Petri net (N , m0) := S(Z) is called the skeleton and I - the interval
function of Z.
        </p>
        <p>2</p>
        <p>p1
t1</p>
        <p>Every possible situation in a given TPN can be described completely by a state
z = (m, h), consisting of a (place) marking m and a transition marking h. The (place)
marking, which is a place vector (i.e. the vector has as many components as places
in the considered TPN), is defined as the marking notion in classic Petri nets. The
time marking, which is a transition vector (i.e. the vector has as many components as
transitions in the considered TPN), describes the time circumstances in the considered
situation. In general, each TPN has infinite number of states.</p>
        <p>
          The state space of a TPN can be characterized parametrically and it is shown that
knowledge of the integer-states, i.e. states whose time markings are (nonnegative)
integers, is sufficient to determine the entire behavior of the net at any point in time (cf. [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]
and [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. Thus, a reachability graph for a TPN can be defined so that the nodes of the
graph are the reachable integer-states and a directed edge connects two nodes, from z1
to z2 if there is possible to change from z1 to z2, considered as states in the TPN. And
finally, a reachability tree can be then also defined for TPN considering the reachable
p-markings.
        </p>
        <p>In this paper we use the parametric states in order to restrict the behavior of a
live and unbounded PN to a live and bounded one. The notions parametric state and
parametric run can be easily defined by recursion. Let Z = (P, T , F, V, m0, I ) be a
Time Petri net and let σ = t1 · · · tn be a firing sequence in Z . Then, the parametric
run (σ(x), Bσ ) of σ in Z with σ(x) = x0t1x1 · · · xn−1tnxn and the parametric state
(zσ , Bσ ) in Z are recursively defined as follows:
Basis: σ = ε, i.e., σ(x) = x0.</p>
        <p>Then zσ = (mσ , hσ ) and Bσ are defined as follows:
1. mσ := mo,
2. hσ (t) :=
x0 if t− ≤ mσ
♯ otherwise</p>
        <p>,
3. Bσ := { 0 ≤ hσ (t) ≤ lft(t) | t ∈ T ∧ t− ≤ mσ }
Step: Assume that zσ and Bσ are already defined for the sequence σ = t1 · · · tn.</p>
        <p>For σ = t1 · · · tn tn+1 = wtn+1 we set</p>
        <p>| :={zw }
1. mσ := mw + ∆t n+1,
2. hσ (t) :=
 ♯ if t− 6≤ mσ
 hw(t) + xn+1 if t− ≤ mσ ∧ t− ≤ mw ∧</p>
        <p>•tn+1 ∩• t = ∅
 xn+1 otherwise
3. Bσ := Bw ∪ { eft(tn+1) ≤ hw(tn+1) } ∪ { 0 ≤ hσ (t) ≤ lft(t) | t ∈</p>
        <p>T ∧ t− ≤ mσ }.</p>
        <p>A short example should illustrate the calculation of parametric states. We use Kσ
as a shorthand for {zσ | Bσ }.</p>
        <p>Let us consider the Time Petri net Z in Fig. 1.</p>
        <p>It is easy to see that</p>
        <p>Kε = {( (0, 1, 1), (x0, ♯, ♯, x0) ) | {0 ≤ x0 ≤ 3}}.</p>
        <p>| m{zε } | {hzε } | B{zε }
After firing the sequence σ = t4 the net Z2 is in a state belonging to Kσ = Kt4 .</p>
        <p>h{tz4
| m{tz4 } |
Kt4 = {( (1, 1, 0), (x0 + x1, ♯, x1, ♯) ) | {2 ≤ x0 ≤ 3, x0 + x1 ≤ 5, 0 ≤ x1 ≤ 4}}.
} | }</p>
        <p>B{tz4
The set of conditions Bt4 is the union of the three sets</p>
        <p>Bε, {eft(t4) ≤ hε(t4)} = {2 ≤ x0} and {0 ≤ hσ (t) ≤ lft(t) | t− ≤ mσ } =
x0 + x1 ≤ 5, .
0 ≤ x1 ≤ 4</p>
        <p>By repeatedly firing the transitions t3 and t4 we obtain the parametric states zt4t3
and zt4t3t4 and Kt4t3 and Kt4t3t4 :
2 ≤ x0 ≤ 3, x0 + x1 ≤ 5,
Kt4t3 = {((0, 1, 1), (x0 + x1 + x2, ♯, ♯, x2)) | 2 ≤ x1 ≤ 4, x0 + x1 + x2 ≤ 5, }
0 ≤ x2 ≤ 3
2 ≤ x0 ≤ 3, 2 ≤ x1 ≤ 4, 2 ≤ x2 ≤ 3,
Kt4t3t4 = {((1, 1, 0), (x0 + x1 + x2 + x3, ♯, x3, ♯)) | 0 ≤ x3 ≤ 4, x0 + x1 ≤ 5, x0 + x1 + x2 ≤ 5, }.
x0 + x1 + x2 + x3 ≤ 5</p>
        <p>Obviously, some of the inequalities are redundant. For instance, the inequalities of
the set Bt4t3t4 can be reduced to the set
2 ≤ x0 ≤ 3,
0 ≤ x3 ≤ 4,
2 ≤ x1 ≤ 4, 2 ≤ x2 ≤ 3,
x0 + x1 + x2 + x3 ≤ 5
.</p>
        <p>
          In general, the number of inequalities in Bσ is at most min{2 · n · |T | + 1 , (n + 1) ·
( n2 + 2)} (cf. [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]).
        </p>
        <p>
          Liveness can be defined in several ways for Petri nets [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. We will use the standard
“L4-live” variant, which states that every transition in a PN is potentially enabled in
any reachable marking. More exactly, a transition t in a Petri net (N , m0) is called live
in (N , m0) iff for every reachable marking m in (N , m0) there exists a sequence of
firings starting from m, which includes t.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Time Constrains for Boundedness</title>
      <p>Let (N , m0) be a live and unbounded Petri net. We would like to check, whether it is
possible to make this net bounded, not losing its liveness, by transforming it into a Time
Petri net (with the same skeleton), i.e. by adding intervals to its transitions. To solve this
problem we will associate transition intervals (if possible), which would exclude runs
leading to unboundedness.</p>
      <p>
        We start by recalling some properties of live and bounded Petri nets considered in
our article [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Then, instead to assign priorities to the transitions we add intervals.
We will show that this time solution is more precise than the solution with priorities.
In this connection "more precise" means that the set of reachable markings in the
timedependent net (sometimes properly) covers the set of reachable markings in the net with
priorities.
      </p>
      <p>It is clear that if a live PN is bounded then there exists a feasible cyclic run, including
all transitions of the PN. Furthermore, a TPN is obtained from a PN by a adding time
interval to each transition. Then the reachability tree is a subgraph of the reachability
tree of the PN. Hence, it is obvious that if for some interval function I the TPN Z =
(N , m0, I ) is live and bounded, then there exists a feasible cyclic run in (N , m0) which
includes all transitions of N .</p>
      <p>Proposition 1. Let (N , m0) be a live and unbounded Petri net. If there exists an
interval function I such that the TPN (N , I , m0) is live and bounded, then there exists
a T-invariant without zero components for N , i.e. all transitions in N are covered by
some T-invariant.</p>
      <p>
        As we already set in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], given a live and unbounded Petri net (N , m0), before
looking for times, which would transform the net into a bounded (and still live) Petri net,
it makes sense first to check necessary conditions. First one could compute T-invariants
for the net N . If there is no T-invariant, covering all transitions in N , then the net cannot
be recovered, i.e., the net cannot become live due to adding time, priorities etc.
      </p>
      <p>
        If there is such a T-invariant, then a more strong necessary condition can be checked:
whether there exists a feasible cyclic run in (N , m0), which includes all transitions in
N , i.e. a cyclic run realizing one of T-invariants with non-zero components. To do this
check the algorithm, proposed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] by J. Desel, can be used. This algorithm is based
on constructing a coverability net — a special extension of a coverability graph, and
can take an exponential time. However, if a net does not have too much concurrency
and a small number of unbounded places, this method can be acceptable.
      </p>
      <p>Now let (N , m0) be a live and unbounded Petri net, and let the above necessary
conditions are satisfied. We would like to find time intervals for the transition that will
make the net bounded, keeping its liveness. The procedure will be illustrated by the net
(N ∗, m0∗) in Fig. 2.</p>
      <p>S1</p>
      <p>S4
S3</p>
      <p>2
a
b
c
d
S2
S5</p>
      <p>
        The following algorithm is a modification of the algorithm given in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Here
reason we use the stages 1,2 and 3 of the ’old’ algorithm and add new stages 4 and 5.
      </p>
      <sec id="sec-3-1">
        <title>Stage 1. Find all minimal feasible cycles, which include all transitions. As al</title>
        <p>
          ready mentioned, this can be done by the technique described by J. Desel in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
Moreover, following this technique for each minimal feasible cyclic run σ we can
simultaneously find a finite initial run τ , such that τ σ⋆ is an initial run in (N , m0).
        </p>
        <p>If (N, m0) does not have such cycles, then the problem does not have a solution.
So, let</p>
        <p>C(N , m0) := { τ σ | τ σ⋆ is an initial run in (N , m0),
τ does not include σ and
σ includes all transitions in N }
be a set of all minimal feasible cyclic runs together with prefixes leading to the cycles.</p>
        <p>Thus, for example, the net (N ∗, m0∗) in Fig. 2 has five minimal cyclic runs with
all transitions. Three of them have empty prefixes, and two have prefixes τ1 = b and
τ2 = ba, respectively:
babcda
babcad
babacd
and
τ1=
z}b|{ abacbd
ba bacbad .
|τ{2z=}</p>
        <p>Stage 2. Construct a spine tree. A spine tree is a subgraph of a reachability tree,
containing exactly all runs from C(N , m0).</p>
        <p>0,1,1,0,1
a
1,0,1,0,1
b
d
d</p>
        <p>a
1,0,2,1,0</p>
        <p>c
1,0,0,0,1</p>
        <p>d
1,0,0,1,0
0,1,1,1,0
1,0,1,1,0
1,0,0,1,0</p>
        <p>b
0,1,1,1,0</p>
        <p>a
1,0,1,1,0</p>
        <p>b
c
0,1,0,0,1</p>
        <p>a
1,0,0,0,1</p>
        <p>d
1,0,0,1,0
d
0,1,0,1,0</p>
        <p>a
1,0,0,1,0</p>
        <p>The spine tree for Petri net (N , m0) from our example is shown in Fig. 3.</p>
        <p>Note, that a spine tree contains the behavior that should be saved to keep a Petri net
live.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Stage 3. Construct a spine-based coverability tree. A spine-based coverability</title>
        <p>tree is a special kind of a coverability tree, that includes a spine tree as a backbone.
Leaves in a spine-based coverability tree will be additionally colored with green or red.
This coloring will be used then for computing transition priorities.</p>
        <p>The spine-based coverability tree for a Petri net (N , m0) is defined constructively
by the following algorithm:</p>
        <p>Step 1. Start with the spine tree for (N , m0). Color all leaves in the spine tree in
green.</p>
        <p>Step 2. Repeat until all nodes are colored:</p>
        <p>For each uncolored node v labeled with a marking m:
1. check whether there is a marking m′, directly reachable from m and not included
t
in the current tree. For each such marking m′, where m → m′:
(a) Add a node v′ labeled with m′ as well as the corresponding arc from v to v′
labeled with t.
(b) If the marking m′ strictly covers a marking in some node on the path from the
root to v′, then v′ becomes a leaf and gets the red color.
(c) Otherwise, if the marking m′ coincides with a marking labeling some node on
the path from the root to v′, then v′ becomes a leaf and gets the green color.
(d) Otherwise, leave v′ uncolored.
2. Color the node v in yellow.</p>
        <p>The spine-based coverability tree for our example net (N ∗, m0∗) is shown in Fig. 4.
Here node colors are used to illustrate the tree construction. A leaf and some inner node
have the same color, if they have the same markings, or the leaf marking strictly covers
the marking of its ancestor. Strictly covering leaves are marked with the ω-symbol, they
are ’red’ leaves. All other leaves are ’green’ leaves.</p>
        <p>b
0,1,ω2,1,0</p>
        <p>b
0,1,1,0,1
a
1,0,1,0,1
b
0,1,ω2,0,1
d
d</p>
        <p>a
1,0,2,1,0</p>
        <p>c
1,0,0,0,1</p>
        <p>d
1,0,0,1,0
0,1,1,1,0
1,0,1,1,0
1,0,0,1,0</p>
        <p>b
0,1,1,1,0</p>
        <p>a
1,0,1,1,0</p>
        <p>b
0,1,2,1,0</p>
        <p>b
0,1,ω1,0,1
c
0,1,0,0,1
a
1,0,0,0,1</p>
        <p>d
1,0,0,1,0
d
0,1,0,1,0</p>
        <p>a
1,0,0,1,0</p>
        <p>b
0,1,ω2,1,0</p>
        <p>b
0,1,1,0,1
a
1,0,1,0,1
b
0,1,ω2,0,1
d
d</p>
        <p>a
1,0,2,1,0</p>
        <p>c
1,0,0,0,1</p>
        <p>d
1,0,0,1,0
0,1,1,1,0
1,0,1,1,0
1,0,0,1,0</p>
        <p>b
0,1,1,1,0</p>
        <p>a
1,0,1,1,0</p>
        <p>b
0,1,2,1,0</p>
        <p>b
0,1,ω1,0,1
c
0,1,0,0,1
a
1,0,0,0,1</p>
        <p>d
1,0,0,1,0
d
0,1,0,1,0</p>
        <p>a
1,0,0,1,0</p>
      </sec>
      <sec id="sec-3-3">
        <title>Stage 4. Compute a parametric state space. Let T be a spine-based coverability</title>
        <p>tree. Consider the TPN (N , m0, I) with time interval [at, bt] for each transition t ∈ T .
All at, bt are unknown and have to be calculated in stage 5. By the construction of T ,
all its leaves are colored either in green, or red. In this stage we construct an interval
function I : T → Q0+ × Q+. For this we consider every path from the root to a green
0
leaf as a parametric run. Additionally, we forbid a branching to a red leaf using strict
inequality.</p>
        <p>(1) Let vg be a green leaf and let σ be the path from the root to this leaf. Consider
the parametric run (σ(x), Bσ).</p>
        <p>(2) Let vr be a red leaf. Consider the path σ from the root to this leaf. Let v∗ be the
youngest ancestor of vr such that at least one run goes from v∗ to a green leaf vg. The
initial node v0 is labeled with the marking m0. Let the node v∗ be labeled with m∗, vr
with mr and vg with mg. Finally, let σ∗ be the path from the root to the node v∗, σr the
path from the node v∗ to vg and trσr the path from the node v∗ to vr. That means, we
have the situation</p>
        <p>σ∗
m0 → m∗ →tr →σr v,
σ = σ∗trσr
and there is not a path from a node in σr to a green one. Hence, using time, we will
forbid the firing of the transition tr in m∗. For this reason we add to Bσ∗ the constrain
(strong inequality) hσ∗ (tr) &lt; atr .</p>
      </sec>
      <sec id="sec-3-4">
        <title>Stage 5. Compute a parametric state space. Let</title>
        <p>B := [{Bσ | σ is an initial run to a green node} ∪ {0 ≤ at ≤ bt | t ∈ T }.
B is the set of all constrains which have to be fulfilled in order to keep the live behavior
of the net and to forbid all transition sequences leading to unboundedness. Clearly, B
is a system of linear inequalities and it can be solved in Q+. Actually, we are interested
0
in finding solutions for all at’s and bt’s such that the resulting system of inequalities is
solvable. Of course, when we can find rational values for solutions for all at’s and bt’s
then we can find also integer values for them.</p>
        <p>At this point we would like to notice that instead of the full parametric space of
the spine-based coverability tree we can use only a part of them, consisting of paths
including together all transitions of the net. In this case it is possible that some markings
which does not lead to unboundedness in the PN will be not reachable in the TPN.</p>
        <p>Applying the procedure of the stages 4 and 5 to the spine-based coverability tree for
our example net (N ∗, m0∗) (cf. Fig. 4) we sequentially obtain the following parametric
state space and eventually the following inequality system B:
Kε = { (1, 0, 0, 1, 0), (♯, x0, ♯, ♯) | 0 ≤ x0 ≤ bb},
Kb = { (0, 1, 1, 1, 0), (x1, ♯, ♯, ♯) | ab ≤ x0 ≤ bb, 0 ≤ x1 ≤ ba},
Kba = { (1, 0, 1, 1, 0), (♯, x2, ♯, ♯) | ab ≤ x0 ≤ bb, aa ≤ x1 ≤ ba 0 ≤ x2 ≤ bb},
Here we have add the strong inequality x7&lt;ab in order to forbid the firing of the
transition b in the marking (1, 0, 0, 0, 1).</p>
        <p></p>
        <p>ab ≤ x0 ≤ bb, aa ≤ x1 ≤ ba, ab ≤ x2 ≤ bb, 
Kbabcad =  (1,0,0,1,0),(♯,x7 + x8,♯,♯) ac ≤ x3 ≤ bc, aa ≤ x3 + x4 ≤ ba, 0 ≤ x4 ≤ bd  ,
 ad ≤ x7 ≤ bd, x7&lt;ab, 0 ≤ x8, x7 + x8 ≤ bb 
Kbaba =  (1,0,2,1,0),(♯,x9,x3 + x9,♯) aaba ≤≤ xx03 ≤≤ bbba,, axa3 ≤+ xx19 ≤≤ bbac,, 0ab≤≤xx92≤≤bbb,b, ,


x9&lt;ab

 ab ≤ x0 ≤ bb, aa ≤ x1 ≤ ba, ab ≤ x2 ≤ bb, 
Kbabac =  (1,0,0,0,1),(♯,x9 + x10,♯,x10) aa ≤ x3 ≤ ba, ac ≤ x3 + x9 ≤ bc, 0 ≤ x9 ≤ bb, ,
 x9 &lt; ab, 0 ≤ x10 ≤ bd, x9 + x10 ≤ bb 
 ab ≤ x0 ≤ bb, aa ≤ x1 ≤ ba, ab ≤ x2 ≤ bb,
 aa ≤ x3 ≤ ba, ac ≤ x3 + x9 ≤ bc,
Kbabacd =  (1,0,0,1,0),(♯,x9 + x10 + x11,♯,♯) 0 ≤ x9 ≤ bb,x9 &lt; ab, ad ≤ x10 ≤ bd,
 x9 + x10 + x11 ≤ bb, 0 ≤ x11 
 ,
 ab ≤ x0 ≤ bb, aa ≤ x1 ≤ ba, ab ≤ x2 ≤ bb, 
Kbabacb =  (0,1,1,0,1),(x12,♯,♯,x10 + x12) axa9 &lt;≤ axb3,≤0 b≤a,x1a0c ≤≤bxd3,+x9x9+≤x1b0c,+0x≤11 x≤9 b≤b bb, ,

 0 ≤ x12 ≤ ba, x10 + x12 ≤ bd 
 ab ≤ x0 ≤ bb, aa ≤ x1 ≤ ba, 
Kbabacba =  (1,0,1,0,1),(♯,x13,♯,x10 + x12 + x13) aaxbc9 ≤≤&lt; xxa23b,+≤0xb≤b9,≤xa1a0bc≤≤,0bxd3≤,≤x9ba≤, bb,  ,
ab ≤ x9 + x10 ≤ bb, aa ≤ x12 ≤ ba,
x10 + x12 + x13 ≤ bd, x13 &lt; ab </p>
        <p>
          Thus, a solution (with minimal values) for the interval function I∗ is, e.g., aa = ba =
0, ab = bb = 1, ac = bc = 0, ad = 0 and bb = 1. All possible integer solutions for x1,
... , x15 are the base for constructing the reachability graph and the reachability tree of
the TPN. Actually, having all interval bounds we construct the reachability graph/tree
successively and without calculating any inequality systems, cf. [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. The reachability
graph of the TPN has 11 states and is was calculated with INA or tina (cf. [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ], [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]).
An analyzing protocol is included as an appendix.
        </p>
        <p>Proposition 2. Let (N , m0) be a live and unbounded Petri net, for which there exists
a feasible cyclic run, which includes all transitions in N . Let then I be an interval
function calculated for (N , m0) according to the algorithm described above. Then the
TPN (N , I, m0) is live and bounded.</p>
        <p>Proof. (Idea) Note, that if a node in a spine-based coverability tree has a descendant
leaf, colored in red, then the marking of this node can enable an unbounded run, leading
to an ω-marking. If it has a descendant leaf, colored in green, then the marking of this
node can enable a cycle, which includes all transitions in N .</p>
        <p>At each step at the stage 4 the parametric run forces initial runs to the markings
labeling green leaves in the spine-based coverability tree of the Petri net and forbid the
branching of each initial run ending into a marking which labels read leaf.</p>
        <p>The set B of inequalities defined in stage 5 obtains all constains successively
calculated in stage 4 and the conditions for interval bounds.</p>
        <p>The resulting Time Petri net (N , I, m0) is live, because it retains all initial cycles
with all transitions.</p>
        <p>The net (N , I, m0) is bounded, because all unbounded branches in (N , m0) are
cut by time constrains. ✷</p>
        <p>The above algorithm allows to calculate an interval function needed for the net
boundedness, only in the case, when such function exist.</p>
        <p>In order to calculate minimal values for the interval bounds at and bt we can
consider the Linear Programming
min { X(at + bt) | B}.</p>
        <p>t∈T</p>
        <p>Note also, that in the above algorithm we keep all feasible cycles, containing all
transitions. The algorithm can be modified to keep at least one such cycle.</p>
        <p>
          Let us compare both algorithms for controlling the behavior of a Petri net: By using
priorities, cf. [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], and by using time constrains as represented here. Both algorithms
can "repair" a live and unbounded Petri net into a live and bounded. But, the second
algorithm works also in some cases when the first one does not work and it works always
when the first one does it. The reason for that is the statical use of the priority relation.
The time intervals introduce also a kind of priority relation between the transitions, but
this priority is a dynamic one. For example, for the net (N ∗, m0∗) it is not possible to
find a priority relation such that the firing of the transition d is prioritized to transition
b but once, at the marking (1, 0, 0, 0, 1) — where both transitions b and d may fire — b
should fire. This is possible assigning time intervals, as we have seen. Thus, when the
spine-based coverability tree would consist only of the left main branch, cf. Fig. 4, then
there would not be a priority solution but a solution with time constrains.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>In this paper we have studied the possibility for obtaining a live and bounded Petri net
from a live and unbounded one by adding time constrains as time intervals associated to
each transition. We have presented necessary conditions for existence of such priorities.
These conditions are not sufficient, but help to exclude unsolvable cases. Furthermore,
we have represented an algorithm for computing (minimal) time intervals for
transforming a live and unbounded Petri net into live and bounded and live net. The resulting net
is a Time Petri net with the prior skeleton (underlying timeless net).</p>
      <p>This algorithm converts a live and unbounded Petri net into a live and bounded Time
Petri net even in some cases, when our previous algorithm for finding a priority relation
for retaining the liveness does not work. Thus, the algorithm represented here is more
powerful than the priority algorithm.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>W.M.P. van der Aalst</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.M. van Hee</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.H.M. Hofstede</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Sidorova</surname>
            ,
            <given-names>H.M.W.</given-names>
          </string-name>
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Voorhoeve</surname>
          </string-name>
          , M.T. Wynn:
          <article-title>Soundness of Workflow Nets: Classification, Decidability, and Analysis</article-title>
          .
          <source>Formal Aspects of Computing</source>
          , Vol.
          <volume>23</volume>
          , No 3, pages
          <fpage>333</fpage>
          -
          <lpage>363</lpage>
          , Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>V.A.</given-names>
            <surname>Bashkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.A.</given-names>
            <surname>Lomazova</surname>
          </string-name>
          <article-title>: Decidability of k-Soundness for Workflow Nets with an Unbounded Resource</article-title>
          .
          <source>Transactions on Petri Nets and Other Models of Concurrency IX, Lecture Notes in Computer Science</source>
          , Vol.
          <volume>8910</volume>
          , pages
          <fpage>1</fpage>
          -
          <lpage>78</lpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>E.</given-names>
            <surname>Best</surname>
          </string-name>
          , R. Devillers:
          <article-title>Characterisation of the State Spaces of Live and Bounded Marked Graph Petri Nets</article-title>
          .
          <source>In: Language and Automata Theory and Applications, Lecture Notes in Computer Science</source>
          , Vol.
          <volume>8370</volume>
          , pages
          <fpage>161</fpage>
          -
          <lpage>172</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Th. H. Cormen</surname>
          </string-name>
          ,
          <string-name>
            <surname>Ch</surname>
            . E. Leiserson,
            <given-names>R. L.</given-names>
          </string-name>
          <string-name>
            <surname>Rivest</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Stein: Introduction to Algorithms</article-title>
          . MIT Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. J. Desel:
          <article-title>On Cyclic Behaviour of Unbounded Petri Nets</article-title>
          . In:
          <article-title>Application of Concurrency to System Design (ACSD)</article-title>
          .
          <source>13th International Conference on Application of Concurrency to System Design</source>
          , pages
          <fpage>110</fpage>
          -
          <lpage>119</lpage>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. J.
          <source>Desel: Schwach beschränkte Petrinetze. 12ter Workshop "Algorithmen und Werkzeuge für PetrinetzeS¸</source>
          ,
          <volume>29</volume>
          . -
          <fpage>30</fpage>
          .
          <year>September 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>K. van Hee</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Oanea</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Serebrenik</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Sidorova</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Voorhoeve</surname>
            ,
            <given-names>I.A.</given-names>
          </string-name>
          <string-name>
            <surname>Lomazova</surname>
          </string-name>
          <article-title>: Checking Properties of Adaptive Workflow Nets</article-title>
          .
          <source>Fundamenta Informaticae</source>
          , Vol.
          <volume>79</volume>
          , No.
          <volume>3</volume>
          , pages
          <fpage>347</fpage>
          -
          <lpage>362</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Heiner: Biochemically Interpreted Petri Nets - Two Open</surname>
          </string-name>
          Problems. Talk,
          <article-title>Seminaire MeFoSyLoMa (Formal Methods for Hardware and Software Systems)</article-title>
          , Université Paris 13,
          <year>June 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M</given-names>
            <surname>Heiner</surname>
          </string-name>
          <article-title>: Time Petri nets for modelling and analysis of biochemical networks - on the influence of time</article-title>
          . Talk, MaReBio, Marseille,
          <year>November 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. C. Liu, Cong,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kondratyev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Watanabe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Desel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sangiovanni-Vincentelli</surname>
          </string-name>
          :
          <article-title>Schedulability analysis of Petri nets based on structural properties</article-title>
          .
          <source>Fundamenta Informaticae</source>
          , Vol.
          <volume>86</volume>
          , No 3, pages
          <fpage>325</fpage>
          -
          <lpage>341</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>I. A.</given-names>
            <surname>Lomazova: Interacting Workflow Nets for Workflow Process</surname>
          </string-name>
          Re-Engineering.
          <source>Fundamenta Informaticae</source>
          , Vol.
          <volume>101</volume>
          , No 1
          <issue>-2</issue>
          , pages
          <fpage>59</fpage>
          -
          <lpage>70</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>I. A.</given-names>
            <surname>Lomazova</surname>
          </string-name>
          , L. Popova-Zeugmann:
          <article-title>Controlling Petri Net Behavior using Priorities for Transitions</article-title>
          .
          <source>Proceedings of the Workshop Concurrency</source>
          , Specification &amp; Programming'2014, Sept.
          <fpage>29</fpage>
          - Oct.
          <volume>1</volume>
          ,
          <issue>2014</issue>
          , pp.
          <fpage>126</fpage>
          -
          <lpage>137</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>I.A.</given-names>
            <surname>Lomazova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.V.</given-names>
            <surname>Romanov</surname>
          </string-name>
          : Analyzing Compatibility of Services via Resource Conformance.
          <source>Fundamenta Informaticae</source>
          , Vol.
          <volume>128</volume>
          , No.
          <volume>1</volume>
          , pages
          <fpage>129</fpage>
          -
          <lpage>141</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. P.
          <article-title>Merlin: A Study of the Recoverability of Communication Protocols</article-title>
          .
          <source>PhD Theses</source>
          , Irvine,
          <year>1974</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. T. Murata:
          <article-title>Petri Nets: Properties, Analysis and</article-title>
          <string-name>
            <surname>Applications.</surname>
          </string-name>
          <article-title>An invited survey paper</article-title>
          .
          <source>Proceedings of the IEEE</source>
          , Vol.
          <volume>77</volume>
          , No.4 pp.
          <fpage>541</fpage>
          -
          <lpage>580</lpage>
          , April,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>N.</given-names>
            <surname>Sidorova</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Stahl: Soundness for Resource-Contrained Workflow Nets is Decidable</article-title>
          .
          <source>IEEE Transactions on Systems, Man, and Cybernetics</source>
          , Vol.
          <volume>43</volume>
          , No.
          <volume>3</volume>
          , pages
          <fpage>724</fpage>
          -
          <lpage>72</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. L. Popova:
          <article-title>On Time Petri Nets</article-title>
          .
          <source>J. Inform. Process. Cybern. EIK</source>
          <volume>27</volume>
          (
          <year>1991</year>
          )
          <article-title>4</article-title>
          , pages
          <fpage>227</fpage>
          -
          <lpage>244</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. L.
          <string-name>
            <surname>Popova-Zeugmann:</surname>
            Time and
            <given-names>Petri</given-names>
          </string-name>
          <string-name>
            <surname>Nets</surname>
          </string-name>
          . Springer-Verlag, Springer Heidelberg New York Dordrecht London,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>N.</given-names>
            <surname>Ridder</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          <article-title>Lautenbach: Liveness in bounded Petri nets which are covered by T-invariants</article-title>
          . In: R. Valette (Ed.),
          <source>Application and Theory of Petri Nets, Lecture Notes in Computer Science</source>
          , Vol.
          <volume>815</volume>
          , pages
          <fpage>358</fpage>
          -
          <lpage>378</lpage>
          , Springer,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>P.H. Starke INA - Integrated Net Analyzer. Manual</surname>
          </string-name>
          , Berlin,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. B.
          <article-title>Berthomieu TIme petri Net Analyzer</article-title>
          . url = http://www.laas.fr/bernard/tina/. LAAS / CNRS, Toulouse, France,
          <volume>2</volume>
          .9.8 released,
          <year>2009</year>
          , http://www.laas.fr/bernard/tina/,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>