<!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>From Declarative Processes to Imperative Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Johannes Prescher</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudio Di Ciccio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Mendling?</string-name>
          <email>jan.mendlingg@wu.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Vienna University of Economics and Business</institution>
          ,
          <addr-line>Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays organizations support their creation of value by explicitly defining the processes to be carried out. Processes are specifically discussed from the angle of simplicity, i.e., how compact and easy to understand they can be represented. In most cases, organizations rely on imperative models which, however, become complex and cluttered when it comes to flexibility and optionality. As an alternative, declarative modeling reveals to be effective under such circumstances. While both approaches are well known for themselves, there is still not a deep understanding of their semantic interoperability. With this work, we examine the latter and show how to obtain an imperative model out of a set of declarative constraints. To this aim, we devise an approach leading from a Declare model to a behaviorally equivalent Petri net. Furthermore, we demonstrate that any declarative control flow can be represented by means of a Petri net for which the property of safety always holds true.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The definition of valid behavior is at the core of every organization in order to support
the creation of value. Such behavior is in most cases modeled using an imperative
concept, e.g., by means of notations such as Petri nets [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or BPMN [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. They explicitly
describe the options to continue at each state. However, while imperative approaches
are a strong concept when it comes to well-defined processes, they lack clarity once
an observed behavior allows for flexible execution. In this case, models following a
declarative approach are able to describe the behavior in a more compact way [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Recent research, however, acknowledges that hardly any of the available
representations would be superior in all circumstances. For instance, it was pointed out that
imperative and declarative models are favoring different types of comprehension tasks
[
        <xref ref-type="bibr" rid="ref19 ref31">19, 31</xref>
        ]. Therefore, approaches have been proposed to represent a mined process partly
as an imperative model and partly as a declarative model [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ]. A problem in this
context is, however, to choose which parts would better be shown in either way. In order
to allow for an informed decision, a preliminary question has to be answered: is there a
possibility to represent the same behavior regardless of the notation?
      </p>
      <p>In this paper, we start answering this research question by describing how to derive
an imperative model from a declarative one. We build upon existing work on
transformations from Transition Systems to Petri nets by extending the approach to a tool chain
? The research leading to these results has received funding from EU Seventh Framework
Programme (FP7) under grant agreement 318275 (GET Service).
that leads from a Declare model to a behaviorally equivalent Petri net. We implemented
and tested our approach using the logs of the BPI Challenge from 2013. Lastly, we show
that the imperative version always holds the property of safety.</p>
      <p>The paper is structured as follows. Section 2 defines the background of our
research, namely preliminaries of different representations including automata, transition
systems, Petri nets, and Declare. Section 3 defines our transformation approach.
Section 4 demonstrates the feasibility of our approach using a prototypical implementation
applied to the BPI Challenge 2013. Section 5 discusses related work before Section 6
concludes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>In this section, we discuss Finite State Automata as generic, yet verbose representations
of behavior. Then, we revisit the essential concepts of Petri nets. Finally, we introduce
Declare as a representation based on behavioral constraints.</p>
      <p>b
a
d
c
a
c
p + t
b
d
d
b
q + 2r + s
c
a
p
q
r
s
t
q + r + t
p + r + s
In general, a process can be described as a stateful artifact characterized by its
conversational behavior, i.e., its potential evolutions resulting from the interaction with some
external system, such as a client service. The finite set of possible interactions
constitutes the so-called process alphabet. The conversational behavior can be represented
as a Finite State Automaton (FSA). Its transitions are labeled by process activities,
under the assumption that each legal run of the system corresponds to a conversation
supported by the process. A process behavior is represented by a finite deterministic
Transition System S = hA; S; s0; ; Sf i, where: A is the process alphabet; S is the
finite non-empty set of states; s0 2 S is the initial state; : S A ! S is the transition
function (by s !a s0 we denote that, from state s, transition a leads to state s0); Sf S
is the set of final states.</p>
      <p>The initial and final states respectively correspond to a legal initialization and
termination of the process lifecycle. W.l.o.g., we assume that every state is reachable by
traversing the automaton, starting from the initial state. Thus, in Figure 1, the process
would admit the instance to either (i) perform activity a and then b an arbitrary number
of times, and finally d, then terminate, or (ii) perform c once and terminate. We can
consider FSAs to be for process modeling what Assembly is for computer
programming. FSAs are simple and valuable in terms of expressive power, but have problems
modeling concurrency succinctly. Suppose that there are n parallel activities, i.e., all n
activities need to be executed but any order is allowed. There are n! possible execution
sequences. The FSA thus requires 2n states and n 2n 1 transitions. This is an
example of the well-known “state explosion” problem. Concurrency is known to be well
handled by Petri nets.
2.2</p>
      <sec id="sec-2-1">
        <title>Petri nets</title>
        <p>
          Petri nets (PNs) originate from the Ph.D. thesis of Carl Adam Petri [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]. A PN is a
directed bipartite graph. Its vertices can be divided into two disjoint finite sets consisting
of places and transitions. Every arc of a PN connects a place to a transition or vice versa,
but neither two places nor two transitions can be directly connected. Formally, a Petri
net is a tuple P = hP; T; F i, where:
– P is a finite set of places;
– T is a finite set of transitions;
– F (P T ) [ (T P ) is the flow relation.
        </p>
        <p>Places in a PN may contain a discrete number of marks called tokens. Any distribution
of tokens over the places represents a configuration of the net called marking.
Formally, a marking of a PN is a multiset of its places, i.e., a mapping M : P ! N. We
say the marking assigns a number of tokens (graphically represented as black dots) to
each place; it represents a state of the system and can be regarded as a vector of
nonnegative integers of length P . We thus denote a marking M as a linear combination
of places, where the linear factor corresponds to the number of tokens in the place.
In the following, we will adopt either the vectorial or the polynomial notation (e.g.,
M0 = (1; 0; 0; 0; 1) for states p; q; r; s; t in Figure 2, which we also denote as p + t)
to this extent. A transition t 2 T of a PN may fire whenever there are sufficient tokens
at the start of all input arcs; when it fires, it consumes these tokens, and puts tokens
at the end of all output arcs. Thus, t leads from a marking M1 2 M to a marking
M2 2 M (M1 !t M2). In other words, M2 is reachable from M1 by means of t.
Firings are atomic, i.e., single non-interruptible steps. PNs are always associated to an
initial marking M0, denoting the initial status of the described system. The set of all
markings reachable from M0 is called its reachability set. A PN with initial marking
M0 is k-bounded iff for every reachable marking M , no place contains more than k
tokens (k is the minimal number for which this holds). A 1-bounded net is called safe.
Figure 2 depicts a 2-bounded PN. A labeled Petri net is a PN with labeling function
: T ! A, which puts into correspondence every transition of the net with a symbol
(called label) from the alphabet A. Henceforth, we will refer to labeled PNs simply as
PNs, for the sake of conciseness.</p>
        <p>Thus, modeling a process in terms of a Petri net is rather straightforward: (i)
activities are modeled by transitions; (ii) conditions are modeled by places; (iii) cases are
modeled by tokens. Figure 2 depicts the parallel evolution of two separate branches of
the execution, one involving a loop of c’s and d’s, the other involving loops of a’s and
b’s.</p>
        <p>Participation(a) [ˆa]*(a[ˆa]*)+[ˆa]*
Existence constraints</p>
        <p>AtMostOne(a) [ˆa]*(a)?[ˆa]*
Relation constraints
Mutual relation
constraints
Negative relation
constraints</p>
        <p>Init(a) a.*</p>
        <p>End(a) .*a
RespondedExistence(a; b) [ˆa]*((a.*b.*)|(b.*a.*))*[ˆa]*</p>
        <p>Response(a; b) [ˆa]*(a.*b)*[ˆa]*
AlternateResponse(a; b) [ˆa]*(a[ˆa]*b[ˆa]*)*[ˆa]*</p>
        <p>ChainResponse(a; b) [ˆa]*(ab[ˆa]*)*[ˆa]*</p>
        <p>Precedence(a; b) [ˆb]*(a.*b)*[ˆb]*
AlternatePrecedence(a; b) [ˆb]*(a[ˆb]*b[ˆb]*)*[ˆb]*</p>
        <p>ChainPrecedence(a; b) [ˆb]*(ab[ˆb]*)*[ˆb]*</p>
        <p>CoExistence(a; b) [ˆab]*((a.*b.*)|(b.*a.*))*[ˆab]*</p>
        <p>Succession(a; b) [ˆab]*(a.*b)*[ˆab]*
AlternateSuccession(a; b) [ˆab]*(a[ˆab]*b[ˆab]*)*[ˆab]*</p>
        <p>ChainSuccession(a; b) [ˆab]*(ab[ˆab]*)*[ˆab]*
NotChainSuccession(a; b) [ˆa]*(aa*[ˆab][ˆa]*)*([ˆa]*|a)</p>
        <p>NotSuccession(a; b) [ˆa]*(a[ˆb]*)*[ˆab]*</p>
        <p>NotCoExistence(a; b) [ˆab]*((a[ˆb]*)|(b[ˆa]*))?</p>
      </sec>
      <sec id="sec-2-2">
        <title>Reachability Graph and Bisimulation The Reachability Graph (RG) of a PN is a</title>
        <p>
          Transition System in which (i) the set of states is the reachability set (every state is
thus a reachable marking), (ii) the alphabet coincides with the one of the net, and
(iii) M1 !t M2 iff there exists a transition t in the net that leads from marking M1 to
M2. Figure 3 depicts the Reachability Graph for the PN of Figure 2. With a slight abuse
of terminology, we will thus refer to the bisimulation [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] of a Petri net and a
Transition System, meaning that the Reachability Graph of the PN and the Transition System
(TS) are bisimilar. We recall here that bisimulation relation is a behavioral equivalence
relation, which entails the impossibility for an external user to distinguish the behavior
of the two systems. As a consequence, the two systems are trace-equivalent (see [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]).
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Declare Constraints</title>
        <p>The need for flexibility in the definition of some types of process has lead to an
alternative to the classical “imperative” approach: the “declarative” one. The classical
approach is called “imperative” (or also “procedural”) because it explicitly represents
every step allowed by the process model at hand, by means of transitions (the possible
actions to do) among places/states (the legal situations where the process can wait or
terminate). This leads to the likely increase of graphical objects as the process allows
more alternative executions. The size of the model, though, has undesirable effects on
understandability and likelihood of errors – see for instance work on process modeling
b; c</p>
        <p>a; b; c
a
c
a; c</p>
        <p>
          b
b
a; c
a
b
c
a
a; b
guidelines [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. In fact, larger models tend to be more difficult to understand [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], not to
mention the higher error probability from which they suffer, with respect to small
models [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. Rather than using a procedural language for expressing the allowed sequences
of activities, it is based on the description of workflows through the usage of constraints:
the idea is that every task can be performed, as long as its execution does not violate
any of the specified constraints [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]. Declare [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] is a language defining an extensible
set of templates for constraints. Declare constraint templates can be divided into two
main types: existence constraints CE , and relation constraints CR. The former consists
of constraint templates constraining single activities. As such, existence constraints can
be expressed as predicates over one variable (the constrained activity): CE (x). The
latter comprises rules that are imposed on target activities, when activation tasks occur.
Relation constraints thus correspond to predicates of arity two: CR(x; y). Process
alphabet A is the domain of interpretation for constraints. Given a (possibly empty) set
of existence constraints of size m &gt; 0 (resp. relation constraints, of size n &gt; 0)
interpreted over alphabet A, each denoted as CEAi (x) (resp. CRAj (x; y)), the declarative model
consists of their conjunction: CEA1 (x) ^ : : : ^ CEAm (x) ^ CRA1 (x; y) ^ : : : ^ CRAn (x; y).
        </p>
        <p>Participation(a) is an existence constraint, which requires the execution of a at
least once in every process instance. AtMostOne(a) is its dual, as it specifies that
a is not executed more than once in a process instance. End (a) requires that a
occurs in every case as the last activity carried out. RespondedExistence(a; b) is a
relation constraint. It imposes that if a is performed at least once during the
enactment of the process, b must be executed at least once as well, either in the future
or in the past, with respect to the time in which a is carried out. Response(a; b)
enforces RespondedExistence(a; b) by specifying that b must occur eventually
afterwards. AlternateResponse(a; b) adds to Response(a; b) the condition that no other
a’s occur between an execution of a and a subsequent b. Two specializations of the
relation constraints are mutual relation constraints and negative relation constraints.
Mutual relation constraints are such that both constrained activities are activation and
target. For instance, CoExistence(a; c) is a mutual relation constraint requiring that if
a is executed, then c must be performed as well, and vice versa, in any order.
Negative relation constraints are such that both constrained activities are activation and
target as well. However, the occurrence of one activity excludes the occurrence of the
other. For instance, NotCoExistence(a; b) is a negative relation constraint imposing
that if a is executed, then b cannot be performed at all in the trace, and vice versa.</p>
        <p>Decl. Constraints</p>
        <p>Reg. Expressions</p>
        <p>Automaton
Petri net
synthesis
NotSuccession(a; b) is a looser constraint, because it requires that no b’s occur after
a (and therefore no a’s before b). NotChainSuccession(a; b) requires that the next
activity after a cannot be b. An example of graphical representation for a simple Declare
process model is drawn in Figure 6a.</p>
        <p>
          The semantics of Declare templates have been expressed as formulations of several
formal languages: as Linear Temporal Logic over Finite Traces (LTLf ) formulas [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ],
in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]; as SCIFF integrity constraints [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]; as First Order Logic (FOL) formulas,
interpreted on finite traces, in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], based on [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]; as Regular Expressions (REs) in
[
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. In particular, our work will build upon the last translation, as explained in the next
section. Table 1 reports the semantics of Declare constraints as REs. In the table, as
well as in the remainder of this paper, we adopt POSIX standard shortcuts for REs, for
the sake of brevity. Therefore, in addition to the known Kleene star (*), alternation (|)
and concatenation ( ) operators, we make use here of (i) the . and [ˆx] shortcuts for
respectively matching any character in the alphabet, or any character but x, (ii) the +
and ? operators for respectively matching from one to any, or none to one, occurrences
of the preceding expression. We will also utilize the intersection operator &amp; for REs.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conceptual Framework</title>
      <p>In this section, we show an approach that describes how to compute a Petri net
corresponding to a Declare process model. This approach serves as a conceptual framework
for proving that there always exists a Petri net which is bisimilar to a Declare process
model. Furthermore, the returned PN is proven to be safe. The computation consists of
three main steps, as sketched in Figure 5.</p>
      <sec id="sec-3-1">
        <title>Declarative constraints to Regular Expressions. We represent all declarative con</title>
        <p>straints as REs. Each constraint maps to a single RE, i.e., the mapping is one-to-one (cf.
Table 1). REs apply to characters. Owing to this, our approach identifies each activity
in the process alphabet with a character.</p>
        <p>
          Regular Expressions to Finite State Automaton. The allowed behavior is given by
the conjunction of all Declare constraints. Hence, it maps to the intersection of the
languages accepted by corresponding REs, i.e., the language accepted by the conjunction
of the REs (which is in turn a RE itself, being Regular Expressions close w.r.t. the
conjunction operation [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]). For the sake of conciseness, though, single REs are thought to
directly refer to those activities (characters). They are constrained by the corresponding
(b) FSA
a
a
b
p4
b
c
c
b
(a) Declare
constraint, disregarding the rest of the process alphabet in their formulation. Consider,
for example, Participation(a), depicted in Table 1. The corresponding RE requires the
occurrence of a at least once, but also allows any other input beforehand and afterwards.
Therefore, we need to limit the set of allowed characters to those which identify
activities in the process alphabet A (see Section 2). This is obtained by means of another
RE, which is put in conjunction with the constraint-related ones. This way, we can
define the declarative process model described by N constraints by means of a Regular
Expression, derived from the conjunction of N + 1 REs.
        </p>
        <p>As an example, we consider a process consisting of the following three constraints
and having process alphabet A = fa; b; cg:
– Participation(a), translating to [ˆa]*(a[ˆa]*)+[ˆa]*, referred to as
(re1),
– RespondedExistence(a; b), translating to [ˆa]*((a.*b.*)|(b.*a.*))*[ˆa]*,
referred to as (re2), and
– CoExistence(a; c), translating to [ˆaˆc]*((a.*c.*)|(c.*a.*))*[ˆaˆc]*,
referred to as (re3).</p>
        <p>The mere conjunction of (re1), (re2) and (re3) would still allow not only
for the characters representing activities but also for any input character. In order to
limit input characters to those which identify activities in the process alphabet, we thus
conjunct the aforementioned three to the following: ([abc]*). As a result, the final
RE is: (re1) &amp; (re2) &amp; (re3) &amp; ([abc]*).</p>
        <p>
          Continuing with our computation, we transform the RE into the corresponding FSA.
We recall here indeed that regular grammars are recognizable through Regular
Expressions [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Figures 4a to 4c depict the FSAs accepting the languages of (re1), (re2)
and (re3), respectively. Figure 6b shows the FSA which results from the example
we provided. Aside of the transitions that do not change its state, the FSA allows two
different runs before reaching its final state, i.e. either ha; bi or hb; ai.
        </p>
        <p>
          Finite State Automaton to Petri net. In the last step of our approach, we derive a Petri
net from the FSA. For this purpose, we rely on the theory of regions described in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ],
adopted to synthesize PNs from state-based models, such as Transition Systems (and
thus, a fortiori, FSAs). The rationale behind the theory of regions is to conglomerate
sets of places that share the same input and output transitions in common regions. The
regions translate to places in the derived PN. Input transitions lead to them, and output
transitions start from them. In particular, we adopt the approach described in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], which
is proven to return a safe Petri net from a Transition System, ensuring the bisimilarity
between the two systems (see Section 2.2).
        </p>
        <p>
          Figure 6c shows the Petri net stemming from the application of the technique of
Cortadella et al. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] to the FSA of our example. Just as the FSA, it contains four places
(p1; p2; p3; p4) and has the initial marking M = (1; 0; 1; 0), i.e., it contains a token
in p1 and p3. However, the places of the Petri net do not correspond directly to the
states of the FSA. Instead (again, without considering the firings that do not change
the marking), just as the FSA, the PN allows two different runs (ha; bi and hb; ai).
As the final state of the FSA allows for the execution of any activity in the process
alphabet (any character of the input alphabet), the PN also allows for this behavior
when its marking is M = (0; 1; 0; 1). Please note that such marking is reachable only
by means of the sequence of firings that replicate the sequence of characters leading to
the accepting state of the FSA.
        </p>
        <p>
          The reader can notice that the returned net presents multiple transitions labeled the
same, i.e., representing the same activity. This is due to the fact that label-splitting
can be avoided for derived safe PNs only if the Transition System has the property
of excitation closure for its transitions, i.e., only if the intersection of those states from
which the transitions start can be grouped in one single activating region [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. However,
such property is not guaranteed from the FSAs that Declare processes translate to. Later
work of Carmona et al. [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] shows how to balance the trade-off between k-boundedness
of the returned Petri net and the number of splitted labels.
        </p>
        <p>To sum up, applying the steps mentioned above, we derive an imperative model
from declarative constraints. Note that the operations we perform are transformations
that do not alter the behavior. Thus, not only the declarative constraints but also the
Regular Expression, the FSA and the PN represent the same behavioral
characteristics of the process. Furthermore, we have demonstrated by construction the following
theorem.</p>
        <p>Theorem 1. Given any Declare process model PD consisting of n &gt; 0 existence
constraints and m &gt; 0 relation constraints, expressed over process alphabet A,
PD = Vim=1 CEAi (x) ^ Vjn=1 CRAj (x; y), there always exist a safe Petri net model
PN = hP; T; F i labeled by : T ! A, which is bisimilar to PD and is safe.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Evaluation by Implementation</title>
      <p>In this section, we present a feasibility evaluation of our proposed concepts based on
a prototypical implementation. We first describe the implementation. Then, we present
the results of its application on a Declare model generated from a log of the BPI
Challenge 2013. Finally, we discuss insights from the case.</p>
      <p>Queued</p>
      <p>Accepted
Queued</p>
      <p>Queued</p>
      <p>Queued
(a) Declare model</p>
      <p>(b) Finite State Automaton derived from the Declare model</p>
      <sec id="sec-4-1">
        <title>4.1 Implementation</title>
        <p>
          In order to have the opportunity to analyze real-life declarative process models, we
have integrated our approach with a tool for the mining of declarative control flows
from event logs (see Figure 5), namely MINERful [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. The MINERful framework
comes with an integrated support of a library called dk.bricks.automaton [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ], for the
generation of FSAs out of Regular Expressions. We extended the integrated
MINERfuldk.bricks.automaton tool in order to make it capable of serializing FSAs into
TSMLencoded files. TSML (Transition System Markup Language) is indeed a format
supported by ProM, the Process Mining Toolkit [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. In this way, we have been able to
apply the ProM plug-in by van Dongen (see [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]), capable of converting a TSML-encoded
Transition System into a Petri net, by using Petrify (see [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]).
4.2
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Application to the BPI Challenge 2013</title>
        <p>
          As a real-world data set for validating the approach, we selected the “BPI Challenge
2013, closed problems” log [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ] as an application case. For the control-flow
discovery task, we have considered the activities’ names as their identifiers (Accepted,
Completed, Queued and Unmatched). We have set MINERful up in order to return
those constraints proven to be valid in every trace (support threshold equal to 1). The
discovered model consisted of the following 10 constraints:
        </p>
        <sec id="sec-4-2-1">
          <title>Response(Queued; Accepted)</title>
          <p>NotChainSuccession(Queued; Completed)
Response(Queued; Completed)
NotChainSuccession(Queued; Unmatched)
Response(Accepted; Completed)</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>End(Completed) NotSuccession(Completed; Unmatched)</title>
          <p>AtMostOne(Unmatched)
RespondedExistence(Unmatched; Accepted)
AlternateResponse(Unmatched; Completed)
The graphical representation of the model is depicted in Figure 7a. Figure 7b draws
the Finite State Automaton derived from the Declare model, and Figure 8 shows the
final outcome, as a Petri net. What we can observe from the comparison of the Declare
model and the behavior-equivalent Petri net is the multiplication of various activities.
q
c
c
a
a
a
q
a
q
a
q
c
c
c
a
q
c
u
a
a
c
a
c
a
q
a
c
c
q</p>
          <p>Although the Declare model seems to be more compact in terms of its nodes and edges,
it must be noted that the Petri net is presented as it was produced, i.e., it has not been
subject to any post-processing for reducing its complexity. However, the defined chain
of transformations provide us with the basis to study the trade-off between compactness
of the model and richness of the language in future experiments, conducted on
behaviorequivalent Petri nets and Declare models.
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related work</title>
      <p>
        The stream of research on the comparison of declarative and imperative modeling
approaches has been discussed considering different perspectives. In [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], Pichler et al.
investigate both imperative and declarative languages with respect to process model
understanding. The issue of maintainability for both languages is discussed in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. An
open problem for this experimental stream of research has been the question of what
a fair comparison is for declarative and imperative models. In this regard, the work of
[
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] and [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ] elaborates on mixed representations as a combination of both approaches
from a modeling perspective.
      </p>
      <p>
        Furthermore, research on automatic process discovery techniques has been defined
based on different representations and different techniques of discovery beyond the
classical alpha miner [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Our selection is not meant to be exhaustive, but rather
highlights those approaches that use constraints, automata or transition systems. Van der
Aalst et al. propose a two-step approach in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] in order to discover transition systems
which are then synthesized to Petri nets using the “theory of regions”. As well as Van
der Aalst et al., Maruster et al. suggested an approach for process discovery in which
they deal with noise and imbalance in process logs ([
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]). A tool manipulating
concurrent specifications, synthesis and optimization of asynchronous controllers is presented
in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In order to come up with a better understanding of the mutual strengths and
weaknesses of these approaches, De Weerdt et al. ([
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]) provide an extensive,
multidimensional survey of existing process discovery algorithms using real-life event logs.
Different representations are, however, not discussed in this survey. In this way, our
work provides a basis for an extensive comparison in the future.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In this paper, we described an approach to derive imperative process models from
declarative process control-flows. To this extent, we utilize a sequence of steps, leading
from declarative constraints to Regular Expressions, then to a Finite State Automaton,
and finally to a Petri net. We implemented our integrative approach as part of the
MINERful software package and evaluated it using the real world case of the BPI Challenge
2013. A remaining limitation is that we do not provide a sound solution for a
transformation from an arbitrary imperative model into a declarative representation. In future
research, we will address this issue. Furthermore, we plan to utilize the transformation
in the design of experiments to study the mutual benefits of PNs and Declare models in
model comprehension tasks.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.:</given-names>
          </string-name>
          <article-title>The application of petri nets to workflow management</article-title>
          .
          <source>Journal of Circuits, Systems, and Computers</source>
          <volume>8</volume>
          (
          <issue>1</issue>
          ),
          <fpage>21</fpage>
          -
          <lpage>66</lpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          : Process Mining: Discovery, Conformance and Enhancement of Business Processes. Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W.M.P.,
          <string-name>
            <surname>van Dongen</surname>
            ,
            <given-names>B.F.</given-names>
          </string-name>
          , Gu¨nther,
          <string-name>
            <given-names>C.W.</given-names>
            ,
            <surname>Rozinat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Verbeek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Weijters</surname>
          </string-name>
          , T.:
          <article-title>ProM: The process mining toolkit</article-title>
          .
          <source>In: BPM (Demos)</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pesic</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>DecSerFlow: Towards a truly declarative service flow language</article-title>
          .
          <source>In: WS-FM</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>23</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rubin</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            , H.M.W., van Dongen,
            <given-names>B.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kindler</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , Gu¨nther, C.W.:
          <article-title>Process mining: a two-step approach to balance between underfitting and overfitting</article-title>
          .
          <source>Software and System Modeling</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          ),
          <fpage>87</fpage>
          -
          <lpage>111</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Alberti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chesani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gavanelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Torroni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Verifiable agent interaction in abductive logic programming: The sciff framework</article-title>
          .
          <source>ACM Trans. Comput. Log</source>
          .
          <volume>9</volume>
          (
          <issue>4</issue>
          ),
          <volume>29</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>29</lpage>
          :
          <fpage>43</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Carmona</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cortadella</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishinevsky</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>New region-based algorithms for deriving bounded petri nets</article-title>
          .
          <source>IEEE Trans. Computers</source>
          <volume>59</volume>
          (
          <issue>3</issue>
          ),
          <fpage>371</fpage>
          -
          <lpage>384</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Chesani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamma</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mello</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riguzzi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Storari</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Exploiting inductive logic programming techniques for declarative process mining</article-title>
          .
          <source>T. Petri Nets and Other Models of Concurrency</source>
          <volume>2</volume>
          ,
          <fpage>278</fpage>
          -
          <lpage>295</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Chomsky</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>G.A.</given-names>
          </string-name>
          :
          <article-title>Finite state languages</article-title>
          .
          <source>Information and Control</source>
          <volume>1</volume>
          (
          <issue>2</issue>
          ),
          <fpage>91</fpage>
          -
          <lpage>112</lpage>
          (
          <year>1958</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Cortadella</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishinevsky</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kondratyev</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lavagno</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yakovlev</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers</article-title>
          .
          <source>IEICE Transactions</source>
          <volume>80</volume>
          (
          <issue>3</issue>
          ),
          <fpage>315</fpage>
          -
          <lpage>325</lpage>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Cortadella</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishinevsky</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lavagno</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yakovlev</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Deriving petri nets from finite transition systems</article-title>
          .
          <source>IEEE Trans. Comput</source>
          .
          <volume>47</volume>
          (
          <issue>8</issue>
          ),
          <fpage>859</fpage>
          -
          <lpage>882</lpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Cortadella</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishinevsky</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lavagno</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yakovlev</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Synthesizing petri nets from state-based models</article-title>
          .
          <source>In: Proc. of ICCAD'95</source>
          . pp.
          <fpage>164</fpage>
          -
          <lpage>171</lpage>
          (
          <year>November 1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De</surname>
            <given-names>Masellis</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>Reasoning on ltl on finite traces: Insensitivity to infiniteness</article-title>
          . In: AAAI (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vardi</surname>
          </string-name>
          , M.Y.:
          <article-title>Linear temporal logic and linear dynamic logic on finite traces</article-title>
          .
          <source>In: IJCAI</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>Di</given-names>
            <surname>Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Mecella</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>A two-step fast algorithm for the automated discovery of declarative workflows</article-title>
          .
          <source>In: Proc. of CIDM</source>
          ,
          <year>Singapore 2013</year>
          . pp.
          <fpage>135</fpage>
          -
          <lpage>142</lpage>
          . IEEE (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>Di</given-names>
            <surname>Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Mecella</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>On the discovery of declarative control flows for artful processes</article-title>
          .
          <source>ACM Transactions on Management Information Systems</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Di</given-names>
            <surname>Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Mecella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Scannapieco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Zardetto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Catarci</surname>
          </string-name>
          , T.:
          <article-title>MailOfMine - analyzing mail messages for mining artful collaborative processes</article-title>
          .
          <source>In: Data-Driven Process Discovery and Analysis</source>
          , vol.
          <volume>116</volume>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>81</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>La</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Reijers</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.A.</surname>
          </string-name>
          :
          <source>Fundamentals of Business Process Management</source>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Fahland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , Lu¨bke,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Reijers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.A.</given-names>
            ,
            <surname>Weber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Weidlich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Zugal</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Declarative versus imperative process modeling languages: The issue of understandability</article-title>
          .
          <source>In: BMMDS/EMMSAD</source>
          . pp.
          <fpage>353</fpage>
          -
          <lpage>366</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Fahland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weidlich</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zugal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Declarative versus imperative process modeling languages: The issue of maintainability</article-title>
          .
          <source>In: Business Process Management Workshops</source>
          . pp.
          <fpage>477</fpage>
          -
          <lpage>488</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Gisburg</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>G.F.</given-names>
          </string-name>
          :
          <article-title>Preservation of languages by transducers</article-title>
          .
          <source>Information and Control</source>
          <volume>9</volume>
          (
          <issue>2</issue>
          ),
          <fpage>153</fpage>
          -
          <lpage>176</lpage>
          (
          <year>1966</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. van Glabbeek,
          <string-name>
            <given-names>R.J.</given-names>
            ,
            <surname>Weijland</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.P.</surname>
          </string-name>
          :
          <article-title>Branching time and abstraction in bisimulation semantics</article-title>
          .
          <source>J. ACM</source>
          <volume>43</volume>
          (
          <issue>3</issue>
          ),
          <fpage>555</fpage>
          -
          <lpage>600</lpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Maruster</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weijters</surname>
            ,
            <given-names>A.J.M.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W.M.P., van den Bosch, A.:
          <article-title>A rule-based approach for process discovery: Dealing with noise and imbalance in process logs</article-title>
          .
          <source>Data Min. Knowl. Discov</source>
          .
          <volume>13</volume>
          (
          <issue>1</issue>
          ),
          <fpage>67</fpage>
          -
          <lpage>87</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neumann</surname>
            , G., van der Aalst,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Understanding the occurrence of errors in process models based on metrics</article-title>
          .
          <source>In: OTM Conferences (1)</source>
          . pp.
          <fpage>113</fpage>
          -
          <lpage>130</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
          </string-name>
          , H.A.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Seven process modeling guidelines (7PMG)</article-title>
          .
          <source>Information &amp; Software Technology</source>
          <volume>52</volume>
          (
          <issue>2</issue>
          ),
          <fpage>127</fpage>
          -
          <lpage>136</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cardoso</surname>
          </string-name>
          , J.:
          <article-title>What makes process models understandable? In: BPM</article-title>
          . pp.
          <fpage>48</fpage>
          -
          <lpage>63</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Milner</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>An algebraic definition of simulation between programs</article-title>
          .
          <source>In: IJCAI</source>
          . pp.
          <fpage>481</fpage>
          -
          <lpage>489</lpage>
          (
          <year>1971</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Møller</surname>
          </string-name>
          , A.: dk.bricks.automaton (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Pesic</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schonenberg</surname>
            ,
            <given-names>M.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sidorova</surname>
          </string-name>
          , N.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Constraint-based workflow models: Change made easy</article-title>
          .
          <source>In: OTM Conferences (1)</source>
          . pp.
          <fpage>77</fpage>
          -
          <lpage>94</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Petri</surname>
            ,
            <given-names>C.A.</given-names>
          </string-name>
          : Kommunikation mit Automaten.
          <source>Ph.D. thesis</source>
          , Institut fu¨r instrumentelle Mathematik,
          <source>Bonn</source>
          (
          <year>1962</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zugal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pinggera</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>Imperative versus declarative process modeling languages: An empirical investigation</article-title>
          .
          <source>In: Business Process Management Workshops (1)</source>
          . pp.
          <fpage>383</fpage>
          -
          <lpage>394</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zugal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pinggera</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>Imperative versus declarative process modeling languages: An empirical investigation</article-title>
          .
          <source>In: Business Process Management Workshops (1)</source>
          . pp.
          <fpage>383</fpage>
          -
          <lpage>394</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Steeman</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Real-life event logs - an incident management process: closed problems</article-title>
          .
          <source>Third International Business Process Intelligence Challenge (BPIC'13)</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Weerdt</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Backer</surname>
            ,
            <given-names>M.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanthienen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baesens</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A multi-dimensional quality assessment of state-of-the-art process discovery algorithms using real-life event logs</article-title>
          .
          <source>Inf. Syst</source>
          .
          <volume>37</volume>
          (
          <issue>7</issue>
          ),
          <fpage>654</fpage>
          -
          <lpage>676</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Westergaard</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slaats</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Cpn tools 4: A process modeling tool combining declarative and imperative paradigms</article-title>
          .
          <source>In: BPM (Demos)</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Westergaard</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slaats</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Mixing paradigms for more comprehensible models</article-title>
          .
          <source>In: BPM</source>
          . pp.
          <fpage>283</fpage>
          -
          <lpage>290</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>