<!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>Folding Example Runs to a Workflow Net</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Robin Bergenthum</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Irgang</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Benjamin Meis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Software Engineering</institution>
          ,
          <addr-line>FernUniversita ̈t in Hagen</addr-line>
        </aff>
      </contrib-group>
      <fpage>62</fpage>
      <lpage>77</lpage>
      <abstract>
        <p>We present a folding algorithm to construct a business process model from a specification. The process model is a workflow net, i.e. a Petri net with explicit split- and join-transitions and the specification is a set of example runs. Each example run is a labeled partial order of events, and each event relates to the occurrence of an activity of the underlying business process. In contrast to sequentially ordered runs, a partially ordered run includes information about dependencies and independencies of events. Consequently, such a run is a precise and intuitive specification of an execution of a business process [5, 11]. The folding algorithm is based on the algorithm introduced in [1]. This algorithm constructs a process model which is able to execute all example runs of the specification, but may introduce a significant amount of not specified behavior to the business process model. We show how to improve this folding procedure, by adapting ideas known from the theory of regions, in order to restrict additional and not specified behavior of the process model whenever possible.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Business process management [
        <xref ref-type="bibr" rid="ref2 ref3 ref4">2–4</xref>
        ] aims to identify, supervise and improve business
processes within companies. It is essential to adapt existing processes to rapidly
changing requirements in order to increase and guarantee corporate success. The basis for
every business process management activity is a valid and faithful model of the
business process; yet constructing such a model is a challenge.
      </p>
      <p>
        It is particularly challenging to build a complex process model from scratch. For
most applications it is easier to first explore single example runs and set up a formal
specification before building a complex model [
        <xref ref-type="bibr" rid="ref5 ref6 ref7">5–7</xref>
        ]. In the literature there are many
different approaches to automatically generating a process model from a specification.
According to the requirements, several approaches exist using different types of
specifications, process modeling languages, and model generation strategies.
      </p>
      <p>
        Process mining algorithms (see [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for an overview) provide very good runtime,
construct readable models, and take into account that recorded or specified behavior
can be incomplete or even faulty. Synthesis algorithms (see for example [
        <xref ref-type="bibr" rid="ref10 ref11 ref9">9–11</xref>
        ])
assume a complete and valid specification and construct a process model representing
the specification as precisely as possible. Synthesis algorithms are only applicable for
medium-size models, but provide excellent control of the produced model and its
behavior. In this paper, we present a process mining algorithm and use strategies common
in the area of synthesis to improve the construction of the process model. We will show
that our new algorithm is fast and able to provide perfect control of the constructed
model.
      </p>
      <p>
        We consider a specification to be a set of labeled partial orders. A labeled partial
order is a partially ordered set of events. An event and its label relate to the occurrence
of an activity in the business process. In contrast to a sequence of events, a partial order
can express dependencies and independencies of events. A set of labeled partial orders
is a precise and intuitive specification of a business process [
        <xref ref-type="bibr" rid="ref11 ref5">5, 11</xref>
        ].
      </p>
      <p>As an example we consider our coffee brewing process. Figure 1 and Figure 2 depict
two labeled partial orders (we omit transitive arcs) specifying two different runs of this
process. In Figure 1, we grind beans and switch off the coffee machine. We unlock the
machine once it is turned off. We fill the strainer as soon as it is empty. We fetch water
from the kitchen using the coffee-pot. This pot is only available after the machine is
unlocked. Once the strainer is filled and the water is fetched, we assemble the coffee
machine. In Figure 2, we use a glass-pot (instead of the coffee-pot) to fetch water from
the kitchen. This activity does not depend on unlocking the coffee machine. We can
fetch the water right at the beginning of the process. Figure 1 and Figure 2 depict a
complete and intuitive specification of our coffee brewing process.</p>
      <p>We present an algorithm to construct a workflow net from a specification. As stated
above, a specification is a set of labeled partial orders. A workflow net is a Petri net
with explicit split- and join-connectors. and-splits and and-joins duplicate and merge
the control flow of a workflow net if actions of the business process occur concurrently.
xor-splits and xor-joins act like switches and steer the course of the control flow of a
workflow net if activities of the business process are in conflict.</p>
      <p>
        The new algorithm is based on the folding algorithm presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This
algorithm adds an initial and a final event to every labeled partial order of the specification
and builds a workflow net so that the specification is enabled in this net, i.e. all step
sequences of the labeled partial orders of the specification are enabled. The unique start
and final events are only necessary for technical purposes and are removed after the
folding which leads to a workflow net with a unique start and final place. To build such
a net, every labeled partial order is reduced to its underlying Hasse-diagram. A
Hassediagram of a labeled partial order is the set of events together with the smallest relation
so that its transitive closure equals the original partial order. In other words, all
transitive arcs are removed to receive a compact and easy to handle representation of the
specified example run. We use the Hasse-diagrams of the specification to analyze the
neighborhood relation on activities of the business process. For every activity there is
a set of equally labeled events. According to the specification, each of these events is
enabled by the set of events in its direct preset. Of course, equally labeled events can
occur in different contexts. Folding is to arrange actions using splits and joins
according to the neighborhood relation present in the Hasse-diagrams of the specification. An
xor-split ( ) marks exactly one place of its postset, an xor-join ( ) needs only one
marked place in its preset to be enabled. and-connectors (^) use the common Petri net
transition semantics.
      </p>
      <p>Folding the specification depicted in Figure 1 and Figure 2 results in the workflow
net depicted in Figure 3. Both labeled partial orders of the specification are enabled in
this net. For simplification, we omit places between transitions.</p>
      <p>Folding labeled partial orders is an elegant approach to generating a business
process model from a specification. Folding constructs well readable results in very good
runtime. Every labeled partial order of the specification is enabled in the generated
process model. Unfortunately, folding algorithms tend to introduce additional, not
specified behavior to the business process model. Such additional behavior is either a suitable
completion of the specification or an inadequate extension yielding an inaccurate
business process model. The risk of creating an unfaithful model is due to the fact that the
basis for folding is the neighborhood relation introduced by the Hasse-diagrams. Some
of the causal structure of the business process may be hidden in the transitive closure of
the specified example runs. Transitive dependencies are not considered by the folding
algorithm.</p>
      <p>Figure 4 illustrates additional behavior enabled in the workflow net depicted in
Figure 3. In compliance with the diagram in Figure 1, we grind beans, turn the machine
off, and get water using the glass-pot right at the beginning. We also unlock the coffee
machine and fetch water using the coffee-pot. This behavior is possible in the workflow
net, because the alternative between using the glass- and coffee-pot is not reflected by
any neighborhood relation of the diagrams depicted in Figure 1 and Figure 2.</p>
      <p>In this paper we present a revised folding algorithm. We fold the Hasse-diagrams
of the specification into a workflow net. If the workflow net contains additional and
inadequate behavior, the revised folding algorithm proceeds to exclude this behavior by
changing the workflow net. Nevertheless, all changes lead to a new model which is still
able to perform the specified behavior. To improve the model, we use methods known
from the theory of synthesis. Each non-specified run of a workflow net has a maximal,
specified (not necessarily unique) prefix. Any event ordered after this specified part
should not occur at this point. Such specified prefix together with such an event is called
a wrong continuation of the workflow net. To eliminate such a wrong continuation from
our workflow net, we modify the Hasse-diagrams of our specification. We add a set of
transitive arcs to the Hasse-diagrams, so that folding regarding these updated diagrams
leads to a workflow net without the wrong continuation. Note, we only add arcs of the
transitive closure of the Hasse-diagrams. Thereby, the initial specified behavior is not
changed. A more detailed neighborhood relation yields a more restrictive workflow net.
We stop if we can not get a more restrictive workflow net by adding transitive arcs. This
solution is not unique. It depends on the unfolding and the selected arcs.</p>
      <p>We will present the theory and implementation of this revised folding algorithm
and we will show that it constructs well readable models. The main advantage of such
a folding procedure is that it provides good control of the behavior of the constructed
business process model. In an interactive version of our algorithm, it is even possible
to distinguish two sets of wrong continuations. The first set is not specified but valid
process behavior and extends the specification, the second set is excluded from the
model.</p>
      <p>The paper is organized as follows: Section 2 defines workflow nets and labeled
partial orders. Section 3 presents a folding algorithm. Section 4 presents our new revised
folding algorithm and outlines its implementation. Section 5 concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Workflow Nets and Labeled Partial Orders</title>
      <p>
        In this paper, a workflow net is a Petri net with additional connector nodes. We consider
a special class of these nets where transitions and places do not branch. This class of
nets has a very intuitive semantics and is built with elements present in almost every
other process modeling language. A workflow net can easily be translated into any
business process modeling language such as place/transition nets [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], Event-driven
Process Chains (EPCs) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], Business Process Model and Notation (BPMN) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], Yet
Another Workflow Language (YAWL) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] or Activity Diagrams (a part of the Unified
Modeling Language (UML) [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ]).
      </p>
      <p>Definition 1. A workflow net structure is a tuple wn = (T; P; Cxor; Cand; F ) where T
is a finite set of transitions, P is a finite set of places, Cxor resp. Cand are finite sets of
xor- resp. and-connectors, and F ((T [Cxor [Cand) P )[(P (T [Cxor [Cand))
is a set of directed arcs connecting transitions and connectors to places and vice versa.</p>
      <sec id="sec-2-1">
        <title>A workflow net structure is a workflow net if:</title>
        <p>(i) There is one place, called initial place, having one outgoing and no incoming arc.</p>
      </sec>
      <sec id="sec-2-2">
        <title>There is one place, called final place, having one incoming and no outgoing arc.</title>
      </sec>
      <sec id="sec-2-3">
        <title>All other places have one incoming and one outgoing arc. (ii) Transitions have one incoming and one outgoing arc. (iii) Connectors have either one incoming and multiple outgoing arcs, or multiple incoming and one outgoing arc.</title>
        <p>Definition 2. Let w = (T; P; Cxor; Cand; F ) be a workflow net. A marking of w is a
function m : P ! N0. A pair (w; m) is called marked workflow net. A place p 2 P
is called marked if m(p) &gt; 0, marked by one if m(p) = 1 and unmarked if m(p) = 0
holds. The initial marking m0 of a workflow net is defined as follows: The initial place
is marked by one and all other places are unmarked.</p>
        <p>There is a simple firing rule for workflow nets. A node is enabled to fire if every
place in its preset is marked. An xor-join is also enabled if there is at least one marked
place in its preset.</p>
        <p>Definition 3. Let wn = (T; P; Cxor; Cand; F; m) be a marked workflow net. A node
n 2 fT [ Candg is enabled if every place in n is marked. A node n 2 Cxor is enabled
if there is a marked place in n. If a node is enabled, it can fire, changing the marking
of the workflow net. Firing n 2 (T [ Cand) leads to the marking m0 defined by:
8 m(p) 1; p 2
m0(p) = &lt; m(p) + 1; p 2 n
: m(p) else:
n n n
n n</p>
        <sec id="sec-2-3-1">
          <title>If a node n 2 Cxor is enabled, choose a marked place pin 2</title>
          <p>pout 2 n . Firing n leads to the marking m0 defined by:
n and a place
8 m(p) 1; pin = p 6= pout
m0(p) = &lt; m(p) + 1; pout = p 6= pin
: m(p) else:</p>
        </sec>
        <sec id="sec-2-3-2">
          <title>If an enabled node n fires and changes m to m0, we write m[nim0.</title>
          <p>A set of nodes is called a step. In a workflow net there are no conflicts regarding
the consumption of tokens. Consequently, a step is enabled if each node of the step is
enabled. Firing a step leads to the same marking as firing all nodes.</p>
        </sec>
        <sec id="sec-2-3-3">
          <title>Definition 4. Let N fT [ Cxor [ Candg be a step and m be a marking. N is enabled</title>
          <p>in m if each n 2 N is enabled in m. If an enabled step N fires and changes m to m0,
we write m[N im0. Firing N = fn1; : : : ; nng leads to the same marking as firing all
n 2 N , i.e. m[n1im1[n2i : : : [nnim0.</p>
          <p>Let = N1 N2 : : : Nn be a sequence of steps. The sequence is enabled in m if
there are m1; m2; : : : ; mn, so that m[N1im1[N2i : : : [Nnimn holds. If is enabled,
we define T; = (N1 \ T ) (N2 \ T ) : : : (Nn \ T ). We omit all empty sets in T; to
define T . We call T the transition step sequence of .</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>We call a step N a transition step if N T . A sequence of transition steps is</title>
        <p>enabled in m if there is an enabled sequence of steps 0 so that = T0 holds.</p>
        <p>
          In Figure 3, the transition step sequence fgrind beans, turn offgfunlockgfempty
strainer, get water using coffee-potgffill strainergfassemble and turn ong is enabled in
the initial marking. We use transition step sequences to define enabled labeled partial
orders [
          <xref ref-type="bibr" rid="ref18 ref19">18, 19</xref>
          ].
        </p>
        <p>Definition 5. Let T be a set of labels, a labeled partial order is a triple lpo = (V; &lt;; l),
where V is a finite set of events, &lt; is an irreflexive and transitive binary relation over</p>
        <sec id="sec-2-4-1">
          <title>V , and l : V ! T is a labeling function. We consider labeled partial orders without</title>
          <p>autoconcurrency, i.e. e; e0 2 V; e 6= e0; e 6&lt; e0; e0 6&lt; e ) l(e) 6= l(e0):</p>
          <p>The Hasse-diagram of a labeled partial order is lpo/ = (V; /; l), where / is the set
of skeleton arcs, i.e. / = f(v; v0) j v &lt; v0 ^ @v00 : v &lt; v00 &lt; v0g.</p>
          <p>Let lpo = (V; &lt;; l) and lpo0 = (V; &lt;0; l) be labeled partial orders. If &lt; &lt;0 holds,
lpo0 is a sequentialisation of lpo. If V = V1 [_ : : : [_ Vn and &lt;0= Si&lt;j Vi Vj hold, we
call the sequence l(V1) : : : l(Vn) a transition step sequence of lpo.</p>
        </sec>
        <sec id="sec-2-4-2">
          <title>The sequence fgrind beans, turn offgfunlockgfempty strainer, get water using</title>
          <p>coffee-potgffill strainergfassemble and turn ong is a transition step sequence of the
labeled partial order of Figure 1.</p>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>Definition 6. Let wn be a marked workflow net. A labeled partial order lpo is enabled</title>
        <p>
          in wn if all transition step sequences of lpo are enabled in the initial marking of wn.
We introduce a folding algorithm to construct a workflow net from a specification which
is a set of labeled partial orders. Each partial order corresponds to a run of the
business process. Events model occurrences of activities, arcs model dependencies between
events, and unordered events can occur concurrently. Our revised folding algorithm is
based on the folding algorithm presented in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. We add an initial and a final event to
every labeled partial order, before reducing every order to its Hasse-diagram. From these
we deduce a neighborhood relation on the set of labels. We define a set of preceding
and succeeding label sets for each label. Every label of the specification can, of course,
occur multiple times, even in one labeled partial order.
        </p>
        <p>Definition 7. Let lpo = (V; &lt;; l) be a labeled partial order, let (V; /; l) be its
Hassediagram, and let T be a set of labels with l(V ) T . Let e 2 V be an event, denote
pred(e) = fl(e0)je0 / eg the set of preceding labels, and denote succ(e) = fl(e0)je / e0g
the set of succeeding labels.</p>
        <p>Let L be a set of labeled partial orders. Let t 2 T be a label, denote predset(t) =
fpred(e)j(V; &lt;; l) 2 L; e 2 V; l(e) = tg the set of preceding label sets, and denote
succset(t) = fsucc(e)j(V; &lt;; l) 2 L; e 2 V; l(e) = tg the set of succeeding label sets.</p>
        <p>To construct a workflow net from a specification, we construct a transition for every
label and connect transitions according to the corresponding preceding and succeeding
label sets. For every transition we will define a so called building block. The center of
each building block is the transition, surrounded by three layers of connectors. Next to
the transition is a layer of two xor-connectors, because each transition can have multiple
preceding and multiple succeeding label sets. For each of these sets, there is an
andconnector on the second layer, because each set can have multiple labels. If succeeding
or preceding label sets share labels, there is a xor-connector on the third layer. We define
a building block as follows:</p>
      </sec>
      <sec id="sec-2-6">
        <title>Definition 8. Let L be a set of labeled partial orders and T be its set of labels. For</title>
        <p>each label t 2 T we define a workflow net structure wnt = (ftg; P t; Cxtor; Catnd; F t)
called building block of t. The sets P t, Cxtor, and Catnd are defined as follows:
Cxtor = fxorptre; xorptostg [ fxorptre;t0 jt0 2 X; X 2 predset(t)g [</p>
        <p>fxorptost;t0 jt0 2 X; X 2 succset(t)g,
Catnd = fandtpre;X jX 2 predset(t)g [ fandtpost;X jX 2 succset(t)g,
P t = fppre; ptpostg [
t
t t
fppre;X jX 2 predset(t)g [ fppost;X jX 2 succset(t)g [</p>
        <p>t t
fppre;t0;X jt0 2 X; X 2 predset(t)g [ fppost;X;t0 jt0 2 X; X 2 succset(t)g [
t t
fppre;t0 jt0 2 X; X 2 predset(t)g [ fppost;t0 jt0 2 X; X 2 succset(t)g.
The set of arcs F t is defined as follows:
F t = f(xorptre; ptpre); (ptpre; t); (t; ptpost); (ptpost; xorptost)g [
f(andtpre;X ; ptpre;X )jX 2 predset(t)g [
f(ptpre;X ; xorptre)jX 2 predset(t)g [
f(xorptost; ptpost;X )jX 2 succset(t)g [
f(ptpost;X ; andtpost;X jX 2 succset(t)g [
f(xorptre;t0 ; ptpre;t0;X )jt0 2 X; X 2 predset(t)g [
f(ptpre;t0;X ; andtpre;X )jt0 2 X; X 2 predset(t)g [
f(andpost;X ; ptpost;X;t0 )jt0 2 X; X 2 succset(t)g [</p>
        <p>t
f(ptpost;X;t0 ; xorptost;t0 )jt0 2 X; X 2 succset(t)g [
f(ptpre;t0 ; xorptre;t0 )jt0 2 X; X 2 predset(t)g [
f(xorptost;t0 ; ptpost;t0 )jt0 2 X; X 2 succset(t)g.</p>
        <p>Figure 5 depicts the building block of label unlock. There are two events labeled by
unlock in Figure 1 and Figure 2. Both events have the same set of preceding labels, i.e.
fturn off g, but have different sets of succeeding labels. According to these sets there is
one xor-connector and two and-connectors right behind transition unlock. Since both
sets share the label empty strainer, the control flow is joined with xorpuonslto;cekmpty strainer
in front of the outgoing interface place ppuonslto;cekmpty strainer.</p>
        <p>We call a building block a compressed building block if all superfluous connectors
and the corresponding places are removed. A connector is superfluous if it has one
ingoing and one outgoing arc. As an example, Figure 6 depicts the set of compressed
building blocks of our coffee brewing process. Note that, before building these blocks,
an event labeled with start, and an event labeled with stop, are added to every labeled
partial order. In this figure, we depict transition start by a big black dot, transition stop
by a circle with a dot. We hide most places and only sketch interface places by small dots
labeled by the corresponding preceding or succeeding labels. On the top left of Figure
6, we depict the building block of label start. Next to this block, there is the compressed
version of the building block depicted in Figure 5. We merge all compressed building
blocks depicted in Figure 6 to get the workflow net depicted in Figure 3.</p>
        <p>Fig. 6. Compressed building blocks.</p>
        <p>
          Algorithm 1 implements the folding procedure. The input is a set of labeled partial
orders. In Line 2 and Line 3 we add two additional events, one labeled start and one
labeled stop, to every labeled partial order. We extend each partial order so that the start
events are earlier than every other event of their partial order and the stop events are
later than every other event of their partial order. These new events will result in two
additional building blocks responsible for starting and ending runs of the workflow net
model. In Line 4, we reduce the specifications to Hasse-diagrams and collect the set
of labels (including start and stop). In Line 6, according to Definition 8, we build a
building block for every label and in Line 7, we merge all building blocks at matching
t0
interface places, i.e. for every pair of labels we merge all places ptpost;t0 and ppre;t. In
Line 8, we delete superfluous connectors. In addition, we remove the xor-connector in
front of transition start and the xor-connector right behind transition stop. We remove
connectors by merging preset and postset places and we also delete corresponding arcs.
In Line 9, we delete transition start and place psptraert in its preset. Thereby, place psptraert
becomes the initial place of the workflow net and we mark this place by one token. In
Line 11, we remove transition stop and place psptoospt in its preset to get the final result
of the folding procedure. Altogether, Algorithm 1 constructs a workflow net enabled to
execute every labeled partial order of the specification. For the proof we refer the reader
to [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] but state the following theorem.
        </p>
      </sec>
      <sec id="sec-2-7">
        <title>Theorem 1. Let L be a set of labeled partial orders and construct a workflow net wn</title>
        <p>from L using Algorithm 1. Each labeled partial order lpo 2 L is enabled in wn.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Revised Folding Algorithm</title>
      <p>In this section we will introduce a revised folding algorithm to construct a workflow
net from a specification. Folding is very efficient and generates an intuitive workflow
net, but for most examples the workflow net is able to execute additional runs. This is
reasonable if the specification is incomplete. However, if we assume that the
specification is complete, additional behavior should not be included in the business process
model. In the following, we detect and deal with additional behavior introduced within
the folding procedure.</p>
      <p>During the folding procedure, Hasse-diagrams define sets of preceding and
succeeding transitions but sometimes, considering only these dependencies is insufficient.
In a business process an early decision can easily determine later alternatives.</p>
      <p>We consider Figure 1 and Figure 2 as an example. There is only one event labeled
get water using coffee-pot. The building block of get water using coffee-pot has one
preceding label set, i.e. funlockg. According to Figure 2, the transitions get water using
glass-pot, turn off, and unlock can occur. This prefix enables get water using coffee-pot
by the occurrence of unlock. This results in the Hasse-diagram depicted in Figure 4.</p>
      <p>As stated above, the Hasse-diagrams of the specification define preceding and
succeeding label sets to construct building blocks. Considering these sets defined by the
transitive relation of the labeled partial orders constructs a workflow net with minimal
additional behavior. The occurrence of any transition in this net is conditioned by the
occurrence of all transitions corresponding to the complete history of a
corresponding event. Obviously, this leads to an unreadable workflow net with a huge number of
connectors and arcs.</p>
      <p>Our aim is to identify so-called dependency diagrams, a compromise between the
Hasse-diagrams and the partial orders, in order to modify the specification thus that
additional behavior of a folded model is restricted as far as possible. The fewer
dependencies we add, the smaller is the constructed workflow net.</p>
      <sec id="sec-3-1">
        <title>Definition 9. Let (V; &lt;; l) be a labeled partial order, let (V; /; l) be its Hasse-diagram,</title>
        <p>and denote T the set of labels. Let (D; E) be a pair of sets of labels, we denote /[D;E] =
/ [ f(e; e0)je &lt; e0; l(e) 2 D; l(e0) 2 Eg the dependency relation of &lt; with regard
to (D; E). We call (V; /[D;E]; l) the dependency diagram of (V; &lt;; l) with regard to
(D; E).</p>
        <p>Of course, /[;;;] = / and /[T;T ] =&lt;, i.e. every dependency diagram is some tradeoff
between the Hasse-diagram and the labeled partial order.</p>
        <p>Our revised folding algorithm starts by constructing a workflow net from a set of
Hasse-diagrams. If this workflow net contains additional behavior, an enabled but not
specified partial order is generated. We modify the set of Hasse-diagrams to get a set of
dependency diagrams so that folding these diagrams leads to a net that does not enable
the additional partial order. We repeat this procedure to get a workflow net that has no
additional behavior if such a workflow net exists. Let us now take a closer look at every
step of the revised folding algorithm.</p>
        <p>
          We construct the initial workflow net using Algorithm 1. We generate the behavior
of this model by an unfolding procedure. We calculate a so-called branching process
[
          <xref ref-type="bibr" rid="ref20 ref21 ref22">21, 20, 22</xref>
          ] describing all enabled labeled partial orders. It is easy to calculate such
branching processes for workflow nets because they only branch at xor-splits.
Moreover, we do not calculate the complete (maybe infinite) behavior of the workflow net
but stop generating the behavior as soon as we construct not specified behavior. If there
is not specified behavior, there is at least one so-called wrong continuation. A wrong
continuation is a labeled partial order enabled in the workflow net and not part of the
specification. Removing one event from a wrong continuation yields a specified partial
order. Wrong continuations were originally defined in the area of synthesis of Petri nets
from step sequences [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and for synthesizing Petri nets from partial orders [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
(V nfeg; &lt; j(V nfeg) (V nfeg); ljV nfeg) 2 L holds.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Definition 10. Let L be a specification and let T be the set of labels. A labeled partial</title>
        <p>order (V; &lt;; l) 62 L is called a wrong continuation if there is an event e 2 V so that</p>
        <p>We consider Figure 4 as an example. The events grind beans, turn off, unlock, get
water using coffee-pot, and get water using glass-pot form a wrong continuation.</p>
        <p>In the last step of the revised folding algorithm, we modify the specification to
exclude a wrong continuation. The main idea is to extend the preceding and succeeding
label sets appropriately, before restarting the folding procedure.</p>
        <p>Definition 11. Let L = f(V1; &lt;1; l1); : : : ; (Vn; &lt;n; ln)g be a specification and L/ =
f(V1; /1; l1); : : : ; (Vn; /n; ln)g be its set of Hasse-diagrams. Denote T the set of labels.
Let (Vw; &lt;w; lw) be a wrong continuation and (Vw; /w; lw) be its Hasse-diagram.</p>
        <p>Let (D; E) be a pair of label sets and let l; l0 be two labels. We call l dependent on l0
if for all (V; &lt;; l) 2 L; v 2 V; l(v) = l: l0 2 fl(v0)jv0 /[D;E] vg. We denote M [D;E](l0)
the set of all labels that depend on l0.</p>
        <p>(D; E) is called disabling pair of (Vw; &lt;w; lw) if one of the following conditions
holds:
(a) There is an e0 2 Vw so that there is no (Vi; &lt;i; li) 2 L; e 2 Vi; li(e) = lw(e0):
fli(v)jv /[iD;E] eg</p>
        <p>flw(v)jv &lt;w e0g holds.
fli(v)je /[iD;E] vg</p>
        <p>flw(v)je0 /[wD;E] vg \ M [D;E](lw(e0)) holds.
(b) There is an e0 2 Vw so that there is no (Vi; &lt;i; li) 2 L; e 2 Vi; li(e) = lw(e0):</p>
        <p>A disabling pair (D; E) defines a modification of a specification. This modification
yields a set of dependency diagrams. Every dependency diagram includes the
Hassediagram and extends this diagram by all transitive arcs leading from labels in D to
labels in E. We denote the resulting specification by L[D;E].
Theorem 2. Let L be a specification, lpow be a wrong continuation, and (D; E) be
a disabling pair of lpow. If we construct a workflow net wn from L[D;E] using
Algorithm 1, lpow is not enabled in wn.</p>
        <p>Proof. Either (a) or (b) of Definition 11 holds.</p>
        <p>If (a) holds, there is an event e0 2 Vw for which no event e 2 Vi, (Vi; &lt;i; li) 2 L,
li(e) = lw(e0) exists so that fli(v)jv /[iD;E] eg flw(v)jv &lt;w e0g holds.</p>
        <p>Algorithm 1 will build and-connectors related to preceding label sets in the building
block of l(e0). For every and-connector there is a choice of e 2 Vi, (Vi; &lt;i; li) 2 L,
li(e) = lw(e0) so that the and-connector is related to fli(v)jv /[iD;E] eg. fli(v)jv /[iD;E]
eg is not included in flw(v)jv &lt;w e0g. After the occurrence of flw(v)jv &lt;w e0g the
and-connector is not enabled. The same holds for every other preceding and-connector
of the building block of lw(e0). e0 can not occur after the occurrence of its prefix. lpow
is not enabled in wn.</p>
        <p>If (b) holds, there is an event e0 2 Vw for which no event e 2 Vi, (Vi; &lt;i; li) 2 L,
li(e) = lw(e0) exists so that fli(v)je /[iD;E] vg flw(v)je0 /[wD;E] vg \ M [D;E](lw(e0))
holds.</p>
        <p>Algorithm 1 will build and-connectors related to succeeding label sets in the
building block of l(e0). For every and-connector there is a choice of e 2 Vi, (Vi; &lt;i; li) 2 L,
li(e) = lw(e0) so that the and-connector is related to fli(v)je/[iD;E] vg. flw(v)je0 /[wD;E]
vg \ M [D;E](lw(e0)) is not included in fli(v)je /[iD;E] vg. The occurrence of this
andconnector will not enable all actions in flw(v)je0 /[wD;E] vg \ M [D;E](lw(e0)), but every
such action depends on the occurrence of l(e0). The same holds for every other
andconnector of the building block l(e0). When executing lpow in wn there is at least one
action missing a token from the building block l(e0). lpow is not enabled in wn.</p>
        <p>Both conditions (a) and (b) suppress the executability of a wrong continuation in a
workflow net representing the dependencies introduced from the disabling pair. As an
example, we consider the wrong continuation depicted in Figure 4. A disabling pair of
label sets is (fstartg; fget water using coffee-potg). In the Hasse-diagram depicted in
Figure 1, the succeeding label set B1 of start according to this disabling pair is fgrind
beans, turn off, get water using coffee-potg. In other words, get water using coffee-pot
is added to the original succeeding label set. The succeeding label set B2 of start of
Figure 2 stays unchanged. In Figure 4 the succeeding label set W of start according to
the disabling pair is fgrind beans, turn off, get water using glass-pot, get water using
coffee-potg. This set W is not covered by B1 or B2 so that condition (b) of Definition 11
holds. The wrong continuation is not enabled if the additional dependency between start
and get water using coffee-pot is considered when constructing corresponding building
blocks. Altogether, if we add one transitive arc to the Hasse-diagram depicted in Figure
1 (from start to get water using coffee-pot) and apply Algorithm 1, we construct a
workflow net which is not able to execute the Hasse-diagram depicted in Figure 4.
In this example, the resulting workflow net (depicted in Figure 7) behaves exactly as
specified.</p>
        <p>Algorithm 2 implements the revised folding procedure. The input is a set of labeled
partial orders. In Line 3 and Line 4, we invoke Algorithm 1. While the result of
Algorithm 1 has additional behavior, we calculate a wrong continuation in Line 6. We
construct a disabling pair (if such a pair exists) or add the wrong continuation to a set
W . W contains all wrong continuations which cannot be excluded from a workflow
net including the specified behavior. In Line 8, we update the set of Hasse-diagrams by
constructing a set of dependency diagrams. We fold again to get a new workflow net
still including the specified behavior (and W ), but excluding the wrong continuations
(Line 9). Just like Algorithm 1, Algorithm 2 constructs a workflow net able to execute
every labeled partial order of the specification. Furthermore, Algorithm 2 excludes not
specified behavior whenever possible.</p>
        <p>The runtime of the new algorithm consists of three parts. It is the sum of the
runtime of the folding procedures, the runtime of the unfolding procedures (to check for
wrong continuations), and the runtime of the calculations of disabling pairs. Every
folding procedure is fast. For every event we compute the preceding and succeeding labels
and build the corresponding connectors in the workflow net. The worst case
complexity of the unfolding procedure is in exponential time. However, the average runtime,
where a workflow net has a reasonable level of concurrent activities, is still fast and is
determined by the number of xor-split connectors. The most time consuming part is to
find a disabling pair. Altogether, the presented algorithm can be slow, especially if the
workflow net has a lot of wrong behavior and describes a lot of concurrency. But in this
case, it is possible to stop the algorithm after each iteration and still have a reasonable
result.</p>
        <p>
          The presented revised folding approach is implemented and available in our tool
called MoPeBs Cheetah. MoPeBs Cheetah is a lightweight editor showcasing the
revised folding algorithm plug-in of our tool set VipTool [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. VipTool supports various
algorithms related to partially ordered behavior of Petri nets [
          <xref ref-type="bibr" rid="ref24 ref25">24, 25</xref>
          ]. Figure 8 depicts
a screenshot of MoPeBs Cheetah. MoPeBs Cheetah (including examples for the
folding algorithm and the revised folding algorithm) is available at
https://www.fernunihagen.de/sttp/forschung/mopebs.shtml.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We recapitulated a folding algorithm to generate a workflow net from a specification.
The specification is a set of labeled partial orders. The presented algorithm generates
an intuitive model by representing the direct dependencies included in the specification.
The generated workflow net is able to execute all specified runs. Moreover, this
algorithm usually rounds off the specification, i.e. additional runs which are similar to the
specified labeled partial orders are executable in the generated workflow net as well.
This is reasonable in cases where the specification is considered to be incomplete.</p>
      <p>Reusing the folding algorithm, we introduced a revised folding approach. Starting
with an initial model, this iterative approach is able to discover transitive dependencies
in the specification which yield a more precise process model. The size of the generated
model heavily depends on the number of wrong continuations but for most examples,
the generated results are readable as well. The generated workflow net can easily be
translated into an EPC, BMPN-model, YAWL-model or an Activity Diagram. These are
often used for practical applications. Using an interactive version of the revised folding
approach, it is easy to validate the specification while generating a process model. We
can add reasonable wrong continuations to the specification while excluding unwanted
behavior. All in all, in contrast to other process mining algorithms, the revised folding
approach provides perfect control over the language of the generated business process
model.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Bergenthum</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; Mauser,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Folding Partially Ordered Runs</article-title>
          .
          <source>Proc. of workshop Application of Region Theory (ART)</source>
          <year>2011</year>
          <article-title>(Desel</article-title>
          , J.;
          <string-name>
            <surname>Yakovlev</surname>
          </string-name>
          , A. eds.),
          <source>CEUR 725</source>
          ,
          <fpage>52</fpage>
          -
          <lpage>62</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Mayr</surname>
            ,
            <given-names>H. C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kop</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Esberger</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Business Process Modeling and Requirements Modeling</article-title>
          .
          <source>Proc. of International Conference on the Digital Society (ICDS)</source>
          <year>2007</year>
          , IEEE, Los Alamitos
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Oestereich</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Objektorientierte Gescha¨ftsprozessmodellierung und modellgetriebene Softwareentwicklung. HMD-Praxis Wirtschaftsinformatik 241, dpunkt</article-title>
          .verlag,
          <fpage>27</fpage>
          -
          <lpage>33</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <source>Business Process Management: Concepts</source>
          , Languages, Architectures. Springer, Berlin,
          <year>2012</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Glinz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Improving the quality of requirements with scenarios</article-title>
          .
          <source>Proc. of World Congress on Software Quality</source>
          <year>2000</year>
          , JUSE, Yokohama,
          <fpage>55</fpage>
          -
          <lpage>60</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Mayr</surname>
            ,
            <given-names>H. C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kop</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A User Centered Approach to Requirements Modeling</article-title>
          .
          <source>Proc. of Modellierung</source>
          <year>2002</year>
          , (Glinz,
          <string-name>
            <surname>M.</surname>
          </string-name>
          ;
          <article-title>Mu¨ller-</article-title>
          <string-name>
            <surname>Luschnat</surname>
          </string-name>
          , G. eds.), LNI P-
          <volume>12</volume>
          ,
          <fpage>75</fpage>
          -
          <lpage>86</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Desel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>From Human Knowledge to Process Models</article-title>
          .
          <source>Information Systems and e-Business Technologies</source>
          <year>2008</year>
          , (Kaschek, R.; Kop,
          <string-name>
            <given-names>C.</given-names>
            ;
            <surname>Steinberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ;
            <surname>Fliedl</surname>
          </string-name>
          , G. eds.
          <source>) LNBIP</source>
          <volume>5</volume>
          ,
          <fpage>84</fpage>
          -
          <lpage>95</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>van der Aalst</surname>
            , W. M. P.; van Dongen,
            <given-names>B. F.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Herbst</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Maruster</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Schimm</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Weijters</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. J. M. M.</surname>
          </string-name>
          <article-title>: Workflow Mining: A Survey of Issues and Approaches</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>47</volume>
          (
          <issue>2</issue>
          ), (Chen, P. P. ed.), Elsevier,
          <year>2003</year>
          , Philadelphia,
          <fpage>237</fpage>
          -
          <lpage>267</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Darondeau</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Region Based Synthesis of P/T-Nets and
          <article-title>its Potential Applications</article-title>
          .
          <source>Proc. of Petri Nets</source>
          <year>2000</year>
          , (Nielsen,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Simpson</surname>
          </string-name>
          , D. eds.),
          <source>LNCS</source>
          <year>1825</year>
          ,
          <volume>16</volume>
          -
          <fpage>23</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Badouel</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Darondeau</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <source>Theory of regions. Lectures on Petri Nets I: Basic Models</source>
          , (Reisig,
          <string-name>
            <surname>W.</surname>
          </string-name>
          ; Rozenberg G. eds.),
          <source>LNCS 1491</source>
          ,
          <fpage>529</fpage>
          -
          <lpage>586</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Bergenthum</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; Desel,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ; Lorenz,
          <string-name>
            <surname>R.</surname>
          </string-name>
          ; Mauser,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Synthesis of Petri Nets from Term Based Representations of Infinite Partial Languages</article-title>
          .
          <source>Fundamenta Informaticae (95)</source>
          ,
          <fpage>187</fpage>
          -
          <lpage>217</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          : Petrinetze: Modellierungstechnik, Analysemethoden, Fallstudien. Leitfa¨den der Informatik, Vieweg+Teubner 2010
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Scheer</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          .-W.: ARIS - Vom
          <source>Gescha¨ftsprozess zum Anwendungssystem</source>
          . Springer, Berlin,
          <year>2002</year>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>White</surname>
            ,
            <given-names>S. A.</given-names>
          </string-name>
          :
          <article-title>Introduction to BPMN</article-title>
          .
          <source>IBM Cooperation</source>
          ,
          <year>2004</year>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W. M. P.; ter Hofstede,
          <string-name>
            <surname>A. H. M.: YAWL: Yet Another Workflow Language. (Shasha</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; Vossen, G. eds.)
          <source>Information Systems</source>
          <volume>30</volume>
          (
          <issue>4</issue>
          ), Elsevier,
          <year>2005</year>
          ,
          <fpage>245</fpage>
          -
          <lpage>275</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16] International Organization for Standardization: Information technology - Object
          <source>Management Group Unified Modeling Language - Part</source>
          <volume>1</volume>
          : Infrastructure, ISO 19505-1:
          <year>2012</year>
          , 2012
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17] International Organization for Standardization: Information technology - Object
          <source>Management Group Unified Modeling Language - Part</source>
          <volume>2</volume>
          : Superstructure, ISO 19505-2:
          <year>2012</year>
          , 2012
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Kiehn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>On the Interrelation Between Synchronized and Non-Synchronized Behaviour of Petri Nets. (Dassow</article-title>
          , J.;
          <string-name>
            <surname>Reichel</surname>
          </string-name>
          , B. eds.)
          <source>Journal of Information Processing and Cybernetics</source>
          <volume>24</volume>
          (
          <issue>1-2</issue>
          ), Otto von Guericke Universita¨t,
          <year>1988</year>
          ,
          <fpage>3</fpage>
          -
          <lpage>18</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Vogler</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Modular Construction and Partial Order Semantics of Petri Nets</article-title>
          .
          <source>LNCS 625</source>
          ,
          <year>1992</year>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Goltz</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          : Processes of Place/Transition-Nets. (Diaz, J. ed.)
          <source>Automata, Languages and Programming, LNCS 154</source>
          ,
          <year>1983</year>
          ,
          <fpage>264</fpage>
          -
          <lpage>277</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Goltz</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>The Non-Sequential Behaviour of Petri Nets</article-title>
          . (Meyer, A. R. ed.)
          <source>Information and Control</source>
          <volume>57</volume>
          (
          <issue>2</issue>
          ), Elsevier 154,
          <year>1983</year>
          ,
          <fpage>125</fpage>
          -
          <lpage>147</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Bergenthum</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; Mauser,
          <string-name>
            <surname>S.</surname>
          </string-name>
          ; Lorenz,
          <string-name>
            <surname>R.</surname>
          </string-name>
          ; Juha´s, G.:
          <source>Unfolding Semantics of Petri Nets Based on Token Flows. Information and Control</source>
          <volume>57</volume>
          (
          <issue>2</issue>
          ), (Niwin´ski, D.; Son Nguyen, H. eds.),
          <source>Fundamenta Informaticae</source>
          <volume>94</volume>
          (
          <issue>3</issue>
          ),
          <year>2009</year>
          ,
          <fpage>331</fpage>
          -
          <lpage>360</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Desel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ; Juha´s, G.; Lorenz,
          <string-name>
            <surname>R.</surname>
          </string-name>
          ; Neumair,
          <string-name>
            <surname>C.</surname>
          </string-name>
          :
          <article-title>: Modelling and Validation with VipTool</article-title>
          .
          <source>Proc. of Business Process Management</source>
          , (van der Aalst,
          <string-name>
            <given-names>W. M. P.</given-names>
            ;
            <surname>Weske</surname>
          </string-name>
          , M. eds.),
          <source>LNCS 2678</source>
          ,
          <year>2003</year>
          ,
          <fpage>380</fpage>
          -
          <lpage>389</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Bergenthum</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; Mauser,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Synthesis of Petri Nets from Infinite Partial Languages with VipTool</article-title>
          .
          <source>Proc. of workshop Algorithmen und Werkzeuge fu¨r Petrinetze</source>
          <year>2008</year>
          , (Lohmann, N.;
          <string-name>
            <surname>Wolf</surname>
          </string-name>
          , K. eds.),
          <source>CEUR 380</source>
          ,
          <year>2003</year>
          ,
          <fpage>81</fpage>
          -
          <lpage>86</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Bergenthum</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; Desel,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ; Juha´s, G.; Lorenz,
          <string-name>
            <surname>R.</surname>
          </string-name>
          :
          <article-title>Can I Execute My Scenario In Your Net? VipTool Tells You!</article-title>
          .
          <source>Proc. of Petri Nets and Other Models of Concurrency</source>
          <year>2006</year>
          ,
          <article-title>(Donatelli, S.;</article-title>
          <string-name>
            <surname>Thiagarajan</surname>
          </string-name>
          , P.S. eds.),
          <source>LNCS 4024</source>
          ,
          <year>2006</year>
          ,
          <fpage>381</fpage>
          -
          <lpage>390</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>