<!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>Synthesis of bounded Petri Nets from Prime Event Structures with Cutting Context using Wrong Continuations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Robert Lorenz</string-name>
          <email>robert.lorenz@informatik.uni-augsburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Johannes Metzger</string-name>
          <email>johannes.metzger@informatik.uni-augsburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lev Sorokin</string-name>
          <email>lev.sorokin@informatik.uni-augsburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science University of Augsburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>21</fpage>
      <lpage>38</lpage>
      <abstract>
        <p>We consider the problem of synthesizing a bounded place / transition Petri net from a labelled prime event structure with cutting context, which actually is the most expressive notion for the specification of the nonsequential behaviour of concurrent systems allowing for a solution of the Petri net synthesis problem. The existing solution method is mainly of theoretical value and not applicable in practise in general. As a step towards practical application we develop an algorithm solving the synthesis problem using the technique of wrong continuations. We give a characterization of exact solutions, present an implementation of the algorithm and show first experimental results.</p>
      </abstract>
      <kwd-group>
        <kwd>Synthesis</kwd>
        <kwd>Region Theory</kwd>
        <kwd>Petri Net</kwd>
        <kwd>Prime Event Structure</kwd>
        <kwd>Cutting Context</kwd>
        <kwd>Token Flow</kwd>
        <kwd>Wrong Continuation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] the authors present a theory for the token flow region based synthesis of bounded
place/transition Petri nets from labelled prime event structures (LPES) associated with
a cutting context. The presented results generalize earlier results on the synthesis of
Petri nets from partial languages [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], since they extend the class of non-sequential
behaviour, for which Petri nets can be synthesized.
      </p>
      <p>
        As usual in region based theory, the places of the synthesized net are computed as
non-negative integral solutions of a linear inequation sys tem. As mentioned in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], it
is immediately possible to construct a concrete synthesis algorithm from the presented
theory using the so called basis representation of this inequation system. But, as
experiences in the context of partial languages show, the basis representation in general
produces complex-structured nets and leads to algorithms with inefficient run-time [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4 ref5">1–5</xref>
        ].
Moreover, it is not possible to decide directly, whether the synthesized net is an exact
solution, and there are no parameters which can be used to influence the synthesis
result. That means, the framework from [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is mainly of theoretical value and, in general,
not suitable for application in practise.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] also another representation, the separation representation based on so called
wrong continuations, is presented. It is shown that the separation representation results
in more efficient synthesis algorithms computing simpler nets. Moreover, it can be
deduced directly, whether the synthesized net is an exact solution, and there are several
parameters for fine tuning the algorithm.
      </p>
      <p>
        As a step towards practical application we adapt the technique of wrong
continuations from [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to the synthesis approach from [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and present an implementation which
allows to adjust the computation w.r.t. several parameters. The paper is organized as
follows: In section 2 we introduce basic mathematical notions. Then we briefly recall
the synthesis approach from [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] in section 3 and define the separation representation
based on wrong continuations for this approach in section 4. In section 5 we present the
resulting synthesis algorithm together with an implementation. Finally, we show
experimental result through applying the algorithm to the unfoldings of several example Petri
nets in section 6.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Basic Notions</title>
      <p>We use N to denote the set of non-negative integers . A multiset over a set A is a function
m : A → N. For an element a ∈ A the number m(a) determines the number of
occurrences of a in m. Addition + on multisets is defined by (m + m′)(a) = m(a) +
m′(a). The relation ≤ between multiset is defined through m ≤ m′ ⇐⇒ ∃m′′(m +
m′′ = m′). In case m(a) &gt; 0 we also write a ∈ m. The multiset m satisfying ∀a ∈ A :
m(a) = 0 we call empty multiset.</p>
      <p>Given a binary relation R ⊆ A × A over A, the symbol R+ denotes the transitive
closure of R. A directed graph is a tuple G = (V, →), where V is its set of nodes and
→⊆ V × V is its set of arcs. As usual, given a binary relation →, we write v → w
to denote (v, w) ∈→. In this case, v is called pre-node of w and w is called post-node
of v. For v ∈ V we denote by • v = { w ∈ V | w → v} the preset of v, and by
v• = { w ∈ V | v → w} the postset of v.</p>
      <p>A partial order is a directed graph (V, &lt;), where &lt;⊆ V × V is an irreflexive and
transitive binary relation. In the context of this paper, a partial order is interpreted as
an ”earlier than”-relation between events. A node v is called maximal if v• = ∅, and
minimal if • v = ∅. A subset W ⊆ V is called left-closed if ∀v, w ∈ V : (v ∈ W ∧ w &lt;
v) =⇒ w ∈ W. For a left-closed subset W ⊆ V , the partial order (W, &lt;| W × W ) is called
prefix of (V, &lt;), defined by W . The set S(W ) = { v ∈ V \ W | w &lt; v =⇒ w ∈ W } is
the set of the direct successors of the prefix defined by W . The left-closure of a subset
W is given by the set W ∪ { v ∈ V | ∃ w ∈ W : v &lt; w} . Given two partial orders
po1 = (V, &lt;1) and po2 = (V, &lt;2), we say that po2 is a sequentialization of po1 if
&lt;1⊆ &lt;2 (note that a sequentialization in general does not refer to a total order or a
sequence; a sequentialization being a total order is called a linearization). By &lt;s⊆ &lt;
we denote the smallest subset &lt;s of &lt; which fulfils (&lt;s)+ = &lt;, called the skeleton of
&lt;. The distance d(u, w) between two nodes u, w of partial order (V, &lt;) with u &lt; w is
defined by d(u, w) := min{ n | u = v0 &lt;s v1 . . . &lt;s vn = w} .</p>
      <p>
        A labelled partial order (LPO) over T is a triple (V, &lt;, l), where (V, &lt;) is a partial
order, and l : V → T is a labelling function on V . We use all notations defined for
partial orders also for LPOs. For a finite subset W ⊆ V , we define the multiset l(W )
by l(W )(x) = |{ v ∈ W | l(v) = x}| . LPOs are used to represent partially ordered runs
of Petri nets. Such runs are distinguished only up to isomorphism [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>A net is a triple N = (P, T , F ), where P is a set of places, T is a set of transitions,
satisfying P ∩ T = ∅, and F ⊆ (P ∪ T ) × (T ∪ P ) is a flow relation. Places and
transitions are called the nodes of N .</p>
      <sec id="sec-2-1">
        <title>Definition 1 (Place/transition-net). A place/transition-net (p/t-net ) N is a quadruple</title>
        <p>(P, T , F, W ), where (P, T , F ) is a net with finite sets of places and transitions, and
W : F → N \ { 0} is a weight function. A marking of a p/t-net N = (P, T , F, W ) is a
function m : P → N. A marked p/t-net is a pair (N, m0), where N is a p/t-net, and m0
is a marking of N , called initial marking.</p>
        <p>We extend the weight function W to pairs of net elements (x, y) ∈ (P × T )∪(T × P )
satisfying (x, y) 6∈ F by W (x, y) = 0. A multiset of transitions is called a transition
step. A transition step τ is enabled to occur in a marking m of N if ∀p ∈ P : m(p) ≥
Pt∈T τ (t)· W ((p, t)). If τ is enabled to occur in a marking m, then its occurrence leads
to the new marking m′ defined by m′(p) := m(p)+Pt∈T τ (t)· (W ((t, p))−W ((p, t)))
for all p ∈ P .</p>
        <p>An LPO lpo = (V, &lt;, l) over T is enabled to occur in a marking m of N if
m(p) + Pv′∈V ′ (W (l(v′), p) − W (p, l(v′))) ≥ Pv∈S(V ′) W (p, l(v)) for each
prefix lpo′ = (V ′, &lt;, l) of lpo and each place p. If lpo is enabled to occur in a marking
m, then its occurrence leads to the new marking m′ defined by m′(p) := m(p) +
Pv∈V (W (l(v), p) − W (p, l(v))) for all p ∈ P .</p>
        <p>
          We use labelled prime event structures (LPES) to represent the non-sequential
behaviour of p/t-nets. An LPES consists of a set of events label led with action names,
a partial order representing an “earlier than”-relation be tween events and a set of
socalled consistency sets, where left-closed consistency se ts represent single runs of a
net. Events which are never in the same consistency set are assumed to be in conflict
and to belong to alternative runs. Labels of events represent transition names.
Definition 2 (Labelled prime event structure [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]). A prime event structure (PES) is
a triple pes = (E, Con, ≺) consisting of a set E of events, a partial order ≺ on E and
a set Con of finite subsets of E satisfying:
– ∀e ∈ E : { e′ | e′ ≺ e} is finite.
– ∀e ∈ E : { e} ∈ Con.
– Y ⊆ X ∈ Con =⇒ Y ∈ Con.
– ∀e ∈ E : ((X ∈ Con) ∧ (∃e′ ∈ X : e ≺ e′)) =⇒ (X ∪ { e} ∈
Con).
        </p>
        <p>The elements of Con are called consistency sets. An inifinite set X is a consistent subset
of E if ∀Y ⊆ X, Y finite : Y ∈ Con. The conflict relation # between events of pes is
defined by e#e′ ⇔ { e, e′} 6∈ Con.</p>
        <p>A tuple (E, Con, ≺, l), where (E, Con, ≺) is a PES and l : E → T is a labelling
function on E, is called labelled prime event structure (LPES) over T .</p>
        <p>
          As LPOs, LPES are distinguished only up to isomorphism [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. An LPES, where its
whole set of events E forms a consistent set, we interpret as an LPO, i.e. in this case
we omit the set of consistency sets Con. We denote the set of left-closed consistency
sets of an LPES lpes = (E, Con, ≺, l) by Conpre ⊆ Con. If C ∈ Conpre is a
leftclosed consistency set, then lpoC = (C, ≺| C× C , l| C ) is an LPO which we interpret
as a run given by lpes. We define the partial language corresponding to lpes as the
sequentialization closure of { lpoC | C ∈ Conpre} . For every event e ∈ E, the left
closure of { e} is a finite left-closed consistency set, which is called a local consistency
set and is denoted by [e].
        </p>
        <p>For a set of events E′ and C ∈ Conpre we denote by C ⊕ E′ the set C ∪ E′, if
C ∪ E′ ∈ Conpre and C ∩ E′ = ∅. If E′ = { e} , we also write C ⊕ e to denote C ⊕ { e} .
Such an E′ is a suffix of C, and C ⊕ E′ is an extension of C. Let C, D ∈ Conpre with
C ⊆ D. The set SD(C) = { v ∈ D \ C | w ≺ v =⇒ w ∈ C} is the set of the direct
successors of C in D. For a left-closed subset F ⊆ E and a subset of consistency sets
Con′F ⊆ ConF := { C ∈ Con | C ⊆ F } satisfying the properties of the definition
of LPES, the LPES (F, Con′F , ≺| F× F , l| F ) is called prefix of the LPES (E, Con, ≺, l),
defined by F and Con′F .</p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] the so-called token flow unfolding of a p/t-net, repres enting its non-sequential
behaviour, is presented. The token flow unfolding is based on an LPES equipped with
so-called token flows. Let lpes = (E, Con, ≺, l) be an LPES and N = (P, T , F, W, m0)
be a marked p/t-net. We interpret lpes as a model of the behaviour of N , where the
events in E represent transition occurrences. A token flow function x :≺→ NP is a
function assigning multisets of places of N to the arcs of lpes. For an arc (e, e′)
between transition occurrences e and e′ the multiset x(e, e′) is intended to represent the
token flow between these transition occurrences, that is to represent for each place the
number of tokens which are produced by e and then consumed by e′. For a token flow
function x, a consistency set C ∈ Conpre and an event e ∈ C we denote
– IN x(e) := Pe′≺e x(e′, e) the x-intoken flow of e.
– OU TCx(e) := Pe≺e′, e′∈C x(e, e′) the x-outtoken flow of e w.r.t. C.
        </p>
        <p>A prime token flow event structure is an LPES together with a token flow function.
Since equally labelled events represent different occurrences of the same transition, they
are required to have equal intoken flow. Since not all tokens which are produced by an
event are consumed by further events, there is no such requirement for the outtoken
flow. It is assumed that there is a unique initial event producing the initial marking.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Definition 3 (Prime token flow event structure [6] ). A prime token flow event struc</title>
        <p>ture over T is a pair (lpes, x), where lpes = (E, Con, ≺, l) has a unique minimal event
einit with ∀e 6= einit : l(einit) 6= l(e) and l(E \ { einit} ) ⊆ T and x :≺→ NP is a
token flow function with ∀e, e′ ∈ E : l(e) = l(e′) ⇒ IN x(e) = IN x(e′).</p>
        <p>
          Two events are called strongly identical (w.r.t. a token flow function), if they are
labelled with the same action name and depend on the same events with identical token
flow. In [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] it is shown that strongly identical events which are in conflict always lead
to isomorphic processes.
        </p>
        <p>
          Definition 4 (Strongly identical events [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] ). Let ((E, Con, ≺, l), x) be a prime token
flow event structure. Two events e, e′ ∈ E fulfilling (l(e) = l(e′)) ∧ ( • e = • e′) ∧ (∀f ∈
• e : x(f, e) = x(f, e′)) are called strongly identical.
        </p>
        <p>A token flow unfolding of a marked p/t-net is a prime token flow e vent structure,
in which intoken and outtoken flows are consistent with the arc weights resp. the initial
marking of the net within each left-closed consistency set. It is also required that the
token flow on a skeleton arc may not be zero, that means only real causal dependencies
are represented in an unfolding.</p>
        <p>
          Definition 5 (Token flow unfolding [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] ). Let (N, m0), N = (P, T , F, W ), be a
marked p/t-net. A token flow unfolding of (N, m0) is a prime token flow event structure
(lpes, x) over T , lpes = (E, Con, ≺, l), satisfying:
– (Uin): ∀e 6= einit, ∀p ∈ P : IN x(e)(p) = W (p, l(e)).
– (Uout): ∀C ∈ Conpre, ∀e ∈ C \ { einit} , ∀p ∈ P : OU TCx(e)(p) ≤ W (l(e), p).
– (Uinit): ∀C ∈ Conpre, ∀p ∈ P : OU TCx(einit)(p) ≤ m0(p).
– (Umin): ∀(e, e′) ∈≺s: (∃p ∈ P : x(e, e′)(p) ≥ 1).
– (Uid): There are no strongly identical events e, e′ (w.r.t. x) satisfying { e, e′} 6∈
Con.
        </p>
        <p>
          Token flow unfoldings are distinguished only up to isomorphism [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. There exists
a maximal (in general infinite) token flow unfolding Unf max(N, m0) (w.r.t. a given
prefix relation, see [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] for details), which is unique up to isomorphism. For each finite
left-closed consistency set C of Unf max, the LPO lpoC is a run of N and for each run
lpo of N there is a left-closed consistency set C of Unf max with lpo = lpoC . For each
finite left-closed consistency set C of Unf max the multiset of places
        </p>
        <p>Mark(C)(p) := m0(p) +</p>
        <p>X(W (l(e), p) − W (p, l(e)) (p ∈ P )
e∈C
is a reachable marking of (N, m0), called the final marking of C. Every final
marking in Unf max is reachable in (N, m0), and every reachable marking is a final marking
in Unf max.</p>
        <p>
          Since the maximal unfolding is infinite whenever the original net has infinite
behaviour, there are approaches for constructing finite and complete prefixes. The
essential feature of the existing unfolding algorithms computing finite, complete prefixes is
the use of cutoff events, beyond which the unfolding can be truncated without loss of
information. In [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] a parametric setup, called cutting context, is proposed in which
completeness and cutoff events can be discussed in a uniform, general and
algorithmindependent way (in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] the concept of cutting context was adapted to token flow
unfoldings). In the following, we briefly recall the notions which are relevant in the context
of this paper.
        </p>
        <p>Let Unf max be the maximal token flow unfolding of a marked p/t-net (N, m0). We
denote by Con and Conpre the sets of consistency sets and left-closed consistency se ts
of Unf max. A cutting context is a triple Θ = (≈, ⊳, { Ce} e∈E ), where:
1. ≈ is an equivalence relation on Conpre, capturing the information which is intended
to be retained in a complete prefix. In the standard case ≈=≈mar, this is the set of
reachable markings, i.e. C ≈mar C′ if Mark(C) = Mark(C′).
2. ⊳ is a so-called adequate order on Conpre which refines ⊂. All ⊳-minimal
leftclosed consistency sets in each equivalence class of ≈ will be preserved in a
complete prefix (in algorithms, ⊂ is often used directly).
3. ≈ and ⊳ are preserved by finite extensions of left-closed consisten cy sets.
4. { Ce} e∈E is a family of subsets of Conpre specifying the set of left-closed
consistency sets used to decide whether an event can be designated as a cutoff event. In
the standard case, Ce contains the local consistency sets of Unf max.</p>
        <p>Roughly spoken, a prefix of Unf max is complete, if each equivalence class w.r.t.
≈ is represented once in it. Hence, for the relation ≈mar, each reachable marking is
represented by a left-closed consistency set of a complete p refix.</p>
        <p>
          With these notions, cutoff events can be defined in a ”static way” without referring
to a specific algorithm building the unfolding. The set CutOff of static cutoff events is
defined together with the set Feas of feasible events. Feasible events are precisely those
events whose causal predecessors are not cutoff events, and as such must be included
in the prefix determined by the static cutoff events. An event e is a static cutoff event,
if it is feasible, and there is C ∈ Ce such that C ⊆ Feas \ CutOff, C ≈ [e], and
C ⊳ [e]. The token flow unfolding Unf Θ defined by the set of events Feas is called the
canonical prefix of Unf max. In [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] it is shown that Unf Θ is complete, finite and uniquely
determined by the cutting context Θ, if (N, m0) is bounded, { Ce} e∈E contains all local
left-closed consistency sets and ≈=≈mar. As argued in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], it is also possible to use ⊂
instead of ⊳. Although ⊂ does not fulfill the third property of a cutting context, there is
a canonical prefix w.r.t. ⊂.
context. For simplicity, in the rest of the paper we use a cutting context with ≈=≈mar
and ⊂ instead of a general adequate order ⊳. All definitions and theorems can easily be
generalized to other choices of ≈ and ⊳.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Synthesis from labelled prime event structures</title>
      <p>
        In this section we briefly recall the synthesis approach from [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] the authors follow
the traditional region based synthesis approach: Given a specification of the behaviour
of a system based on runs over a finite set of action names, the action names are used
as the transitions of the searched Petri net. It remains to find a suitable finite set of
places, each place with initial marking and connections via arcs and arc-weights to all
transitions. Places are found in a three-step-approach:
– First, the set of feasible places is defined. A place is feasible, if it does not prohibit
some of the specified behaviour. The set of feasible places usually is infinite.
– Second, so called regions of the specification are defined as non-negative integral
solutions of a linear homogenous equation system A · x = 0, such that each region
defines a feasible place and each feasible place is defined by a region. The rows of
this equation system we call constraints.
– Third, a finite representation, i.e. a finite set of regions representing the infinite set
of all regions, is constructed. While in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] the so-called ba sis representation is used,
in this paper we will employ the so-called separation repres entation (details later).
      </p>
      <p>
        In this paper we use the finite representation of the non-sequ ential behaviour of a
concurrent system from [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] as input for the synthesis of p/t- nets. This representation is
more expressive and more compact than earlier presented models for this purpose, as for
example LPO-terms and partial languages [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. In particula r, it may represent the
nonsequential behaviour of arbitrary bounded p/t-nets. The ba sic idea for this representation
is to use a finite LPES representing a finite set of runs together with cutoff events in
order to specify repeated behaviour. A cutoff event is a maximal event of the LPES
indicating that a repeated marking is reached, which was already seen before.
      </p>
      <sec id="sec-3-1">
        <title>Definition 6 (LPES with cutoff-list [9]). An LPES with cutoff list is a finite LPES</title>
        <p>lpes = (E, Con, ≺, l) together with a finite cutoff-list Cut = (Di, ei)i∈I consisting of
maximal events ei ∈ E and left-closed consistency sets Di with Di ⊂ [ei] (with some
finite index set I). We assume that lpes has a unique minimal event e0 with empty label.</p>
        <p>An example of an LPES with cutoff-list is shown in Figure 1. In general, each
LPES underlying the complete finite prefix of the maximal unfolding of a bounded
p/tnet together with its list of cutoff events (ei)i∈I and the set of consistency sets (Di)i∈I
with [ei] ≈ Di forms an LPES with cutoff list. We will use an LPES with cutoff-list
to synthesize a p/t-net having the runs specified by lpes and satisfying Mark(Di) =
Mark([ei]) for each i. An LPES with cutoff-list serves as a finite specification of a n
infinite LPES, a so-called completion.</p>
        <p>Definition 7 (Completion). Let lpes = (E, Con, ≺, l) be an LPES with cutoff-list
Cut = (Di, ei)i∈I . A completion of (lpes, Cut) is an LPES lpes′ = (E′, Con′, ≺′, l′)
with the following properties:
1. lpes is a prefix of lpes′.
2. If C ∈ Conpre such that ∀i : ei 6∈ C, and C ⊕ e ∈ Con′pre for some event e, then</p>
        <p>C ⊕ e ∈ Conpre.
3. Let ≈ be the smallest equivalence relation on Con′pre satisfying:
(a) [ei] ≈ Di for each i.
(b) ≈ is preserved by finite extensions.</p>
        <p>Then ≈ satisfies:
(c) If C′ ∈ Con′pre, then there is C ∈ Conpre such that ∀i : ei 6∈ C and C′ ≈ C.
(d) For C′ ≈ C′′ and each extension E′ = { e′} of C′ there is an extension E′′ =
{ e′′} of C′′ with l′(e′) = l′(e′′) (note that this property is symmetric).</p>
        <p>
          This definition is stronger than the one given in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] concerning the requirements 2.
and 3.(c). We need these additional requirements in order to prove the main theorem
giving a characertization of exact solutions (which were not considered in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]).
        </p>
        <p>As an example, the maximal unfolding of a bounded p/t-net is a completion of
its complete finite prefix using ≈=≈mar. The equivalence relation ≈ represents the
reachable states and it is required that all reachable states are represented in lpes. The
cutoff-list Cut = (Di, ei)i∈I specifies that exactly the extensions of Di should also
be possible extensions of [ei] in a completion. Note that not all maximal events of lpes
need to be cutoff events. If a maximal event e is not a cutoff event, then the final marking
of [e] is intended not to enable any further transition occurrence. In the rest of the paper
we consider the following formal problem statement:
– Given: A finite LPES lpes = (E, Con, ≺, l) over a finite alphabet of transition
names T together with a cutoff-list Cut = (Di, ei)i∈I .
– Searched: A marked p/t-net (N, m0) with set of transitions T such that the
partial language corresponding to its unfolding is minimal with the property, that it
includes the partial language corresponding to a completion of (lpes, Cut).</p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] the authors moreover require, that the unfolding of the synthesized net has
a strong structural relationship to a completion of (lpes, Cut) (called preservation of
prefixes and concurrency), which we do not need to consider here.
        </p>
        <p>
          In order to present the constraints of the equation system defining a feasible place
p (resp. a region), we denote by E = { e0, . . . , en} the list of events, by { C0, . . . , Cm}
the list of left-closed consistency sets which are maximal w .r.t. the subset-relation and
by { t0, . . . , tl} the list of transitions. The table 1 shows the variables together with their
constraints and their interpretation as used in the approach of [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. In contrast to [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] we
use additional variables which directly represent the parameters of the defined place
p (initial marking m0(p), flow weights W (p, t) and W (t, p)). The required equations
Mark(Di)(p) = Mark([ei])(p) can be directly encoded using the above variables.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Separation representation and wrong continuations</title>
      <p>
        In this section we adapt the notions of wrong continuations and separation
representation w.r.t. partial language based specifications [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to LPES based specifications as
inj = Pei≺ej ai,j
tokens produced by ei w.r.t. Ck for outi,k = ri,k + Pej∈Ck, ei≺ej ai,j
ei ∈ Ck
initial marking of the place (m = m = out0,k for each k
m0(p))
tokens consumed by th (pth = pth = inj for each j with l(ej ) = th
W (p, th))
tokens produced by th (tph = tph = outi,k for each i with l(ei) = th
W (th, p)) and k with ei ∈ Ck
the marking after execution of [ei] Mark(Di)(p) = Mark([ei])(p)
equals the marking after execution
of Di for each pair (Di, ei) ∈ Cut
considered in this paper. As the main result of this paper, we give a characterization of
exact solutions of the synthesis problem.
      </p>
      <p>
        In the following we denote by x a region as defined in the previous section (that
means an integral non-negative solution of the equation sys tem presented in the
previous section) and by px the place defined by x. An idea to get a finite representation is to
separate behavior specified by (lpes, Cut) from behavior not specified by (lpes, Cut)
by a finite set of regions (see [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] in the context of partial languages). The resulting
representation is called separation representation. To derive a separation
representation, an appropriate finite set { lpo1, . . . , lpoo} of LPOs with the following properties is
defined:
– The LPOs lpoi are not runs specified by (lpes, Cut)
– Each LPO lpoi extends a run specified by (lpes, Cut) by one event.
Then for each lpoi one tries to find a region x such that px prohibits lpoi (that means
lpoi is not a run w.r.t. px). If such a region exists, px is added to the separation
representation. The LPOs lpoi are called wrong continuations. The aim is to define them in such
a way that an exact solution of the synthesis problem exists if and only if each wrong
continuation can be prohibited by a place. A solution (N, m0) is an exact solution, if it
does not have runs which are not specified by (lpes, Cut).
      </p>
      <p>Definition 8 (Exact solution). A solution (N, m0) of the considered synthesis problem
is called exact solution, if the partial language corresponding to its maximal unfolding
equals the partial language corresponding to a completion of (lpes, Cut).</p>
      <p>For example, a bounded p/t-net is an exact solution w.r.t. th e specification given by
the complete finite prefix of its maximal unfolding. Formally we split a wrong
continuation into a prefix belonging to the partial language of lpes, a subsequently enabled
step of transitions and an additional transition which should be prohibited.
Definition 9 (Wrong continuation). Let lpes = (E, Con, ≺, l) be a finite LPES over
a finite alphabet of transition names T together with a cutoff-list Cut = (Di, ei)i∈I .</p>
      <p>A wrong continuation of (lpes, Cut) is a triple (C, τ, t), where
– C is a left-closed consistency set C of lpes such that lpoC does not contain a cutoff
event (∀i : ei 6∈ C).
– There is a maximal consistency set D of lpes with C ⊆ D, τ ≤ l(SD(C)) and
τ (t) = l(SD(C))(t) (τ may be the empty multiset).
– There is no maximal consistency set D′ of lpes with C ⊆ D′, τ ≤ l(SD′ (C)) and
τ (t) &lt; l(SD′ (C))(t).</p>
      <p>We call lpoC the prefix and τ the follower step of the wrong continuation.</p>
      <p>According to the specification (lpes, Cut), the prefix lpoC of a wrong
continuation (C, τ, t) leads to marking enabling τ , but not enabling τ + t. Some of the wrong
continuations of (lpes, Cut) shown in Figure 1 are: w1 = ({ e0} , {} , b) (prohibiting b
in the initial marking), w2 = ({ e0} , {} , d) (prohibiting d in the initial marking) and
w3 = ({ e0} , { e1} , a) (prohibiting 2a in the initial marking).</p>
      <p>Theorem 1. A solution (N, m0) of the considered synthesis problem is an exact
solution if and only if for each wrong continuation (C, τ, t) of (lpes, Cut) the prefix lpoC
leads to marking not enabling τ + t.</p>
      <p>Proof. Let (lpesu, x) be the maximal token flow unfolding of (N, m0) and lpesc be
a completion of (lpes, Cut) such that the partial language corresponding to lpesu
includes the partial language corresponding to lpesc.</p>
      <p>”if”: Assume that (N, m0) is not an exact solution. Let lpo = (V ∪ { e} , ≺, l)
belong to the partial language corresponding to lpesu, but not to the partial language
corresponding to lpesc, such that (V, ≺, l) belongs to the partial language corresponding
to lpesc. Let ≈ be the equivalence relation on lpesc from the definition of completions.
Using the properties 3.(a),3.(b),3.(d) of the definition of completions and the properties
of places defined by regions, it can be proven iteratively, that C ≈ C′ =⇒ Mark(C) =
Mark(C′). By property 3.(c) there is a left-closed consistency set V ′ of lpes with V ′ ≈
V and containing no cutoff-events. Since lpo does not belong to lpesc and from property
2. of the definition of completions, there is a wrong continuation (C, τ, l(e)) with C ⊆
V ′ and l(C) + τ = l(V ′). From Mark(V ′) = Mark(V ) we deduce that the transition
l(e) is enabled in Mark(V ′), i.e. lpoC leads to a marking enabling τ + l(e).</p>
      <p>”only if”: Assume that there is a wrong continuation (C, τ, t) of (lpes, Cut), such
that after occurrence of the prefix lpoC the transition step τ + t is enabled in (N, m0).
Let lpoC = (C, ≺, l) and W ⊆ SD(C) be a subset of direct successors of lpoC in
a maximal consistency set D of lpes such that l(W ) = τ and C ⊕ W ∈ Con (such
W exists by the definition of wrong continuations). The LPO lpoC⊕W belongs to the
partial language corresponding to lpes and, by assumption, its occurrence leads to a
marking enabling t. That means, there is an extension C ⊕ W ⊕ e with l(e) = t such
that lpoC⊕W ⊕e belongs to the partial language corresponding to lpesu. On the other
side, according to the property 2. of the definition of completions, lpoC⊕W ⊕e does not
belong to the partial language corresponding to lpesc. That means (N, m0) is not an
exact solution.</p>
      <p>Consider a wrong continuation (C, τ, t). Our aim is to compute a region x such that
after the occurrence of the prefix lpoC the marking of px does not enable the transition
step τ + t. This can directly be expressed by a linear constraint using the variables of
the linear equation system defining regions:</p>
      <p>In order to compute such a region x w.r.t. a wrong continuation (C, τ, t), we add
the above constraint to the linear equation system defining regions. For each wrong
continuation a separate constraint leading to a separate linear inequation system needs
to be considered. Considering for example Figure 1, the wrong continuation w1 =
({ e0} , {} , b) is prohibited by the place in c• ∩ • b.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Synthesis algorithm and implementation</title>
      <p>
        Before formulating the synthesis algorithm and presenting its implementation we
consider two parameters influencing the solution net resulting from a separation
representation [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
5.1
      </p>
      <sec id="sec-5-1">
        <title>Using a target function</title>
        <p>
          Considering the linear inequation system corresponding to a wrong continuation, a
nonnegative integral solution can be computed which minimizes a given linear target
function φ. Such a target function can be used to produce “simple” places [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>In the context of this paper, for example, it is possible to minimize the token flows
ai,j along edges and the residual token flows ri,k . In our case, a target function has the
following general form
φ = α1 ·</p>
        <p>X γi,k · ri,k + α2 ·
i,k</p>
        <p>X βi,j · ai,j ,
i,j
with αi, γi,k, βi,j ∈ R0+. The use of different target functions leads to different
solutions. Our experiments have shown that the simple target function φrest = Pi,k ri,k
is a good choice in most cases in order to compute “simple” places, since minimizing
the residual token flows ri,k produces places prohibiting many wrong continuations at
once. In several cases also the target function φpenalty = Pi,j βi,j · ai,j , where βi,j = 1
if d(ei, ej ) = 1 and βi,j = 50 else, yields good results, since it leads to places
representing only local dependencies. It is also possible to distinguish between edges with
different distances using βi,j = d(ei, ej ), or to combine these target functions.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Determining the order of wrong continuations</title>
        <p>
          In general, a place does not prohibit only one wrong continuation. If a wrong
continuation w is prohibited by a place, which was already computed previously, it is not
necessary to compute a separate solution for w. Consider two wrong continuations w1, w2. It
is possible that the solution p1 prohibiting w1 also prohibits w2, but that the solution p2
prohibiting w2 does not prohibit w1. In such a case, it is better to consider w1 first, since
this order leads to a net with less places. That means, the order in which wrong
continuations are considered, the so-called wct-ordering , has an influence on the synthesis
result [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>Unfortunately, there is still no theory on optimizing the wct-ordering in the above
sense. Therefore, in our experiments we considered several different orderings ≤wct
based on the following definitions for wrong continuations w1 = (C1, τ1, t1), w2 =
(C2, τ2, t2):
– w1 &lt;C w2 :⇔ | C1| &lt; | C2| (can be used to consider small prefixes before big
prefixes, or vice versa)
– w1 &lt;dC w2 :⇔ d(C1) &lt; d(C2), where d(C) := max{ d(e0, ei) | ei ∈ C} (can be
used to consider short prefixes before long prefixes, or vice versa)
– w1 &lt;τ w2 :⇔ | τ1| &lt; | τ2| (can be used to consider small follower steps before big
follower steps, or vice versa)</p>
        <p>These components can be combined in different ways to derive orderings of wrong
continuations for the synthesis algorithm. In our experiments we identified the
following wct-ordering as a good choice:</p>
        <p>≤wct=&lt;dC ∪(=dC ∩ &lt;C ) ∪ (=C ∩ =dC ∩ &lt;τ )</p>
        <p>Note that this is a partial order. Unordered wrong continuations are ordered
randomely by the algorithm. As a reference, the tool also offers the possibility to use the
completely random order ≤rwncdt .
5.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>Synthesis algorithm and implementation</title>
        <p>We are now able to present the synthesis algorithm. First we construct the equation
system defined by the basic constraints from table 1 (line 1) and start with an empty
set S of solutions (line 2). In the next step we create the list of wrong continuations
{ w1, . . . , wn} ordered w.r.t. ≤wct (line 3; prefixes are computed using a breadth-first
approach; for the follower step we consider the direct successors of a prefix, see
Definition 9). Now we can iterate over this list (lines 4 - 19). In the i-th iteration we consider
the wrong continuation wi:
– first we test, whether wi is prohibited by one of the already computed solutions in</p>
        <p>S (lines 6 - 11).
– if this is the case, we consider the next wrong continuation (lines 12 - 13).
– if this is not the case (lines 14 - 17), we add the constraint co rresponding to wi
(table 2) to the inequation system (line 15), add the computed solution to S (if one
exists; line 16), and remove the constraint (line 17).
Require: LPES with cutoff list (lpes, Cut), target function φ , ordering ≤wct
1: litok ← getF lowConstraints(lpes, Cut)
2: S ← ∅
3: { w1, . . . , wn} ← getW CT s((lpes, Cut), ≤wct)
4: for i = 1 to n do
5: redundant ← f alse
6: for s ∈ S do
7: if wcti.satisf ied(s) then
8: redundant ← true
9: break
10: end if
11: end for
12: if redundant then
13: continue
14: else
15: litok.add(wcti)
16: S ← S ∪ lpsolve(litok, φ)
17: litok.remove(wcti)
18: end if
19: end for
20: (N, m0) ← extractP N et(S)
21: return (N, m0)</p>
        <p>Algorithm 1: Synthesis algorithm</p>
        <p>Finally we retrieve the solution net from set of solutions S (line 20). All wrong
continuations, which cannot be prohibited, are reported (this is not shown in the algorithm
for a compact representation).</p>
        <p>
          We use the following optimizations (adapted from [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]):
– If (C, τ, t) is a wrong continuation and a place p prohibits the step τ + t after the
execution of lpoC , then p also prohibits each step τ ′ + t after the execution of lpoC
for τ ≤ τ ′. In this case, the wrong continuations of the form (C, τ ′, t) need not be
considered. This feature is implemented through considering small follower steps
first in the used wct-ordering.
– For two prefixes lpoC and lpoC′ with l(C) = l(C′), there holds: after the execution
of lpoC , a step τ +t can be prohibited if and only if it can be prohibited after the
execution of lpoC′ . Considering several wrong continuations with such prefixes, their
follower steps can be combined. This feature is implemented through comparing
l(C) for each wrong continuation with previously considered wrong continuations.
        </p>
        <p>Altogether, the runtime of the algorithm is exponential in the number of events
of the LPES in general, since there are exponentially many prefixes to consider. The
runtime can be reduced using heuristics and by grouping wrong continuations, but this
is a topic of further research.</p>
        <p>
          The synthesis algorithm is implemented in JAVA as a command line tool. For
computing solutions of linear inequation systems we used the free solver lp solve [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] and
the framework Java ILP [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The tool can be downloaded together with a readme file
and the examples presented in the next section [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. The readme file explains
installation and usage of the tool. For the input we use text files specifying (lpes, Cut), φ
and ≤wct using a simple text format. For the output we use the PNML-for mat [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. The
resulting p/t-net can be visualized with ePNK [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] in Eclips e.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Experimental results</title>
      <p>We now briefly present two kinds of experiments evaluating the presented tool. First we
considered several p/t-nets and constructed the complete fi nite prefix of their maximal
unfolding. This complete finite prefix then served as input LPES with cutoff-list for
the synthesis of a new p/t-net, which we compared with the ori ginal net. We used nets
which were drawn as simple and intuitive as possible. That means, our goal was to
test, whether the used synthesis algorithm was able to reproduce the original net and to
analyse the differences.</p>
      <p>Figures 1 and 2 show two of the considered p/t-nets together w ith the complete finite
prefix of their maximal unfoldings.</p>
      <p>
        It turned out that using Φrest as target function and the wct-ordering ≤wct (from the
last section) it was possible to exactly rediscover the original p/t-net in both presented
examples and also for several other small nets. Note here that for the specification in
Figure 1 there is no other existing notion, which can be used for synthesis. In particular,
this specification cannot be expressed by an LPO-term [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>In case of bigger nets with arc weights and more complicated dependency realtions,
some additional and / or different places were computed due to a still not optimized
combination of target function and wct-ordering (which is a topic of future research).
For example, we considered the net in part (a) of Figure 3, constructed the complete
finite prefix of its maximal unfolding and got the following result using different target
functions:
– Part (b): This net was computed using the target function Φrest and the wct-ordering
≤wct. It has one additional and unnessecary gray-coloured place . It prohibits the
transition step 2c after the occurrence of a, while there is another place in the
original net which prohibits the transition steps 2b, b+c and 2c after the occurrence of a.
Fig. 3. A p/t-net (part (a)) and two synthesis result from the comple te finite prefix of its maximal
unfolding (parts (b) and (c)) with additional places depending on the used target function.</p>
      <p>That means, computing these places in a different order would result in the original
net. In order to avoid such unnessecary places it is nessecary to find additional local
rules for determining the wct-ordering.
– Part (c): This net was computed using the target function Φpenalty and the
wctordering ≤wct. It has three more additional and unnessecary gray-coloure d places.
These places represent the conflict between the three transitions d, e, f . The original
place representing this conflict is non-optimal w.r.t. Φpenalty , since it has more
connections to transitions. On the other side, the three gray places are non-optimal
w.r.t. Φrest, since tokens remain in some of them after ocurrence of d, e or f .</p>
      <p>
        Another example is shown in Figure 4. Part (a) shows the original net and part (b)
the synthesis result using the target function Φrest and the wct-ordering ≤wct. It has
one additional and unnessecary gray-coloured place which p rohibits the transition step
e in the initial marking, but it is easy to see that also some other places of the original
net probit transition step e in the initial marking. That means (again) that computing
these places in a different order would result in the original net. Note that the gray place
is non-optimal w.r.t. Φpenalty , but on the other side, also several places of the original
net are non-optimal w.r.t. Φpenalty . The net was already considered in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] where the
synthesis result was the same using a synthesis algorithm based in sequences.
      </p>
      <p>These first experiments show that it is possible to synthesize simple and intuitive
nets using the presented approach, if the local dependency relations between events
are simple. For several more complex situations the choice of the target function and
the wct-ordering influences the synthesis result and it depe nds on the local dependency
relations, which choice is the better on. The local choice of target function and
wctordering will be a topic of further research.</p>
      <p>Second we evaluated the runtime of the tool using several parametrized p/tnets and
their unfolding. Figure 5 shows one of these nets, where the parameter is the number
n of tokens in the place in • a ∩ • b. The net has 2n different runs and can be seen as
one of the “worst cases” for the presented synthesis approach. Our algorithm was able
to exactly rediscover the original p/t-net. Of course runti me increased rapidely when
increasing the parameter n due to the amount of prefixes and wrong continuations which
have to be computed.</p>
      <p>The following table shows the runtime for different choices of n using Φrest as
target function and the wct-ordering ≤rwncdt . The average runtime was computed over
several runs of the algorithm using a system with i7-6500U CP U having 2.50 GHz.
n WCT constraints Average runtime
1 8 ≈ 40 ms
2 24 ≈ 50 ms
3 64 ≈ 130 ms
4 160 ≈ 700 ms
5 384 ≈ 5200 ms
6 896 ≈ 76000 ms</p>
      <p>This example shows that there is still work to do, but there are already first
approaches to improve such situations (not implemented yet). For example, the above
situation can be first considered as an infinite iteration (easy to solve, see above), and
then the number of iterations can be restricted by an appropriate place.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion and future work</title>
      <p>In this paper we characterized exact solutions of the region based synthesis of bounded
p/t-nets from LPES with cutoff-list using wrong continuati ons and presented an
implementation of the according synthesis algorithm. Experimental results are promising,
showing that simple dependency relations among transitions can be rediscovered
exactly. For more complicated dependency situations there are two parameters of the
algorithm - target function and wct-ordering - which can be adj usted. The local choice of
these parameters is a topic of further research.</p>
      <p>In order to improve runtime, we plan to develop heuristics for the grouping of wrong
continuations (that means, a solution is searched prohibiting a group of several wrong
continuation at once) and for the consideration of a small subset of the set of all wrong
continuations (which is likely to “represent” the whole set). As a basis for both aspects
we are working on a theory concerning an optimal ordering of wrong continuations.</p>
      <p>Concerning practical applications, we are developing a two-step approach in the
area of process mining using our synthesis framework:
– First step (preprocessing): Construct an LPES with cutoff- list from an event log
through detecting loops, causality, concurrency and noise. Since LPES with
cutofflist is a more general model than p/t-nets, causal structure s can be detected with
less loss of information than with approaches using directly Petri net based models.
That means an LPES with cutoff-list has a low representation al bias in the context
of process mining.</p>
      <p>– Second step (synthesis): Synthesize a Petri net from the result of the first step.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bergenthum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Desel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lorenz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Mauser</surname>
          </string-name>
          .
          <source>Process Mining Based on Regions of Languages</source>
          . In G. Alonso,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dadam</surname>
          </string-name>
          , and M. Rosemann, editors,
          <source>BPM</source>
          , volume
          <volume>4714</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>375</fpage>
          -
          <lpage>383</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bergenthum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Desel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lorenz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Mauser</surname>
          </string-name>
          .
          <source>Synthesis of Petri Nets from Finite Partial Languages. Fundam. Inform.</source>
          ,
          <volume>88</volume>
          (
          <issue>4</issue>
          ):
          <fpage>437</fpage>
          -
          <lpage>468</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bergenthum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Desel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Mauser</surname>
          </string-name>
          .
          <article-title>Comparison of Different Algorithms to Synthesize a Petri Net from a Partial Language</article-title>
          .
          <source>T. Petri Nets and Other Models of Concurrency</source>
          ,
          <volume>3</volume>
          :
          <fpage>216</fpage>
          -
          <lpage>243</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bergenthum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Desel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mauser</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Lorenz</surname>
          </string-name>
          .
          <article-title>Synthesis of Petri Nets from Term Based Representations of Infinite Partial Languages</article-title>
          . Fundam. Inform.,
          <volume>95</volume>
          (
          <issue>1</issue>
          ):
          <fpage>187</fpage>
          -
          <lpage>217</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bergenthum</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Mauser</surname>
          </string-name>
          .
          <article-title>Synthesis of Petri Nets from Infinite Partial Languages with VipTool</article-title>
          . In N.
          <article-title>Lohmann and</article-title>
          K. Wolf, editors,
          <source>AWPN</source>
          , volume
          <volume>380</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>81</fpage>
          -
          <lpage>86</lpage>
          . CEUR-WS.org,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>R.</given-names>
            <surname>Bergenthum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mauser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lorenz</surname>
          </string-name>
          , and G. Juha´s.
          <source>Unfolding Semantics of Petri Nets Based on Token Flows. Fundam. Inform.</source>
          ,
          <volume>94</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>331</fpage>
          -
          <lpage>360</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Berkelaar</surname>
          </string-name>
          . lp solve. http://lpsolve.sourceforge.
          <source>net/5</source>
          .5/.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. L. d'informatique de Paris 6 / Paris Nord. PNML - Framework ,
          <year>2009</year>
          . http://pnml.lip6.fr.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Juha´s and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Lorenz</surname>
          </string-name>
          .
          <article-title>Synthesis of bounded Petri Nets from Prime Event Structures with Cutting Context</article-title>
          . In W. M. P. van der Aalst,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bergenthum</surname>
          </string-name>
          , and J. Carmona, editors,
          <source>Proceedings of the International Workshop on Algorithms &amp; Theories for the Analysis of Event Data 2016 Satellite event of the conferences: 37th International Conference on Application and Theory of Petri Nets and Concurrency Petri Nets 2016 and 16th International Conference on Application of Concurrency to System Design ACSD</source>
          <year>2016</year>
          , Torun, Poland, June 20-21,
          <year>2016</year>
          . , volume
          <volume>1592</volume>
          <source>of CEUR Workshop Proceedings</source>
          , pages
          <fpage>58</fpage>
          -
          <lpage>77</lpage>
          . CEUR-WS.org,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>V.</given-names>
            <surname>Khomenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koutny</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Vogler</surname>
          </string-name>
          .
          <article-title>Canonical Prefixes of Petri Net Unfoldings</article-title>
          .
          <source>Acta Inf.</source>
          ,
          <volume>40</volume>
          (
          <issue>2</issue>
          ):
          <fpage>95</fpage>
          -
          <lpage>118</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>E. Kindler.</surname>
          </string-name>
          <article-title>The ePNK: An Extensible Petri Net Tool for PNML</article-title>
          .
          <source>In Applications and Theory of Petri Nets - 32nd International Conference, PETRI NETS 20 11</source>
          , Newcastle,
          <string-name>
            <surname>UK</surname>
          </string-name>
          , June 20- 24,
          <year>2011</year>
          . Proceedings, pages
          <fpage>318</fpage>
          -
          <lpage>327</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>R.</given-names>
            <surname>Lorenz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Desel</surname>
          </string-name>
          , and
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Juha´s. Models from Scenarios</article-title>
          .
          <source>In Transactions on Petri Nets and Other Models of Concurrency VII</source>
          , pages
          <fpage>314</fpage>
          -
          <lpage>371</lpage>
          . Springer Berlin Heidelberg,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>R.</given-names>
            <surname>Lorenz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Metzger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Sorokin</surname>
          </string-name>
          . Prosyn,
          <year>2016</year>
          . https://www.informatik.uniaugsburg.de/lehrstuehle/inf/projekte/prosyn/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>M.</given-names>
            <surname>Lukasiewycz. Java</surname>
          </string-name>
          <string-name>
            <surname>ILP</surname>
          </string-name>
          ,
          <year>2008</year>
          . http://javailp.sourceforge.net/.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>G. Winskel. Event</given-names>
            <surname>Structures</surname>
          </string-name>
          . In W. Brauer,
          <string-name>
            <given-names>W.</given-names>
            <surname>Reisig</surname>
          </string-name>
          , and G. Rozenberg, editors,
          <source>Advances in Petri Nets</source>
          , volume
          <volume>255</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>325</fpage>
          -
          <lpage>392</lpage>
          . Springer,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>