<!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 Priorities for Transitions?</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>Humboldt-Universitat zu Berlin</institution>
          ,
          <addr-line>Unter den Linden 6, 10099 Berlin</addr-line>
          ,
          <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>
      <abstract>
        <p>In this paper we examine how it is possible to control Petri net behavior with the help of time constraints. Controlling here means to force a process to behave in a desirable way by ascribing priorities to transitions and hence transforming a classic Petri net into a Priority Petri net. Liveness and boundedness are crucial properties in many application areas, e.g. work ow modeling and bioinformatics. The main correctness property for work ow models is soundness, which can be reduced to the liveness and boundedness of a modi ed net. In biological models, liveness and boundedness are important for system stability. The problem of transforming a given live, but unbounded Petri net into a live and bounded one by adding priority constraints is studied in this paper. We specify necessary conditions for the solvability of this problem and present a method for ascribing priorities 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>-</title>
      <p>Petri nets are widely used for modeling and analysis of distributed systems.
These can range from technical systems to systems of business processes, or
biological systems. Although such systems are very di erent in their substance they
all have common properties, such as reiteration of all subprocesses or returning
to some initialization in the system, or containing nitely or in nitely many
different states etc. The rst two properties concern the liveness of the model, the
second two are covered by boundedness studies. In most of the practical systems
the niteness of all possible situations is a highly desired property, i.e., the model
should be bounded.</p>
      <p>
        A typical example is a business process model, represented by a work ow net
| a special kind of a Petri net. The crucial correctness property for work ow
nets is soundness, also called proper termination [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The soundness property
and its variations are intencively studied in the literature [1, 2, 5{7, 9].
      </p>
      <p>
        Checking soundness of work ow 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 work ow net. Thus ensuring
liveness and boundedness of a model can be applied for asserting soundness of
work ow nets. In biological systems liveness and boundedness ensure system
stability [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ].
      </p>
      <p>
        In practice it could be 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 scheduling. In
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] J. Desel proposed an approach for a brute-force-scheduling to ensure bounded
behavior, employing transitions of a given subset in nitely often. Here we study
when and how transition priorities can ensure boundedness of a given live Petri
net, retaining its liveness. In contrast to brute-force approach, priorities allow
local and more exible control | not just forcing one 'good' execution.
      </p>
      <p>
        Priority scheduling is an appropriate solution for work ow systems. For
biological system it is not so appropriate, since there is no mechanism to give priority
to this or that action in biological systems. Scheduling biological systems with
the help of time constraints would provide a much more natural solution [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
This will be a theme of our further research.
      </p>
      <p>In this paper we study adding priorities in order to transform a live and
unbounded model, represented by a Petri nets, into a live and bounded model.
Thereby we want to fully preserve the structure of the net.</p>
      <p>The paper is organized as follows. In Section 2 we recall some basic de nitions
in the theory of Petri nets and subsequently in Section 3 we give a motivating
example. In Section 4 we represent a su cient condition for transforming a live
and unbounded Petri net into a live and bounded one by adding priorities and
nally Section 5 contains some conclusions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>Let Nat denote the set of natural numbers (including zero).</p>
      <p>Let P and T be disjoint sets of places and transitions and let F (P T ) [
(T P ) ! Nat be a ow relation. Then N = (P; T; F ) is a unmarked Petri net.
A marking in a Petri net is a function m : P ! Nat, mapping each place to
some natural number (possibly zero). A Petri net (N ; m0) is an unmarked Petri
net N with its initial marking m0. We use vector notation for marking, xing
some ordering of places in a Petri net.</p>
      <p>Pictorially, P -elements are represented by circles, T -elements by boxes, and
the ow relation F by directed arcs. Places may carry tokens represented by
lled circles. A current marking m is designated by putting m(p) tokens into
each place p 2 P .</p>
      <p>For a transition t 2 T an arc (x; t) is called an input arc, and an arc (t; x) {
an output arc.</p>
      <p>A transition t 2 T is enabled in a marking m i 8p 2 P m(p) F (p; t).
An enabled transition t may re yielding a new marking m0, such that m0(p) =
m(p) F (p; t) + F (t; p) for each p 2 P (denoted m !t m0, or just m ! m0).
Then we say that a marking m0 is directly reachable from a marking m.</p>
      <p>A marking m is called dead i it enables no transition.</p>
      <p>A run in N is a nite or in nite sequence of rings m1 !t1 m2 !t2 : : : . An
initial run in (N ; m0) is a run, starting from the initial marking m0. A cyclic
run is a nite run starting and ending at the same marking. A maximal run is
either in nite, or ends with a dead marking.</p>
      <p>We say that a marking m is reachable from a marking m0 i there is a run
m0 = m1 ! m2 ! ! mn = m; m is reachable in (N; m0) i m is reachable
from the initial marking. For an unmarked Petri net N by R(N ; m) we denote
the set of all markings reachable in N from the marking m, by R(N ) { the set
of all markings reachable in N from its initial marking. A run in (N ; m) is
called feasible i 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 2 N at such that after ring 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 marking m, to a vertex v0, corresponding to a marking m0
i m !t m0 in N .</p>
      <p>A reachability graph may be also represented in the form of a reachability
tree, which can be de ned in a constructive form. We start from the initial
marking as a root. If for a current leave v labeled with a marking m, there is
already a node v0 6= v lying on the path from the root to v and labeled with the
same marking m, we notify v to be a leave 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 nite paths from nodes to leaves.</p>
      <p>A place p in a Petri net is called bounded i for every reachable marking the
number of tokens residing in p does not exceed some xed bound 2 Nat. A
marked Petri net is bounded i all its places are bounded.</p>
      <p>It is easy to see, that a Petri net (N ; m0) is bounded i its reachability set
R(N ; m0), and hence its reachability graph, are nite.</p>
      <p>A marking m0 covers a marking m (denoted m0 m) i for all places p from
P , m0(p) m(p). The relation is a partial ordering on markings in N . By
the ring rule for Petri net, if a sequence of transitions is enabled in a marking
m, and m0(p) m(p), then this sequence of transitions is also enabled in m0. A
marking m0 strictly covers a marking m (denoted m0 &gt; m) i m0(p) m(p) and
m 6= m.</p>
      <p>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 on a place. Formally,
a generalized marking is a mapping m : P ! Nat [ f!g. A coverability tree is
de ned constructively. It is started from the initial marking and is successively
constructed as a reachability tree. The di erence is that when a marking m0 of
a current leave v0 in a reachability tree strictly covers a marking m of a node
v, lying on the path from the root to v0, then in a coverability tree the node v0
gets a marking m!, where m!(p) = !, if m0(p) &gt; m(p), and m!(p) = m0(p),
if m0(p) = m(p). For generalized markings enabling of a transition and a ring
rule is de ned 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. A priority relation for N
is a partial order (T; ), i.e., the relation is re exive, antisymmetric and
transitive. For a subset S T a minimal element in S (w.r.t. ) is a transition
t 2 S, such that for all t 2 S, t0 6= t implies t0 6 t. Obviously, there can be
several minimal elements in S.</p>
      <p>A (marked or unmarked) Petri net with priorities is a (marked or unmarked)
Petri net together with a priority relation. For P = (N ; ) being a Petri net with
priorities, we call the Petri net N the skeleton of P and denote it with S(P).
A priority relation can be speci ed by assigning a priority label (natural
number) (t) 2 Nat to each transition t. Then we set t t0 i (t) &lt; (t0) and
represent priority graphically by priority labels, given in curly brackets.</p>
      <p>Fig. 2 gives an example of a Petri net with priorities. Here (a) = 1; (b) =
3; (c) = 2; (d) = 2, and hence a c; a d; c b; d b.</p>
      <p>S1
a {1}</p>
      <p>{3} b
S2</p>
      <p>S3
2</p>
      <p>S4
c {2}</p>
      <p>{2} d
S5</p>
      <p>The ring rule for a Petri net P = (N; ) with priorities is de ned as follows.
Let m be a marking in N , and Q be a set of transitions enabled in m (according
to usual rules for Petri nets). Then only minimal w.r.t. transition may re
in m, i.e. transitions with higher priorities are always preferred over transitions
with lower priorities.</p>
      <p>For the Petri net P1 = (N1; ; m0) in Fig. 2 the ring sequence baba is
feasible and leads to the marking m1 = (0; 1; 2; 1; 0). Both transitions c and b
are enabled in m1, but only c can re in m1, since b c.</p>
      <p>
        Liveness can be de ned in several ways for Petri nets [
        <xref ref-type="bibr" rid="ref8">8</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 i for every reachable marking m there exists
a sequence of rings starting from m, which includes t, i.e. in a Petri net N
8m 2 R(N; m0) : 9 2 T : m ! m0 !t.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Motivating Examples</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and [
        <xref ref-type="bibr" rid="ref10">10</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
transition invariants (i.e. each transition enters into at least one transition invariant
with a non-zero component), transition invariants can be used for computing
time durations for transitions, which make the net bounded. In other words, this
method allows to transform a live and unbounded Petri net, covered by
transition invariants, into a live and bounded Timed Petri net [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] with the same
structure. Unfortunately this method does not always work, as it was shown in
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. It was even not known, whether the condition of covering all transitions in
a Petri net with some transition invariant is necessary for transforming a live
and unbounded net into a bounded one.
      </p>
      <p>Consider now two Petri nets in Fig.3. These two Petri nets di er only in their
initial markings. The left Petri net has the empty initial marking, and the right
one has initially three tokens in the place B. Both nets are live and unbounded.
Actually, all their places are unbounded. Both nets are covered by (the same)
two minimal transition invariants, since these nets have the same net structure.</p>
      <p>
        However, there is a great di erence between these nets. The right net can
be transformed into a live and bounded net by ascribing time durations to its
transitions, which are graphically represented in angle brackets here. This turns
the right net into a Timed Petri net. The reader can nd ring rules for Timed
Petri nets in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and make certain that with time durations the net becomes
bounded. Quite the contrary, the left net cannot be transformed into a bounded
net by adding time durations.
      </p>
      <p>These examples show, that a possibility to transform a live and unbounded
net into a bounded one can depend not only on transition invariants, but on
initial markings as well.</p>
      <p>
        Live and unbounded Petri nets were considered also in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The notion of weak
boundedness was introduced there. A Petri net N is called weakly bounded, i
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 nd a way to continue
r4
E
A
r1
B
r6
r5
F
r2
C
con_C
&lt;3&gt;
      </p>
      <p>pro_A
&lt;0&gt;</p>
      <p>A
r1</p>
      <p>B
r4
E
&lt;2&gt; &lt;2&gt;
&lt;1&gt;
r6
r5
F
&lt;1&gt;
r2</p>
      <p>C
&lt;0&gt;
con_C
the execution in such a way, that the number of tokens in each place will be not
greater that some xed 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 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.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Priorities for Making a Petri Net Bounded</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 Petri net with priorities (with the same skeleton), i.e. by adding priorities
to its transitions. To solve this problem we shall try for transition priorities,
which would exclude runs leading to unboundedness.</p>
      <p>We start by studying some properties of live and bounded Petri nets.
Proposition 1. Let (N ; m0) be a live and bounded Petri net. Then there exists
a feasible cyclic run, including all transitions in N .</p>
      <p>Proof. Since (N ; m0) is live, no dead marking is reachable in it, and all maximal
runs are in nite. The net (N ; m0) is bounded, hence its reachability set is nite,
and each in nite run includes a cycle. Moreover, such a run has a form ?,
where is a (pre x) nite initial run, and is a feasible cyclic run.</p>
      <p>Liveness means that each transition may potentially re from any reachable
marking. Then there exists a run, which includes all net transitions in nitely
often. The cyclic part of this run contains all net transitions.</p>
      <p>Proposition 2. Let (N ; m0) be a Petri net, and let (N ; ; m0) be a Petri net
with priorities, obtained from N by adding a transition priority relation .
Then the reachability tree for (N ; ; m0) is a subgraph of the reachability tree
for (N ; m0).</p>
      <sec id="sec-4-1">
        <title>Proof. Straightforward from the de nitions. The next Theorem de nes necessary conditions for a possibility to recover boundedness for a live Petri net with the help of transition priorities.</title>
        <p>Theorem 1. Let (N ; m0) be a Petri net. If for some priority relation the
Petri net (N ; ; m0) with priorities is live and bounded, then there exists a
feasible cyclic run in (N ; m0), which includes all transitions in N .</p>
      </sec>
      <sec id="sec-4-2">
        <title>Proof. Follows from Propositions 1 and 2.</title>
        <p>Corollary 1. Let (N ; m0) be a live and unbounded Petri net. If there exists a
priority relation on the set T of transitions in N , s.t. the Petri net (N ; ; m0)
with priorities is live and bounded, then there exists a transition invariant without
zero components for N , i.e. all transitions in N are covered by some T-invariant.</p>
        <p>So, given a live and unbounded Petri net (N ; m0), before looking for
constraints, which would transform the net into a bounded (and still live) Petri
net, it makes sense rst to check necessary conditions. First one could compute
transition invariants for the net N . If there is no a transition invariant, covering
all transitions in N , then the net cannot be recovered. Note, that transition
invariants can be computed in polynomial time on the size of the net.</p>
        <p>
          If there is such a transition 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 transition invariants
with non-zero components. To do this check the algorithm, proposed in [
          <xref ref-type="bibr" rid="ref3">3</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 necessary
conditions hold for it. We would like to nd transition priorities, that will make the
net bounded, keeping its liveness. The procedure will be illustrated on the net
N1 in Fig. 2.</p>
        <p>We do this in four stages.</p>
        <p>
          Stage 1. Find all minimal feasible cycles, which include all
transitions. As already mentioned, this can be done by the technique described by
J. Desel in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Moreover, following this technique for each minimal feasible
cyclic run we can simultaneously nd a nite initial run , such that ? is
an initial run in (N ; m0).
        </p>
        <p>If (N; m0) does not have such cycles, then due to the Theorem 1 the problem
does not have a solution. So, let</p>
        <p>C(N ; m0) := f
j
? is an initial run in (N ; m0);
does not include and
includes all transitions in N g
be a set of all minimal feasible cyclic runs together with pre xes leading to the
cycles.</p>
        <p>Thus, for example, the net (N1; m0) in Fig. 2 has ve minimal cyclic runs
with all transitions. Three of them have empty pre xes, and two have pre xes
1 = b and 2 = ba, respectively:
babcda
babcad
babacd
and</p>
        <p>1=
z}|{ abacbd
bba 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>The spine tree for Petri net (N1; 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>
        <p>Stage 3. Construct a spine-based coverability tree. A spine-based
coverability 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 de ned
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 m0, directly reachable from m and not
t
included in the current tree. For each such marking m0, where m ! m0:
(a) Add a node v0 labeled with m0 as well as the corresponding arc from v
to v0 labeled with t.
(b) If the marking m0 strictly covers a marking in some node on the path
from the root to v0, then v0 becomes a leave and gets the red color.
b
d
d
0,1,1,0,1
a
1,0,1,0,1</p>
        <p>a
1,0,2,1,0
1,0,0,0,1
c
d
1,0,1,1,0
1,0,1,1,0
0,1,2,1,0
b
a
b
c</p>
        <p>a</p>
        <p>d
d</p>
        <p>a
(c) Otherwise, if the marking m0 coincides with a marking labeling some
node on the path from the root to v0, then v0 becomes a leave and gets
the green color.</p>
        <p>(d) Otherwise, leave v0 uncolored.
2. Color the node v in yellow.</p>
        <p>The spine-based coverability tree for our example net N1 is shown in Fig. 4. Here
node colors are used to illustrate the tree construction. A leave and some inner
node have the same color, if they have the same markings, or the leave 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>Stage 4. Compute a priority relation. Let T be a spine-based
coverability tree. By the construction of T , all its leaves are colored either in green,
or red. In this stage we construct a priority relation R T T . Initially R is
empty.
b
1,0,1,0,1
0,1,ω2,0,1
b
b
d
d
0,1,1,0,1</p>
        <p>a
1,0,2,1,0
c
d
1,0,1,1,0
0,1,2,1,0
b
a
b</p>
        <p>b
0,1,ω1,0,1
c</p>
        <p>a</p>
        <p>d
d</p>
        <p>a</p>
        <p>Let v be one of the leaves in with the maximal distance from the root, let u
be the parent of v. Two cases are possible.</p>
        <p>(1) All children of u (including v) have the same color (green, or red). Then
delete all children of u from the tree, make u a leave and color it with the color
of v.</p>
        <p>(2) Some children nodes are colored in red, and some { in green.
{ If u is not in the spine of T , then delete all children of u from the tree, make
u a leave and color it in red.
{ If not, let Tr be the set of all transitions, corresponding to arcs going from u
to nodes colored in red, and similarly, Tg { the set of all transitions labeling
arcs going from u to nodes colored in green. Note, that Tr \ Tg = ;. Then
de ne Ru = f(t1; t2)jt1 2 Tr; t2 2 Tgg, and add all pairs from Ru to the
priority relation R, i.e. R := R [ Ru. After that delete all children nodes of
u, and make u a leave colored in green.</p>
        <p>Repeat this procedure until there are no more red leaves in T . Finally, de ne
the relation for (N ; m0) as the transitive and re exive closure of R.</p>
        <p>Applying the procedure of the stage 4 to the spine-based coverability tree for
our example net (N1; m0) (cf. Fig. 4) we sequentially obtain: d b, c b. That
means, that we could choose even weaker priorities, than shown in Fig. 2, i.e.
transitions a, c and d could have the same priorities to guarantee liveness and
boundedness.</p>
        <p>Theorem 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 be
the relation constructed for (N ; m0) according to the algorithm described above.
If is a partial order (i.e. is antisymmetric), then is a priority relation
for N , and the Petri net (N ; ; m0) with priorities is live and bounded.
Proof. (Sketch) Note, that if a node in a spine-based coverability tree has a
descendant leave, colored in red, then the marking of this node can enable an
unbounded run, leaving to a !-marking. If it has a descendant leave, 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 relation R is extended in such a way, that
cyclic runs prioritize unbounded runs.</p>
        <p>Each step at the stage 4 reduces the number of nodes in a spine-based
coverability tree, so the process on the stage 4 will terminate. Initially, the spine tree
for (N ; m0) is not empty, and the root has descendant nodes colored in green,
so the process will terminate correctly, i.e. with only green leaves (possibly one).</p>
        <p>The resulting Petri net (N ; ; m0) with priorities is live, because it retains
all initial cycles with all transitions.</p>
        <p>The net (N ; ; m0) is bounded, because all unbounded branches in (N ; m0)
are cut by priorities.</p>
        <p>The above algorithm allows to compute priorities needed for the net
boundedness, only in the case, when such priorities exist and the algorithm computes
a partial order. We have presented some necessary conditions for existence of
needed priorities, but we do not know whether these conditions are su cient.</p>
        <p>Note also, that in the above algorithm we keep all feasible cycles, containing
all transitions. The algorithm can be modi ed to keep at least one such cycle. It is
an open problem, whether a failure of the modi ed algorithm, i.e. the computed
relation is contradictory (not a partial order), means that required priorities do
not exist.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper we have investigated the possibility for obtaining a live and bounded
Petri net from a live and unbounded one by adding priorities. We have presented
necessary conditions for existence of such priorities. This conditions are not
sufcient, but help to exclude unsolvable cases. Then an algorithm for computing
transition priorities for transforming a live and unbounded Petri net into live
and bounded net by ascribing priorities to transition was developed. When
terminates successfully, this algorithm guarantees that computed priorities solve
the problem, i.e. the net with priorities is live and bounded. It's an open
problem, whether a solution exists, when the algorithm fails to compute consistent
priorities. The further research will concern this open problem and the study of
the existence of more e ective methods.</p>
      <p>Another challenging question { to translate the priorities into time intervals
or time durations for transitions. This problem is rather important for biological
systems, because priorities do not go with a primary eligibility criterion.</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 Work ow Nets: Classi cation, Decidability, and Analysis</article-title>
          .
          <source>Formal Aspects of Computing</source>
          ,
          <volume>23</volume>
          (
          <issue>3</issue>
          ):
          <volume>333</volume>
          {
          <fpage>363</fpage>
          , 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>: Soundness of Work ow Nets with an Unbounded Resource is Decidable</article-title>
          .
          <source>In: Joint Proc. of PNSE'13 and ModBE'13. CEUR Workshop Proceedings</source>
          , vol.
          <volume>989</volume>
          , pages
          <fpage>61</fpage>
          {
          <fpage>75</fpage>
          . CEUR-WS.org,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. 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
          <volume>110</volume>
          {
          <fpage>119</fpage>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. J. Desel: Schwach beschra
          <source>nkte Petrinetze. 12ter Workshop Algorithmen und Werkzeuge fur Petrinetze</source>
          ,
          <volume>29</volume>
          . -
          <fpage>30</fpage>
          .
          <year>September 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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 Work ow Nets</article-title>
          .
          <source>Fundamenta Informaticae</source>
          , Vol.
          <volume>79</volume>
          , No.
          <volume>3</volume>
          , pages
          <fpage>347</fpage>
          {
          <fpage>362</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>I. A.</given-names>
            <surname>Lomazova</surname>
          </string-name>
          <article-title>: Interacting Work ow Nets for Work ow Process Re-Engineering</article-title>
          .
          <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="ref7">
        <mixed-citation>
          7.
          <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>
          {
          <fpage>141</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. 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.
          <volume>541</volume>
          {
          <issue>580</issue>
          ,
          <string-name>
            <surname>April</surname>
          </string-name>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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 Work ow 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>
          {
          <fpage>72</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. 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="ref11">
        <mixed-citation>
          11.
          <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 in uence of time</article-title>
          . Talk, MaReBio, Marseille,
          <year>November 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. 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-list>
  </back>
</article>