<!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>Reversing Transitions in Bounded Petri Nets?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kamila Barylska</string-name>
          <email>kamila.barylska@mat.umk.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Evgeny Erofeev</string-name>
          <email>evgeny.erofeev@informatik.uni-oldenburg.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maciej Koutny</string-name>
          <email>maciej.koutny@newcastle.ac.uk</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Łukasz Mikulski</string-name>
          <email>lukasz.mikulski@mat.umk.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marcin Piątkowski</string-name>
          <email>marcin.piatkowski@mat.umk.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Mathematics and Computer Science, Nicolaus Copernicus University Toruń</institution>
          ,
          <addr-line>Chopina 12/18</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Parallel Systems, Department of Computing Science Carl von Ossietzky Universität D-26111 Oldenburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>School of Computing Science Newcastle University Newcastle upon Tyne</institution>
          ,
          <addr-line>NE1 7RU</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Reversible computation deals with mechanisms for undoing the effects of actions executed by a dynamic system. This paper is concerned with reversibility in the context of Petri nets which are a general formal model of concurrent systems. A key construction we investigate amounts to adding 'reverse' versions of selected net transitions. Such a static modification can severely impact on the behaviour of the system, e.g., the problem of establishing whether the modified net has the same states as the original one is undecidable. We therefore concentrate on nets with finite state spaces and show, in particular, that every transition in such nets can be reversed using a suitable set of new transitions.</p>
      </abstract>
      <kwd-group>
        <kwd>Petri net</kwd>
        <kwd>reversibility</kwd>
        <kwd>reversible computation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Reversible computation deals with (typically local) mechanisms for undoing the
effects of actions executed by a dynamic system. Such an approach has been
applied, in particular, to various kinds of process calculi and event structures
(see, e.g., [3–6, 8, 11, 12, 10]), and to a category theory based setting [7].</p>
      <p>This paper is concerned with reversibility in the context of Petri nets which are
a general formal model of concurrent systems. A key construction we investigate
amounts to adding ‘reverse’ versions of selected net transitions, e.g., a
‘straightforward’ reverse simply changes the directions of arcs adjacent to a transition
being reversed. As shown in [2], such a static modification can severely impact
on the behaviour of the system, e.g., the problem of establishing whether the
modified net has the same states as the original one is undecidable.
We therefore concentrate in this paper on Petri nets with finite state spaces,
more precisely bounded Place/Transition-nets (PT-nets). The state spaces of
such nets can be represented by finite labelled transition systems (flts’s) which
are a convenient tool for specifying different variants of reversibility. One can
therefore aim at synthesising a PT-net with ‘reversed’ behaviour given by an
flts.</p>
      <p>In this paper we show that it is, in general, impossible to reverse a transition
using its straightforward reverse. What is more, the situation does not change if
we relax the notion of a reverse by only requiring that the effect of its execution
is opposite to that of the original transition. We therefore relax the requirement
further, by allowing several reverses for a single transition. This leads to our
main result that every transition in a bounded PT-net can be reversed using
a suitable set of new transitions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <sec id="sec-2-1">
        <title>Transition systems</title>
        <p>A finite labelled transition system (or, simply, flts) is a tuple T S = (S; T; !; s0)
with a finite set of states S, a finite set of labels T , a finite set of arcs !
(S T S), and an initial state s0 2 S.4 A label t is fireable at s 2 S, denoted
by s[ti, if (s; t; s0) 2 !, for some s0 2 S. A state s0 is reachable from s through
the execution of 2 T , denoted by s[ is0, if there is a directed path from s to
s0 whose arcs are labelled consecutively by . The set of states reachable from s
is denoted by [si. A sequence 2 T is fireable, from a state s, denoted by s[ i,
if there is some state s0 such that s[ is0.</p>
        <p>Let tT S = fs 2 S j (s0; t; s) 2!; for some s0 2 Sg and tT S = fs 2 S j
(s; t; s0) 2!; for some s0 2 Sg be respectively the sets of all states having an
incoming arc labeled with t, and an outgoing arc labeled with t. The set of all
arcs labelled by t is denoted by !t . We assume that each !t is nonempty.
Two flts’s, T S1 = (S1; T; !1; s01 ) and T S2 = (S2; T; !2; s02 ), are isomorphic
if there is a bijection : S1 ! S2 with (s01 ) = s02 and (s; t; s0) 2 !1 ,
( (s); t; (s0)) 2 !2, for all s; s0 2 S1.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Petri nets</title>
        <p>A Place/Transition Petri net (or, simply, net ) is a tuple N = (P; T; F; M0),
4 An flts may be considered as a finite automaton with no accepting states.
where P is a finite set of places, T is a finite set of transitions (or actions), F is
the flow function F : ((P T ) [ (T P )) ! N specifying the arc weights, and
M0 is the initial marking (where a marking is a mapping M : P ! N, indicating
the number of tokens in each place). A transition t 2 T is enabled at a marking
M , denoted by M [ti, if M (p) F (p; t), for all p 2 P . The effect of a transition t
on a place p is e p(t) = F (t; p) F (p; t). The firing of t at marking M leads
to M 0, denoted by M [tiM 0, if M [ti and M 0(p) = M (p) + e p(t) for every p 2 P .
The notions of enabledness and firing, M [ i and M [ iM 0, are extended in the
usual way to sequences 2 T , and [M i denotes the set of all markings reachable
from M . We assume that each transition is enabled in at least one reachable
marking. There is a partial order relation &lt; on the markings of a Petri net defined
so that M M 0 if M (p) M 0(p), for every place p 2 P . It is easy to observe
that transition enabledness is monotonic, which means that if a transition t is
enabled at a marking M and M M 0, then t is also enabled at M 0.
A Petri net N = (P; T; F; M0) net is bounded if [M0i is finite, and its reachability
graph is then defined as an flts</p>
        <p>RG(N ) = ([M0i; T; f(M; t; M 0) j M; M 0 2 [M0i ^ M [tiM 0g; M0):
If a labelled transition system T S is isomorphic to the reachability graph of
a Petri net N , then we say that N solves T S, and T S is synthesisable to N .
Definition 1 (transition reverse). A (strict) reverse of a transition t 2 T in
a net N = (P; T; F; M0) is a new transition t such that F (p; t) = F (t; p) and
F (t; p) = F (p; t). An effect-reverse of a transition t 2 T is a new transition t
such that e p(t) = e p(t), for all places p 2 P .</p>
        <p>To improve readability, we depict newly created reverses and adjacent arcs by
dashed (or dotted) lines. Clearly, for a given transition t, its strict reverse t is
unique and, at the same time, it is an effect-reverse of t. However, an
effectreverse t is not necessarily a strict reverse (see Figure 1).</p>
        <p>a
2
2
a
a
2
2
a
(Un)solvable words
A word w = t1t2 : : : tn of length n 2 N uniquely corresponds to a labelled
transition system T S(w) = (f0; : : : ; ng; T; f(i 1; ti; i) j 0 &lt; i n ^ ti 2 T g; 0).
We say that a net N solves a word w if it solves T S(w). A word w is then called
solvable, and otherwise unsolvable.</p>
        <p>If a word w is solvable, then so are all its factors (where a factor w0 satisfies
w = vw0u, for some v and u). Thus, the unsolvability of any proper factor of w
entails the unsolvability of w. For this reason, the notion of a minimal unsolvable
word, defined as an unsolvable word with all proper factors being solvable, is
well-defined (see [1] for details).</p>
        <p>The mirror image wR of a word w is w written from right to left.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Solvability of flts’s with reverses</title>
      <p>We now define reverses for labelled transition systems, and investigate how they
affect the solvability of the resulting flts’s. We first introduce the notions of
reduction and extension of an flts.</p>
      <p>Definition 2 (flts reduction and extension). Let T S = (S; T; !; s0) be
a solvable flts.</p>
      <p>– The reduction of T S by deleting t 2 T is an flts T S[ t] = (S0; T n ftg; !0; s0)
such that:</p>
      <p>S0 S are all the states reachable in T S without using !t ;
(s1; a; s2) 2!0 if (s1; a; s2) 2!, for all a 6= t and s1; s2 2 S0.
– The extension of T S by reversing t 2 T is an flts T S[+t] = (S; T [ftg; !0; s0)
such that, for all s1; s2 2 S:
(s1; a; s2) 2!0 if (s1; a; s2) 2!, for all a 2 T ;
(s1; t; s2) 2!0 if (s2; t; s1) 2!.</p>
      <p>These above notions can be extended to finite sets of transitions, by setting
T S[ t1;t2:::tn] = T S[ t1][ t2]:::[ tn] and T S[+t1;t2:::tn] = T S[+t1][+t2]:::[+tn].</p>
      <p>N1 :
a
p2
p1
a
3
p4
2
p3
b
b
b</p>
      <p>T S0 :
b
a
b</p>
      <p>T S1 :
b
b
a
b b
b b
b
a
b b</p>
      <p>a
b
b</p>
      <p>T S2 :
b
b a
b
a</p>
      <p>b
a a
b
the dashed part), while T S1 = T S0[+b] is unsolvable.</p>
      <p>Consider a word w = bbbabab which, in Figure 2, corresponds to a solvable flts
T S0. If we add a reverse of transition a, we obtain T S2 which is solvable by N1.
We will later show that reversing transition b leads to an unsolvable flts T S1.
The a in Figure 2 is an effect-reverse but not a strict reverse of a. We will now
show that if a label a can be effect-reversed, i.e., T S[+a] is solvable, then there
exists a solution in which transition a is a strict reverse of a.</p>
      <p>Proposition 1. Let T S = (S; T; !; s0) be a solvable flts and a 2 T . If T S[+a]
is solvable then there exists its solution such that a is a strict reverse of a.</p>
      <p>N2 :
a
3
b
2</p>
      <p>2
p1
p2
b
b
b</p>
      <p>T S3 :
a
b
b
a
b
b</p>
      <p>T S4 :
b
b
a
b b</p>
      <p>a
b
b
Consider N2 of Figure 3 without the dashed part. It solves the word bbabab, and
so its reachability graph is isomorphic to T S3. Unlike the case with the reverse of
b in T S1, T S4 obtained from T S3 by adding a reverse for transition b is solvable
by N2 with dashed part. Note that, in N2, b is a strict reverse of b.
Similarly, we may reverse a in T S3, obtaining T S5 of Figure 4. This flts is solvable
by the net N3 with the dashed part.</p>
      <p>N3 :
a
2
p2
p3
p1
p4
a
2
b</p>
      <p>T S5 :
b
b a
a
a
b
b
a</p>
      <p>The next result states that for a given flts and two of its transitions, if adding
a reverse for each of them separately yields solvable flts’s, then the flts with both
reverses is also solvable.</p>
      <p>Proposition 2. Let T S = (S; T; !; s0) be a solvable flts and a 6= b 2 T . If both
T S[+a] and T S[+b] are solvable, then so is T S[+a;b].</p>
      <p>For T S = T S3 of Figure 3, by Proposition 2, starting from the solutions for
T S4 = T S[+a] and T S5 = T S[+b], we can construct a solution N4 for T S6 =
T S[+a;b] depicted in Figure 5.</p>
      <p>a</p>
      <p>2
N4 :
p2
p3
3
p1
p4
3
a
2
3
b
2
p5
p6
2
b
b
b</p>
      <p>T S6 :
b
b
a
a
b b
b a
b
a
Fig. 5. N4 solving T S6
of N2 and N3.</p>
      <p>=</p>
      <p>T S3[+a;b] derived by synchronising the transitions
We end this section looking at the solvability of words over a two-letter alphabet.
Proposition 3. Let w 2 fa; bg be a minimal unsolvable word. Then T S(wR)
is solvable.</p>
      <p>Due to Propositions 2 and 3, reversing of both transitions in the mirror image
wR of some minimal unsolvable word w over fa; bg yields solvability of w, which
is a contradiction. Hence, the following corollary holds
Corollary 1. Let w 2 fa; bg be a minimal unsolvable word and T S = T S(wR).
Then T S[+a] or T S[+b] is unsolvable.</p>
      <p>The above result explains why b in T S1 of Figure 2 cannot be reversed. All we
need to observe is that w = bbbabab is the mirror image of a minimal unsolvable
word bababbb, and then recall that a can be reversed in T S1.</p>
    </sec>
    <sec id="sec-4">
      <title>Splitting reverses</title>
      <p>In this section we discuss the possibility of "splitting" reverses. More specifically,
we investigate flts’s in which more than one reverse to a given transition can exist.
Consider N5 of Figure 6, together with its reachability graph T S7. First, we
observe that e b1 (p) = e b2 (p) = e b(p), for every place p. Hence, transitions
b1 and b2 are both effect-reverses for b. We have already seen that it is impossible
to synthesise an flts with just one reverse of b (i.e., T S1 of Figure 2), but the
behaviour of N5 is exactly what one might indeed want to obtain. The only
difference is that N5 has more than one reverse for b. In what follows, we show
that every action of a bounded net can be reversed using finitely many
effectreverses.</p>
      <p>N5 :
a
p3
2
p1
2
3
p2
3
b1
2</p>
      <p>T S7 :
2
2
b
b2
b2
b2
b2</p>
      <p>Definition 3 (splitting reverse). Let T S = (S; T; !; s0) be a solvable flts.
The extension of T S by a set T of reverses of t 2 T is an flts T S[+t ] =
(S; T 0; !0; s0) such that:
– : !t ! 2T n f;g is a mapping specifying all possible ways in which each of
t-labelled arcs can be reversed;
– T 0 = T [ T ;
– (s1; a; s2) 2!0 if (s1; a; s2) 2!, for any a 2 T ;
– (s1; t0; s2) 2!0 if (s2; t; s1) 2! and t0 2 ((s1; t; s2)).</p>
      <p>We also extend the above notion in the usual way to T S[+t1 1;t2 2;:::;tn n].
Lemma 1. Let N = (P; T; F; M0) be a bounded net, T S = ([M0i; T; !; M0)
be its reachability graph, and t 2= T be a new transition symbol. If a reachable
marking M is -maximal in [M0i and M 0 2 [M0i, then</p>
      <p>T S0 = ([M0i; T [ ftg; ! [f(M; t; M 0)g; M0)
is a solvable flts.</p>
      <p>Proof. Let N 0 = (P; T [ ftg; F 0; M0), where:</p>
      <p>F 0(p; a) = F (p; a) for all p 2 P and a 2 T
F 0(a; p) = F (a; p) for all p 2 P and a 2 T
F 0(p; t) = M (p) for every p 2 P</p>
      <p>F 0(t; p) = M 0(p) for every p 2 P .</p>
      <p>
        We then obtain that:
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) t is not enabled at any marking M 00 6= M reachable in N . Indeed, suppose
that there exists such a marking M 00. Then, by the definition of
enabledness, M 00(p) F 0(p; t) = M (p), for every p 2 P . Hence M 00 M , which
contradicts the -maximality of M .
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) M [tiM 0. This follows directly from the definition of F 0.
      </p>
      <p>
        We then observe that, by (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) and (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), the sets of reachable markings of the nets
N and N 0 are equal, and RG(N 0) = T S0.
tu
Lemma 1 states that to a given solvable flts (with a solution N = (P; T; F; M0))
one can always add a new edge (s; t(s;s0); s0), obtaining another solvable flts,
provided that s is a state corresponding to some marking M , which is -maximal
in [M0i, and t(s;s0) denotes the label of the edge from s to s0, such that t(s;s0) 2= T .
We will use this fact to prove the following theorem
Theorem 1. Let T S = (S; T; !; s0) be a solvable flts. Then, for every t 2 T ,
there exists a finite set T and a function : !t ! 2T n f;g such that T S[+t ] is
solvable.
      </p>
      <p>Proof. Let N = (P; T; F; M0) be a net solving T S. As T S is finite, N is bounded,
and so we can calculate a common bound n on the tokens in the reachable
markings for all the places, n = max(M (p) j M 2 [M0i; p 2 P ).</p>
      <p>We extend N to N 0 = (P [ P 0; T; F 0; M00 ) by adding complement places [9]
P 0 = fp0 j p 2 P g in such a way that, for all M 2 [M0i and p 2 P , we define
M 0, such that M 0(p) = M (p) and M 0(p0) = n M (p). This can be done by
inserting in the initial marking n M0(p) tokens into each p0 2 P 0, and setting
F 0(p0; a) = F (a; p) as well as F 0(a; p0) = F (p; a), for all p0 2 P 0 and a 2 T .
Since, for distict markings M1; M2 2 [M00 i, there exists a place p 2 P (in which
they differ) such that M1(p) &gt; M2(p) and M1(p0) &lt; M2(p0), or M2(p) &gt; M1(p)
and M2(p0) &lt; M1(p0), all distinct markings reachable in N 0 are -incomparable.
Hence all markings reachable in N 0 are -maximal in [M00 i. By the construction,
the reachability graph of N 0 is isomorphic to T S.</p>
      <p>We then construct T S0 by adding to T S a set T of j!t j new transitions in such
a way that, for every (p; t; q) 2!, we also add (q; t(q;p); p) 2!. We then define
a function : !t ! 2T n f;g in such a way that ((p; t; q)) = ft(q;p)g.
Finally, by repeatedly using Lemma 1 for the net N 0, we obtain that T S0 =
T S[+t ] is solvable.
The construction described in the proof of Theorem 1 will in most cases lead to
a substantial enlargement of the net, as the size of places is doubled, and the
number of newly created transitions is bounded by the size of the reachability
graph of the initial net. However, as illustrated by the example depicted in
Figure 6, there may also exist solutions that are much smaller. Hence, there is a
room for improvement of the suggested constructive technique.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Infeasibility for reversing</title>
      <p>To draw attention to another important issue, which becomes relevant during the
analysis of flts’s from the viewpoint of reversibility of transitions, let us consider
the following example.</p>
      <p>Suppose that one attempted to introduce a reverse for a in T S8 of Figure 7,
which can be solved by N6. Although there exists a (strict) reverse a in N6,
depicted in Figure 7, the meaning of a may be confusing. We cannot regard it as
an undoing of the executing of action a, since N6 can fire bca where a does not
occur at all. What is more, we can keep repeating the firing of bca indefinitely,
without executing a even once. To address this situation, we introduce the notion
of infeasibility for reversing.</p>
      <p>N6:</p>
      <p>a
b
a
c</p>
      <p>T S8:
a
a
b
c</p>
      <p>Definition 4. Let T S = (S; T; !; s0) be an flts. Then a 2 T is infeasible (for
reversing), if T S[+a] has a path starting from s0 with more occurrences of a
than a. Otherwise, a is feasible (for reversing).</p>
      <p>There is a straightforward necessary condition for being feasible for reversing.
Proposition 4. Let T S = (S; T; !; s0) be an flts and t 2 T . If T S[ t] has
a path from tT S [ fs0g to tT S then t is infeasible for reversing.
In general, the reversed implication does not hold. Take, for example, T S10 =
T S9[+a] of Figure 8. It has a path labelled acdaa, with more a’s than a’s, implying
the infeasibility for reversing of transition a in T S9. However, the reduction
of T S9 by deleting a, namely T S9[ a] has no path starting from aT S9 [ fs0g
to aT S . Note that T S10 and T S9 are both solvable (see N7 of Figure 8 with
or without dashed arcs, respectively). We will now show that one can always
N7:
a
a
2
2
2
2
b
c
d</p>
      <p>T S9:</p>
      <p>s0
T S10:
a
a
s0 a
b
b
c
c
a
a
a
d
a
d
a
a
Fig. 8. a is infeasible for reversing in T S9, even though T S9[ a] has no path from
aT S9 [ fs0g to aT S9 .
establish whether a label of an flts is (in)feasible for reversing. To this end,
formulate the following decision problem:</p>
      <sec id="sec-5-1">
        <title>Feasibility for Reversing Problem</title>
        <p>Instance: An flts T S = (S; T; !; s0) and t 2 T .</p>
        <p>Question: Is t feasible for reversing in T S?
Proposition 5. The Feasibility for Reversing Problem is decidable.
Proof (Sketch of the algorithm.).</p>
        <p>The following algorithm reduces the problem of checking the feasibility of a
transition for reversing to the problem of finding shortest paths in a weighted
digraph.</p>
        <p>Input: An flts T S = (S; T; !; s0) and t 2 T .</p>
        <p>Output: YES if t is feasible for reversing in T S; otherwise NO.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Procedure:</title>
        <p>1. Compute a weighted graph G = (V; E; w) on the basis of the extension
T S[+t] = (S; T [ ftg; !0; s0) of T S, in the following way (for all s; s0 2 S,
a 2 T [ ftg):
– V = S;
– (s; s0) 2 E if (s; a; s0) 2!0;
– w((s; s0)) = &lt;8 11 iiff ((ss;; tt;; ss00)) 22!!00</p>
        <p>: 0 otherwise.
tu
For a transition system consisting of n states the preprocessing phase (step 1)
can be done in time O(n2). The computation of step 2 can be performed in time
O(n3) (basing on Bellman-Ford algorithm). Therefore the overall complexity of
the algorithm is O(n3).
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Concluding remarks</title>
      <p>In this paper, we have investigated reversibility of transitions in bounded nets. In
particular, we have shown that each transition in such nets can be reversed using
a suitable set of new transitions, but not necessarily a single reverse transition.
In future, we plan to investigate ways in which the generation of sets of reverses
could be optimised.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>
        We thank Uli Schlachter for assistance with preliminary tests and for adding
new modules to APT. We are also grateful to all anonymous reviewers for their
constructive comments.
7. Vincent Danos, Jean Krivine, and Pawel Sobocinski. General reversibility.
Electronic Notes Theoretical Computer Science, 175(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ):75–86, 2007.
8. Ivan Lanese, Claudio Antares Mezzina, and Jean-Bernard Stefani. Reversing
higher-order Pi. In Proceedings of 21th International Conference on Concurrency
Theory (CONCUR’10), volume 6269 of Lecture Notes in Computer Science, pages
478–493. Springer, 2010.
9. Tadao Murata. Petri nets: Properties, analysis and applications. Proceedings of
the IEEE, 77:541 – 580, 1989.
10. Iain Phillips and Irek Ulidowski. Reversing algebraic process calculi. Journal of
      </p>
      <p>
        Logic and Algebraic Programming, 73(
        <xref ref-type="bibr" rid="ref1 ref2">1-2</xref>
        ):70–96, 2007.
11. Iain Phillips and Irek Ulidowski. Reversibility and asymmetric conflict in event
structures. Journal of Logic and Algebraic Methods in Programming, 84(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ):781–
805, 2015.
12. Iain Phillips, Irek Ulidowski, and Shoji Yuen. A reversible process calculus and
the modelling of the ERK signalling pathway. In Proceedings of 4th Workshop
on Reversible Computation (RC’12), volume 7581 of Lecture Notes in Computer
Science, pages 218–232. Springer, 2012.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Kamila</given-names>
            <surname>Barylska</surname>
          </string-name>
          , Eike Best, Evgeny Erofeev, Łukasz Mikulski, and
          <string-name>
            <given-names>Marcin</given-names>
            <surname>Piątkowski</surname>
          </string-name>
          .
          <article-title>On binary words being Petri net solvable</article-title>
          .
          <source>Proceedings of the International Workshop on Algorithms &amp; Theories for the Analysis of Event Data, ATAED</source>
          <year>2015</year>
          ,
          <volume>1371</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Kamila</given-names>
            <surname>Barylska</surname>
          </string-name>
          , Maciej Koutny, Łukasz Mikulski, and
          <string-name>
            <given-names>Marcin</given-names>
            <surname>Piątkowski</surname>
          </string-name>
          .
          <article-title>Reversible computation vs. reversibility in Petri nets</article-title>
          .
          <source>Reversible Computation - 8th International Conference, RC</source>
          <year>2016</year>
          , Proceedings,
          <volume>9720</volume>
          :
          <fpage>105</fpage>
          -
          <lpage>118</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Gérard</given-names>
            <surname>Berry</surname>
          </string-name>
          and
          <string-name>
            <given-names>Gérard</given-names>
            <surname>Boudol</surname>
          </string-name>
          .
          <article-title>The chemical abstract machine</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>96</volume>
          (
          <issue>1</issue>
          ):
          <fpage>217</fpage>
          -
          <lpage>248</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Luca</given-names>
            <surname>Cardelli</surname>
          </string-name>
          and
          <string-name>
            <given-names>Cosimo</given-names>
            <surname>Laneve</surname>
          </string-name>
          .
          <article-title>Reversible structures</article-title>
          . In François Fages, editor,
          <source>Proceedings of 9th International Computational Methods in Systems Biology (CMSB'11)</source>
          , pages
          <fpage>131</fpage>
          -
          <lpage>140</lpage>
          . ACM,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Vincent</given-names>
            <surname>Danos</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jean</given-names>
            <surname>Krivine</surname>
          </string-name>
          .
          <article-title>Reversible communicating systems</article-title>
          .
          <source>In Proceedings of 15th International Conference on Concurrency Theory (CONCUR'04)</source>
          , volume
          <volume>3170</volume>
          of Lecture Notes in Computer Science (LNCS), pages
          <fpage>292</fpage>
          -
          <lpage>307</lpage>
          . SpringerVerlag (New York),
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Vincent</given-names>
            <surname>Danos</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jean</given-names>
            <surname>Krivine</surname>
          </string-name>
          .
          <article-title>Transactions in RCCS</article-title>
          .
          <source>In Proceedings of 16th International Conference on Concurrency Theory (CONCUR'05)</source>
          , volume
          <volume>3653</volume>
          of Lecture Notes in Computer Science (LNCS), pages
          <fpage>398</fpage>
          -
          <lpage>412</lpage>
          . Springer-Verlag (New York),
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>