<!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>Towards Checking Dynamic Controllability of Processes with Temporal Loops</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco Franceschetti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Johann Eder</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Informatics-Systems, Alpen-Adria Universitat Klagenfurt</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We propose a technique for checking the dynamic controllability of processes with temporally constrained loops. The temporal control structures t-split and t-loop are adequate concepts for modelling the behaviour of processes dependent on the speed of execution of a process instance. While the run-time semantics of these constructs is straightforward, the assessment of the temporal properties of processes with temporal control structures is complex. Here we propose a procedure for checking the dynamic controllability of processes with temporal loops by mapping them to processes without t-loops, which then can be mapped to CSTNUDs, simple temporal networks with uncertainty and decisions. For CSTNUDs procedures for checking dynamic controllability are available.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        An important part of the modelling of processes is to represent their temporal
properties and to model the temporal constraints expressing temporal
requirements and restrictions. Compliance to temporal constraints like deadlines,
reaction times, process durations rank among the most important quality measures
[
        <xref ref-type="bibr" rid="ref14 ref2 ref25 ref3">3, 14, 25, 2</xref>
        ] for (business) process management. In the past two decades many
modelling languages addressing temporal aspects and corresponding procedures
for checking temporal properties of modelled processes at design time have been
developed. Elaborate concepts are available for expressing temporal constraints
in a declarative way [
        <xref ref-type="bibr" rid="ref11 ref19">19, 11</xref>
        ] and for checking satis ability or controllability of
process de nitions with temporal constraints.
      </p>
      <p>Temporal qualities of processes rely on the temporal characteristics of the
activities and services they are composed of. These activities might have some
degrees of freedom, or some degrees of uncertainty formulated in their
temporal descriptions. For an example the time-span needed for executing an activity
might range between some minimum and maximum duration, without any
control of the actual duration by the process controller. On the other hand, the
process controller has to guarantee some temporal properties (like e.g.
maximum duration of the whole process) in spite of these uncertainties. Therefore,
the notion of controllability rather than satis ability is adequate as correctness
criterion for processes with temporal constraints. Satis ability only requires that
it is possible to satisfy all constraints, for some durations of the activities and for
some ow decisions, however not necessarily for all durations of these activities.
Controllability, in contrast, requires that all temporal constraints are ful lled for
all durations of invoked activities and for all possible ows.</p>
      <p>
        Checking satis ability, controllability and its less restrictive but more
complex variant dynamic controllability is already well established for basic control
patterns [
        <xref ref-type="bibr" rid="ref16 ref17 ref7 ref9">7, 9, 17, 16</xref>
        ]. Nevertheless, the current situation has the following
shortcomings:
(i) the separation of concerns between proscriptive control structures and
declarative temporal constraints in process de nitions is sometimes cumbersome,
(ii) constructs for addressing temporal aspects in process enactment systems are
mostly too low level (timer events, exception handling) and need to be raised to
the level of conceptual modeling of processes.
      </p>
      <p>
        As an approach to overcome these problems, the notion of temporal control
structures (temporal splits and temporal loops) for process models was
introduced and their semantics was formally de ned [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. In particular, [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] proposed
a temporal loop construct, which allows - to the best of our knowledge for the
rst time - to meaningfully extend the notion of controllability to processes with
while loops. A temporal loop has the following format: while elapsed c. The
operational semantics of temporal loops is straightforward: when the loop-head
is executed, the temporal condition is evaluated, i.e. whether the actual elapsed
time of the process is less than the threshold c, and on basis of this evaluation
the system makes the decision whether another iteration of the loop body is
launched.
      </p>
      <p>
        Although the operational semantics of temporal control structures is easily
de ned and implemented, algorithms for design time checks of controllability
and dynamic controllability, and for pro-active monitoring of the compliance of
the process execution at runtime turned out to be quite challenging. In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] we
proposed a technique for checking the controllability of processes with temporal
splits by transforming the temporal splits to non-contingent decision nodes
together with some constraints. Such a transformed process can then be mapped
to CSTNUDs which can be checked for dynamic controllability.
      </p>
      <p>
        In this paper we consider the dynamic controllability of processes with
temporal loops. We will introduce a procedure which transforms a process with a
temporal loop to a process without any loop with the property, that the rst
process is dynamically controllable, if and only if the second is dynamically
controllable and thus we can reduce the checking to the already solved case for
processes without temporal loops for which we already proposed e ective
procedures for checking dynamic controllability [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>The remainder of this paper is organized as follows: we revisit the de nition
of process models with temporal loops and the de nition of their semantics in
section 2. In section 3 we discuss dynamic controllability and introduce some
process transformations which eliminate temporal loops. The results of these
transformations can then be checked for dynamic controllability instead of the
original process. Related work (section 4) and conclusions (section 5) complete
this paper.</p>
    </sec>
    <sec id="sec-2">
      <title>Temporal Control Structures</title>
      <sec id="sec-2-1">
        <title>Process Model</title>
        <p>
          As a basis for the introduction of procedures for checking dynamic
controllability, we rst de ne the process model with temporal control structures. It is
basically the process model in [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] which introduced temporal splits and
temporal joins for the rst time, however we extend this model with explicit temporal
constraints (upper-bound and lower-bound constraints between process events).
All the de nitions and examples are taken from [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] and are repeated here to
make the paper self-contained.
        </p>
        <p>
          We use a simple process metamodel, which focuses on the standard minimum
work ow control patterns [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. However, the de nitions and algorithms can be
easily extended to other control ow patterns.
        </p>
        <p>Time points and duration intervals are represented by natural numbers N.
Time is measured in an atomic time unit (chronon), like minutes, hours or days.
A point in time marks a point on an increasing time axis and represents the
temporal distance to a given reference point, for instance the start of a process.</p>
        <p>The maximum process duration is constrained by a deadline, that must not be
exceeded. Activity instances start at a certain point in time (start event) and end
at a certain point in time (end event). The distance between these two points is
the actual execution duration of this activity instance. Contingent activities have
a duration between their best-case (fastest) and worst-case (slowest) duration
which can only be observed (but not controlled). In the following we regard all
activities as contingent.</p>
        <p>De nition 1 (Process Graph). A process graph G = (N; E; C; !) with a set
of nodes N connected by a set of edges E with set of temporal constraints C and
deadline ! forms a directed acyclic graph, where n:type = activity j start j end
j xor-split j xor-join j and-split j and-join, which have the usual semantics, or a
temporal node with n.type = t-loop j t-split. n:cond is the boolean condition for
a node n of type xor split.</p>
        <p>n:db is the minimum and n:dw maximum duration of a node n 2 N such that
0 n:db n:dw and n:db; n:dw 2 N.</p>
        <p>Each edge (n1; n2) 2 E, n1; n2 2 N; describes a precedence constraint
between nodes n1 and n2. The successors and predecessors of a node n are denoted
n:Succ = fmj(n; m) 2 Eg and n:P red = fmj(m; n) 2 Eg respectively.</p>
        <p>There is exactly one start activity (which has no predecessor) and one end
activity (which has no successor). The number of predecessors jn:P redj per
nodetype n:type is as follows: 0 for start, 2 for xor join and t join, &gt; 1 for
and join, and 1 for all other types. The number of successors jn:Succj per
node-type n:type is restricted as follows: 0 for end, 2 for xor split and t split,
&gt; 1 for and join, and 1 for all other types.</p>
        <p>The variable elapsed represents the distance between the start of the process
and a point in time.</p>
        <p>A temporal split node n has a threshold n:c where n:c 2 R 0, and a true
successor and a false successor.</p>
        <p>A temporal loop tl 2 N , tl.type = t-loop has a loop body tl:B = G0 where G0
is a process graph, and a loop condition l:cond = [P ^](elapsed c); c 2 N with
the optional predicate P . The duration interval of the loop-body is represented by
l:bb and l:bw.</p>
        <p>We write tsplit(n,c,u,d) for a t-split node n with threshold c, true successor
u and false successor d, and tloop(n,P,c,B) for a t-loop node n with predicate P ,
threshold c, and loop body B.</p>
        <p>C is a set of temporal constraints of type upper- and lower-bound, which
we write as ubc(m; n; ), resp. lbc(m; n; ), where m; n are nodes and is a
constant. ubc(m; n; ) forces n to start no more than time units after m started;
lbc(m; n; ) forces n to start at least time units after m started.</p>
        <p>We assume that a process graph is full-blocked (proper nesting of
matching pairs). Xor-joins are of type simple merge, i.e. it is not possible that both
predecessors will be executed in a single process instance.</p>
        <p>Without loss of generality in this paper we only consider the temporal
conditions (elapsed c).</p>
        <p>A temporal loop tloop(n; P; c; B) iterates over its body as long as the
condition is true. A temporal loop's condition speci es an upper bound in addition to
a regular loop-condition. The body of a loop is again a process graph and might
include temporal control structures. The variable elapsed is always de ned
relative to the start node of the process graph.</p>
        <p>A t-split node is a special variant of an xor-split node with a temporal
condition. Here we currently provide the condition \elapsed n:c", where n:c, the
threshold value, is a constant. The operational semantics is as follows: when a
t-split node is executed, the condition is evaluated, i.e. the time elapsed since
process start is compared to the threshold n:c. If it is below or equal to the
threshold, the \T " branch is executed, otherwise, execution continues with the
\F " branch. We assume that after starting execution of a t-split its condition is
evaluated immediately.</p>
        <p>
          As we have shown in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], with t-split nodes a process controller has some
in uence on the selection of the successor. Take for an example a t-split n with
the condition elapsed 20: if the condition is evaluated before time-point 20,
then the \true" path is chosen, if it is evaluated after time point 20, the \f alse"
path is selected. Therefore, the process controller might be able to control the
result of the condition evaluation and thus might control which of the successors
is chosen. This is, however, only possible, if the execution of the process so far
allows for such a shift over the threshold of the t-split.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Scenarios</title>
        <p>To formalize the semantics of the proposed temporal control structures and to
reason about the correctness of a given model we now introduce the concepts
scenario, schedule, and controllability. In a nutshell: a scenario is a timed instance
of process. It is correct, if the time stamps of the start and end events of the
activities satisfy all explicit and implicit temporal constraints (an activity starts
after termination of its predecessor). A schedule assigns a start and end time
intervals to each activity, such that all scenarios are valid if start and end-time
are within the bounds de ned in the scenario. A process is controllable, if it
admits a correct schedule. The following requires some formal elaboration. This
is necessary for being able to check controllability of process models.</p>
        <p>In a scenario time stamps for the start and the end are assigned to each node,
representing one out of many possible process executions.</p>
        <p>De nition 2 (Scenario). A scenario S for a process graph P (N; E; C; !)
associates each n 2 N and the body l:B of each t-loop l with two time stamps
ts; te 2 N, representing the start time and end time of n respectively. We call
(n; ts; te) 2 S a scenario entry.</p>
        <p>We de ne a valid scenario as formalization of the conceptual semantics of
control ow structures described in Section 2.</p>
        <p>De nition 3 (Valid Scenario). A scenario S for a process graph P (N; E; C; !)
is valid, i :
(1) 8n 2 N : n:ts n:te
(2) 8n 2 N; n:type 6= t loop : n:ts + n:db
(3) 8(m; n) 2 E; m:type 6= t split : m:te
(4) 8n 2 N; t split(n; c; u; d):
n:ts c ) n:ts u:ts
n:ts &gt; c ) n:ts d:ts
(5) 8n 2 N; tloop(n; T rue; c; B); n:ts c:</p>
        <p>c &lt; n:te c + n:bw;
(6) 8n 2 N; tloop(n; P; c; B); n:ts c:</p>
        <p>n:ts c ) n:ts n:te c + n:bw
(7) 8ubc(m; n; ) : n:ts m:ts +
(8) 8lbc(m; n; ) : m:ts n:ts
n:te
n:ts
n:ts + n:dw</p>
        <p>For the new control structures the following must hold: If a temporal loop
with the condition (elapsed c) starts before or at c, it will run through the
loop body at least until c is reached, plus one nal loop-iteration (worst-case
duration of the loop body). The end of the loop is always after the cut-o point
c. If the loop starts after c, the loop body will not be executed. If the body of
the loop is executed, its last iteration does not start before the beginning of the
loop, and it does require at least the minimum duration of the body as distance
between start and end of the loop. For the end of the loop we require that it can
accommodate all durations of the loop body between best-case and worst-case
duration. And nally (6) states that t-loops with the condition P ^ (elapsed c)
can nish anytime before c due to the condition P , but they can last until c +
duration of the loop body.</p>
        <p>
          An example for a process with one possible valid (valid) scenario, is shown
in Figure 1 [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. In this particular scenario A starts at 0 and ends at 15, and
B starts at 20 and ends at 32, and so on. The t-split U ends at 80, and as
elapsed 40 the false-successor W will be chosen over V (which is given but
can be neglected in this scenario, hence its start is set to 40). The loop L was
not entered, as the start time of L is 80 and the condition of the temporal loop
is while (elapsed 70). The process ends within the deadline of 200 at 112.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Dynamic Controllability</title>
      <sec id="sec-3-1">
        <title>Dynamic Controllability and Loops</title>
        <p>
          Traditionally, temporal correctness of a process was discussed with the notions
consistency or satis ability, which require the existence of at least one trace
which meets all temporal constraints. Nevertheless, as several works pointed
out, satis ability is a too weak notion for temporal correctness, since
designers look for stronger guarantees that the violation of temporal constraints can
be avoided. In particular, it is desirable to know at design time, whether all
constraints can be satis ed for all considered circumstances, i.e. for possible
durations and conditions. This need led to the formulation of the notion of
(dynamic) controllability (see [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] for formal de nition) and to the development of
techniques to check at design time whether a process is dynamically controllable.
In a nutshell: a process is dynamically controllable, if the start times of its
activities can be dynamically assigned in response to the durations and conditions
observed at run time in such a way, that no temporal constraint will be violated.
In order to assess the dynamic controllability of a process, it is necessary to know
all possible duration intervals for activities.
        </p>
        <p>Time constrained processes with unbounded loops (while loops, repeat-until
loops, etc.) can never be dynamically controllable, since the number of
iterations and, therefore, the maximum duration of the loop cannot be known at
design time or even at run-time before the loop nished. For temporal loops the
situation is di erent, as the temporal condition in a t-loop de nes a temporal
bound for the duration of a t-loop and hence also limits the number of possible
iterations.</p>
        <p>
          For checking, whether a process with t-loops is dynamically controllable, we
follow a model transformation approach [
          <xref ref-type="bibr" rid="ref10 ref8">10, 8</xref>
          ]. In particular, we propose the
following procedure: a process with t-loops is mapped to a process without
tloops which is equivalent to the rst one in terms of dynamic controllability.
Then the dynamic controllability of the latter one can be checked with existing
procedures, in particular by mapping the process to a CSTNUD (Conditional
Simple Temporal Network with Uncertainty and Decisions).
        </p>
        <p>In the following, we introduce three transformations: the rst is based on an
unfolding of the t-loop, which is also the basis for the other 2 transformations,
which can be seen as compression of the loop unfolded process and is signi cantly
more compact and smaller, while having equivalent dynamic controllability.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Loop Unfolding</title>
        <p>
          Loop unfolding transforms a process with t-loops to a process without t-loops
with identical behavior (i.e. it admits exactly the same set of traces, resp. the
same set of scenarios). Unfolding of general loops su ers, of course, from the
problem that the number of iterations cannot be known (and may even be
innite). For t-loops we exploit the temporal bound of the loop to terminate the
unfolding procedure. Therefore, the unfolding procedure has to be interleaved
with some temporal calculations. In particular, unfolding has to include the
computation of the earliest possible execution time of nodes, which we represent as
an additional attribute for each node, which will be computed in analogy to the
procedures in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>De nition 4 (earliest execution time). Let P = (N; E; C; !) be a process.
For each node n 2 N , the earliest execution time n:e is computed as follows:
1. start:e := 0;
2. for nodes n following a temporal loop with tloop(m; P; c; B): n:e := m:e;
3. for nodes n following a temporal loop with tloop(m; T rue; c; B): n:e := c + 1;
4. for and-join nodes: n:e := max(fm:e + m:dminj(m; n) 2 Eg;
5. for all other nodes: n:e := min(fm:e + m:dminj(m; n) 2 Eg.</p>
        <p>We de ne here an elementary transformation step of one elementary
unfolding step of one t-loop. The transformation of the whole process is then achieved
by the successive application of this elementary transformation step as long as
it can be applied, i.e. as long as there is a t-loop in the process.</p>
        <p>The elementary transformation step has 2 possible outcomes: if the loop
cannot be executed, because the earliest time-point the loop node can be started
is after the threshold, then the loop is simply removed. Otherwise, the loop is
replaced by an xor-split checking P , nested in its T rue branch a t-split checking
the temporal loop condition, and nested within its T rue branch, a copy of the
original loop.</p>
        <p>Fig. 2 shows a graphical representation of the transformation step in the
context of a node A preceding a temporal loop and a node X as immediate
successor of the loop. Please note, that according to De nition 1 a loop has
exactly one predecessor and exactly 1 successor. XS and XJ represent
xorsplit and xor-join, T S and T J denote temporal split and -join. For the formal
A
de nition of the loop unfold step we use the following shorthand: (a; b; T ) 2 E
denotes that b is the T rue successor of a split node a.</p>
      </sec>
      <sec id="sec-3-3">
        <title>De nition 5 (Transformation step). We de ne a transformation step as</title>
        <p>follows: Let P = (N; E; C; !) be a process. Let n 2 N with tloop(n; P; c; B).
P 0 = (N 0; E0; C0; !) = T 1(P; n) is de ned as:
1. If c &lt; n:e, then n is deleted.</p>
        <p>(a) N 0 := N fng;
(b) E0 := E f(n; x) 2 E; (y; n) 2 Eg [ f(m; x)j(m; n) 2 E; (n; x) 2 Eg
2. If c n:e, then n is unfolded as follows:
(a) N 0 := N [ fXS; XJ; T S; T J; Bg :</p>
        <p>XS:type = xor split, XJ:type = xor join, XS:cond = P ,</p>
        <p>T S:type = t split, T J:type = t join, B = n:B
(b) E0 := E f(n; x) 2 E; (y; n) 2 Eg [ f(y; XS)j(y; n) 2 Eg
[ f(XJ; x)j(n; x) 2 Eg [ f(XS; T S; T ); (XS; XJ; F g
[ f(T S; B; T ); (T S; T J; F g [ fT J; XJ ); (B; n); (n; T J )g</p>
        <p>The rationale for the transformation step is as follows: if the body B of a
t-loop n can be entered, it is extracted from the loop block and put in the
truebranch of a nesting of xor-split and t-split, which evaluate the same boolean
condition, resp. temporal condition of n. This realizes the same semantics as
entering one iteration of the loop. A copy of the t-loop following B in the
truebranch makes it possible to execute further loop iterations. By iteratively
unfolding the t-loop into a nesting of xor-splits and t-splits we obtain a new process
model temporally equivalent to the original one, but with all t-loops replaced
with the conditional splits.</p>
        <p>De nition 6 (Transformation). We de ne the loop-unfolding transformation
as follows: Let P = (N; E; C; !) be a process. The loop unfolding transformation
T (P ) = P 0 = (N 0; E0; C0; !) is de ned as follows:</p>
        <p>If 9n 2 N with tloop(n; P; c; B): P 0 = T (T 1(P; n)). P 0 = P , otherwise.
Lemma 1. Let P = (N; E; C; !) be a process. P and T (P ) have the same set
of valid scenarios.
Proof. It is easy to see that for a tloop(n; P; c; B), a process P and the result of
a transformation step T 1(P; n) has the same set of scenarios. The lemma then
follows by induction.</p>
        <p>
          With the transformation for loop unfolding we de ned here, we transformed
a process with temporal loops to an equivalent process without temporal loops
(but with temporal splits). For such process, an e ective procedure for checking
the dynamic controllability has been proposed in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], which is based on mapping
such processes to an equivalent Conditional Simple Temporal Network with
Uncertainty and Decisions (CSTNUD) for which a procedure for checking dynamic
controllability has been presented in [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ].
3.3
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Simple transformations</title>
        <p>The transformation de ned above generates a series of nested occurrences of the
loop body B. For the checking of controllability, howeve,r we do not need all
these occurrences of B, since there are no upper- or lower-bound constraints
to the loop body admitted. For checking dynamic controllability all we need to
know is essentially the possible start and end-times of the loop and thus any
temporal restrictions and uncertainties for the adjacent nodes.</p>
        <p>Therefore, we present here a much more compact transformation of a
temporal loop which is not execution - equivalent to the original process but
controllability equivalent.</p>
        <p>We rst present the simple transformation for temporally constrained loop
without an additional predicate, i.e. a tloop(n; T rue; c; B).</p>
      </sec>
      <sec id="sec-3-5">
        <title>De nition 7 (Simple transformation).</title>
        <p>Let P = (N; E; C; !) be a process. Let n 2 N with tloop(n; T rue; c; B). The
result of the simple transformation T s(P; n) = P 0 = (N 0; E0; C0; !) is de ned as:
1. N 0 := N [ fT S; T J; B0g,
tsplit(T S; c); T J:type = tjoin;</p>
        <p>B0:type = activity, B0:dmin = 0; B0:dmax = B:dmax
2. E0 := E [ f(T J; x)j(n; x) 2 Eg
[f(x; T S)g f(x; n) 2 Eg
[f(T S; T J; F ); (T S; B0; T ); (B0; T J )g
3. C0 := C [ flbc(start; B0:s; c + 1)g</p>
        <p>Fig. 3 shows graphically the simple transformation for the case of a t-loop
having a condition with P = T rue. The temporal loop tloop(n; T rue; c; B) is
replaced by temporal split construct with t-split node T S and t-join node T J .
The node T S represents the rst loop split node, T J the last loop-join node. The
temporal split node T S has the same temporal conditions as the loop elapsed
c. The F alse branch of T S is empty, the T rue branch contains a node B0 which
represents the part of the loop body of the last iteration, which is executed after
the threshold c. The node B0 is contingent with a minimum duration of 0 and
A
loop
(elapsed ≤ c)</p>
        <p>B</p>
        <p>X
lbc(start, B’.s, c+1)</p>
        <p>TS</p>
        <p>TJ</p>
        <p>X
a maximum duration of B:dmax and may not start before or at c expressed by
the lower-bound constraint lbc(start; B:s; c + 1).</p>
        <p>The rationale for this transformation is follows:
(a) If the loop is executed at least once, i.e. the loop condition at least one
evaluates to true, i.e. it is executed before the threshold c. This corresponds to
executing T S in the transformed graph before the threshold c. In this case, the
last iteration starts before or at time-point c and ends after c. The last iteration
ends in the fastest case immediately after c, in the slowest case B:dmax after c.
This uncertainty is represented by the contingent duration of B0.</p>
        <p>(b) If the process arrives at T S after the threshold c, the loop is never
executed, and the whole loop is left and the process may continue immediately.
Lemma 2. Let P = (N; E; C; !) be a process de nition. Let n 2 N with
tloop(n; T rue; c; B) and let P 0 be the result of the simple transformation T s(P; n) =
P 0 = (N 0; E0; C0; !). P and P 0 have equivalent sets of valid scenarios.
Proof. We consider 2 scenarios as equivalent, if they are identical with the
exception that the rst loop-head execution is mapped to the t-split and the last
loop-head execution is mapped to the t-join to which the t-loop is mapped to.
Then the lemma follows immediately with the rationale detailed above.
3.4</p>
      </sec>
      <sec id="sec-3-6">
        <title>General Simple Transformation</title>
        <p>In the case a temporal loop has an additional predicate P , i.e. tloop(n; T rue; c; B)
we further have to consider the case where a loop ends before the threshold c,
because the predicate P evaluates to F alse.</p>
        <p>Fig. 4 shows a graphically the general simple transformation for the case of
a t-loop having a an additional condition P .</p>
        <p>As in the simple transformation the t-loop is replaced by a t-split structure.
While the F alse branch of the t-split is the same, in the general case an
Xorstructure (XS, XJ) is inserted into the T rue branch of the t-split. The T rue
branch of XS represents the termination of the t-loop because of the temporal
condition, and the F alse branch represents the early termination, if P eventually
evaluates to F alse. This additional branch contains a dummy activity D with
duration 0, as the successor of the loop can be executed without delay. This
branch, however can only be nished before or at the threshold c, which is
expressed by the upper-bound constraint ubc(start; D:s; c).</p>
        <p>A</p>
        <p>A</p>
        <p>TS
Theorem 1. A process model P with temporal loops is dynamically
controllable, if each loop body is temporally controllable and the process P = T g(P ) is
dynamically controllable.</p>
        <p>Proof 1. Proof sketch: The theorem follows from the observation that the
process and the transformed process have equivalent sets of valid scenarios.</p>
        <p>
          With this result we now can reduce the checking of the dynamic
controllability of processes with t-loops to checking the dynamic controllability of processes
with t-splits but without t-loops. For these types of processes we already
introduced a checking procedure [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        A general overview of time management for work ows, orchestrations, and
business process management and its development over the past 20 years is given in
[
        <xref ref-type="bibr" rid="ref12 ref5">12, 5</xref>
        ]. Early approaches checking temporal qualities of process de nitions are
[
        <xref ref-type="bibr" rid="ref1 ref11 ref21">21, 1, 11</xref>
        ] with techniques rooted in network analysis, scheduling, or constraint
networks. These techniques stimulated the development of more advanced
networks, the consideration of interorganizational processes and for supporting
temporal service level agreements for service compositions [
        <xref ref-type="bibr" rid="ref15 ref4">4, 15</xref>
        ]. Process mining [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]
o ers a di erent approach for deriving temporal qualities of process de nitions.
However, process mining requires a substantial amount of observed traces
before temporal qualities of a process can be reliably calculated. In contrast to
the approaches we focus on here, process mining is thus not applicable to new
processes, or for changed processes.
      </p>
      <p>We concentrate here on related work with respect to formulating temporal
constraints involving control structures, checking correctness and other temporal
properties of process de nitions with such temporal constraints.</p>
      <p>
        BPMN [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] allows to use time information in conditions, however the
specication is on a rather abstract generic level. More precise expression de nition
is o ered by some system vendors, e.g. Oracle BPM [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] extend BPMN
with graphical elements for temporal concepts with de ned semantics, mainly
to express inter-task constraints and more complex timed triggers. However, all
these approaches do not consider the veri cation of de ned processes.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref18 ref20">20, 18</xref>
        ] gathered and uni ed di erent notions for representing temporal
constraints for process models. Temporal constraints are classi ed in a set of 10
di erent time patterns. Our work here addresses the patterns TP6: Time-based
Restrictions and TP8: Time-dependent Variability as they use time information
in conditions of XOR-gateways or loops, respectively. Time pattern TP8 allows
to execute di erent XOR branches where the XOR condition depends on
temporal information. A t-split [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] is a specialization of time pattern TP8 since it
allows to execute di erent branches depending on the elapsed time since process
start. Time pattern TP8 alone, however, does not address the controllability
aspects, which were addresses in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Controllability and dynamic controllability are the most elaborated notions
of correctness of temporally constrained process de nitions. Recently,
controllability and dynamic controllability for more expressive network models like
Conditional Simple Temporal Network with Uncertainty (CSTNU) provide new
sophisticated means to check the properties of temporally constrained process
de nitions [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, they are not able to express the kind of temporal
control structures we propose here. To bridge the gap between CSTNU s and control
structures in which decisions are taken by a process controller and not simply
observed, [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] introduced CSTNUD s, to capture control structures in which
controllers may make decisions about the continuation of a process and introduced
a dynamic controllability checking approach based on Timed Game Automata
(TGA). Although this constitutes a considerable step forward in the
expressiveness within the framework of temporal networks, the approach does not take
into account how decisions are made, which we address here with regard to
decisions depending on the temporal status of the ongoing process execution. In
particular, we consider that controllers may in uence decisions by deciding when
to execute temporal conditions.
      </p>
      <p>
        Temporal control structures for processes have been introduced in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] for
the rst time. In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] a procedure for checking the dynamic controllability of
processes with temporal splits has been proposed. This paper is a continuation
of this work.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>Dynamic Controllability has been established as the most suitable criterion for
the temporal correctness of process de nitions. However, so far only procedures
for acyclic processes have been developed, as processes with loops are by de
nition not dynamically controllable. The introduction of temporally constrained
loops in process models opens interesting new possibilities for representing
temporal constraints in process models with loops. Here we showed how dynamic
controllability of processes with temporal loops can e ectively be checked at
design time. The proposed procedure relies on a series of transformations of
process de nitions with the nal target of mapping a process de nition to
simple temporal networks with uncertainty and decisions (CSTNUD), for which
procedures for checking dynamic controllability have been proposed. For
practical implementations, however, a process model can be directly translated to an
equivalent CSTNUD, short-cutting the series of transformations.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>C.</given-names>
            <surname>Bettini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Jajodia</surname>
          </string-name>
          .
          <article-title>Temporal reasoning in work ow systems</article-title>
          .
          <source>Distributed and Parallel Databases</source>
          ,
          <volume>11</volume>
          (
          <issue>3</issue>
          ):
          <volume>269</volume>
          {
          <fpage>306</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Breu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dustdar</surname>
          </string-name>
          , et al.
          <article-title>Towards living inter-organizational processes</article-title>
          .
          <source>In 2013 IEEE 15th Conference on Business Informatics</source>
          , pages
          <volume>363</volume>
          {
          <fpage>366</fpage>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Cardoso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sheth</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Miller</surname>
          </string-name>
          .
          <article-title>Work ow quality of service</article-title>
          . In Enterprise Inter-and
          <string-name>
            <surname>Intra-Organizational Integration</surname>
          </string-name>
          , pages
          <volume>303</volume>
          {
          <fpage>311</fpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>J.</given-names>
            <surname>Cardoso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sheth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Arnold</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Kochut</surname>
          </string-name>
          .
          <article-title>Quality of service for work ows and web service processes</article-title>
          .
          <source>Journal of Web Semantics</source>
          ,
          <volume>1</volume>
          (
          <issue>3</issue>
          ):
          <volume>281</volume>
          {
          <fpage>308</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>S.</given-names>
            <surname>Cheikhrouhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kallel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Guermouche</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Jmaiel</surname>
          </string-name>
          .
          <article-title>The temporal perspective in business process modeling: a survey and research challenges</article-title>
          .
          <source>Service Oriented Computing and Applications</source>
          ,
          <volume>9</volume>
          (
          <issue>1</issue>
          ):
          <volume>75</volume>
          {
          <fpage>85</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>C.</given-names>
            <surname>Combi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hunsberger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Posenato</surname>
          </string-name>
          .
          <article-title>An algorithm for checking the dynamic controllability of a conditional simple temporal network with uncertainty - revisited</article-title>
          .
          <source>In Agents and Arti cial Intelligence</source>
          , pages
          <fpage>314</fpage>
          {
          <fpage>331</fpage>
          . Springer Berlin Heidelberg,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>C.</given-names>
            <surname>Combi</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Posenato</surname>
          </string-name>
          .
          <article-title>Controllability in temporal conceptual work ow schemata</article-title>
          .
          <source>In Business Process Management</source>
          , pages
          <volume>64</volume>
          {
          <fpage>79</fpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J.</given-names>
            <surname>Eder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Franceschetti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Ko</surname>
          </string-name>
          <article-title>pke. Controllability of orchestrations with temporal SLA: Encoding temporal XOR in CSTNUD</article-title>
          .
          <source>In Int. Conf. on Information Integration and Web-based Applications &amp; Services</source>
          , pages
          <volume>234</volume>
          {
          <fpage>242</fpage>
          . ACM,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>J.</given-names>
            <surname>Eder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Gruber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Panagos</surname>
          </string-name>
          .
          <article-title>Temporal modeling of work ows with conditional execution paths</article-title>
          .
          <source>In Database and Expert Systems Applications</source>
          , pages
          <volume>243</volume>
          {
          <fpage>253</fpage>
          . Springer,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>J. Eder</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Gruber</surname>
            , and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Pichler</surname>
          </string-name>
          .
          <article-title>Transforming work ow graphs</article-title>
          .
          <source>In Interoperability of Enterprise Software and Applications</source>
          , pages
          <volume>203</volume>
          {
          <fpage>214</fpage>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>J. Eder</surname>
            , E. Panagos, and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Rabinovich</surname>
          </string-name>
          .
          <article-title>Time constraints in work ow systems</article-title>
          .
          <source>In Advanced information systems engineering</source>
          , pages
          <volume>286</volume>
          {
          <fpage>300</fpage>
          . Springer,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>J. Eder</surname>
            , E. Panagos, and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Rabinovich</surname>
          </string-name>
          .
          <article-title>Work ow time management revisited</article-title>
          . In J. Bubenko,
          <string-name>
            <given-names>J.</given-names>
            <surname>Krogstie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Pastor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pernici</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rolland</surname>
          </string-name>
          , and A. S lvberg, editors,
          <source>Seminal Contributions to Information Systems Engineering</source>
          , pages
          <volume>207</volume>
          {
          <fpage>213</fpage>
          . Springer Berlin Heidelberg,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>D.</given-names>
            <surname>Gagne</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Trudel</surname>
          </string-name>
          .
          <article-title>Time-bpmn</article-title>
          .
          <source>In Commerce and Enterprise Computing</source>
          ,
          <year>2009</year>
          . CEC'09. IEEE Conference on, pages
          <volume>361</volume>
          {
          <fpage>367</fpage>
          . IEEE,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>M. Gillmann</surname>
            , G. Weikum, and
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Wonner</surname>
          </string-name>
          .
          <article-title>Work ow management with service quality guarantees</article-title>
          .
          <source>In Proceedings of the 2002 ACM SIGMOD international conference on Management of data</source>
          , pages
          <volume>228</volume>
          {
          <fpage>239</fpage>
          . ACM,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>N.</given-names>
            <surname>Guermouche</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Godart</surname>
          </string-name>
          .
          <article-title>Timed model checking based approach for web services analysis</article-title>
          .
          <source>In ICWS</source>
          , pages
          <volume>213</volume>
          {
          <fpage>221</fpage>
          . IEEE,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. L.
          <string-name>
            <surname>Hunsberger</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Posenato</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Combi</surname>
          </string-name>
          .
          <article-title>The dynamic controllability of conditional stns with uncertainty</article-title>
          .
          <source>arXiv preprint arXiv:1212</source>
          .
          <year>2005</year>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lanz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Posenato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Combi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          .
          <article-title>Controllability of time-aware processes at run time</article-title>
          .
          <source>In On the Move to Meaningful Internet Systems: OTM 2013 Conferences</source>
          , pages
          <volume>39</volume>
          {
          <fpage>56</fpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lanz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          .
          <article-title>Process time patterns: A formal foundation</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>57</volume>
          :
          <fpage>38</fpage>
          {
          <fpage>68</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lanz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          .
          <article-title>Work ow time patterns for process-aware information systems</article-title>
          .
          <source>In Enterprise, Business-Process and Information Systems Modeling</source>
          , pages
          <volume>94</volume>
          {
          <fpage>107</fpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lanz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          .
          <article-title>Time patterns for process-aware information systems</article-title>
          . Requir. Eng.,
          <volume>19</volume>
          (
          <issue>2</issue>
          ):
          <volume>113</volume>
          {
          <fpage>141</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>O.</given-names>
            <surname>Marjanovic</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Orlowska</surname>
          </string-name>
          .
          <article-title>On modeling and veri cation of temporal constraints in production work ows</article-title>
          .
          <source>Knowledge and Information Systems</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ):
          <volume>157</volume>
          {
          <fpage>192</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. ObjectManagementGroup.
          <article-title>Business Process Model and Notation (BPMN), Version 2</article-title>
          .0. http://www.omg.org/spec/BPMN/2.0,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23. OracleFusion.
          <article-title>Adding delays, deadlines, and time based cycles to your process</article-title>
          . https://docs.oracle.com/middleware/1221/bpm/bpm-develop
          <source>/GUID1684501B-AA69-4982-B3BC-9B05E33B4EB3.htm#BPMPD579</source>
          ,
          <year>2019</year>
          . Accessed:
          <fpage>2019</fpage>
          -08-08.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24. H.
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Eder</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Ciglic</surname>
          </string-name>
          .
          <article-title>Modelling processes with time-dependent control structures</article-title>
          .
          <source>In Int. Conf. on Conceptual Modeling</source>
          , pages
          <volume>50</volume>
          {
          <fpage>58</fpage>
          . Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. H.
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Wenger</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Eder</surname>
          </string-name>
          .
          <article-title>Composing time-aware web service orchestrations</article-title>
          .
          <source>In Advanced Information Systems Engineering</source>
          , pages
          <volume>349</volume>
          {
          <fpage>363</fpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26. W. van der Aalst, M. Schonenberg, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Song</surname>
          </string-name>
          .
          <article-title>Time prediction based on process mining</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>36</volume>
          (
          <issue>2</issue>
          ):
          <volume>450</volume>
          {
          <fpage>475</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <given-names>W. van Der</given-names>
            <surname>Aalst</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. H.</given-names>
            <surname>Ter Hofstede</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kiepuszewski</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Barros</surname>
          </string-name>
          .
          <article-title>Work ow patterns</article-title>
          .
          <source>Distributed and parallel databases</source>
          ,
          <volume>14</volume>
          (
          <issue>1</issue>
          ):5{
          <fpage>51</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>M.</given-names>
            <surname>Zavatteri</surname>
          </string-name>
          .
          <article-title>Conditional simple temporal networks with uncertainty and decisions</article-title>
          . In LIPIcs-Leibniz
          <source>International Proceedings in Informatics</source>
          , volume
          <volume>90</volume>
          .
          <string-name>
            <surname>Schloss</surname>
          </string-name>
          Dagstuhl-Leibniz-Zentrum fuer Informatik,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>M.</given-names>
            <surname>Zavatteri</surname>
          </string-name>
          .
          <article-title>Temporal and Resource Controllability of Work ows Under Uncertainty</article-title>
          .
          <source>PhD thesis</source>
          ,
          <source>Universita degli Studi di Verona</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>