=Paper=
{{Paper
|id=Vol-2469/ERForum1
|storemode=property
|title=Towards Checking Dynamic
Controllability of Processes with Temporal Loops
|pdfUrl=https://ceur-ws.org/Vol-2469/ERForum1.pdf
|volume=Vol-2469
|authors=Marco Franceschetti,Johann Eder
|dblpUrl=https://dblp.org/rec/conf/er/FranceschettiE19
}}
==Towards Checking Dynamic
Controllability of Processes with Temporal Loops==
Towards Checking Dynamic Controllability of Processes with Temporal Loops Marco Franceschetti, Johann Eder Department of Informatics-Systems, Alpen-Adria Universität Klagenfurt, Austria firstname.lastname@aau.at Abstract. We propose a technique for checking the dynamic control- lability 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 proce- dure 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. 1 Introduction An important part of the modelling of processes is to represent their temporal properties and to model the temporal constraints expressing temporal require- ments and restrictions. Compliance to temporal constraints like deadlines, reac- tion times, process durations rank among the most important quality measures [3, 14, 25, 2] 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 [19, 11] and for checking satisfiability or controllability of process definitions with temporal constraints. 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 tempo- ral descriptions. For an example the time-span needed for executing an activity might range between some minimum and maximum duration, without any con- trol of the actual duration by the process controller. On the other hand, the process controller has to guarantee some temporal properties (like e.g. maxi- mum duration of the whole process) in spite of these uncertainties. Therefore, the notion of controllability rather than satisfiability is adequate as correctness criterion for processes with temporal constraints. Satisfiability only requires that it is possible to satisfy all constraints, for some durations of the activities and for Copyright © 2019 for this paper by its authors. Use permitted under Creative Com- mons License Attribution 4.0 International (CC BY 4.0). 2 Marco Franceschetti, Johann Eder some flow decisions, however not necessarily for all durations of these activities. Controllability, in contrast, requires that all temporal constraints are fulfilled for all durations of invoked activities and for all possible flows. Checking satisfiability, controllability and its less restrictive but more com- plex variant dynamic controllability is already well established for basic control patterns [7, 9, 17, 16]. Nevertheless, the current situation has the following short- comings: (i) the separation of concerns between proscriptive control structures and declar- ative temporal constraints in process definitions 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. As an approach to overcome these problems, the notion of temporal control structures (temporal splits and temporal loops) for process models was intro- duced and their semantics was formally defined [24]. In particular, [24] proposed a temporal loop construct, which allows - to the best of our knowledge for the first 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. Although the operational semantics of temporal control structures is easily defined 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 [8] we proposed a technique for checking the controllability of processes with temporal splits by transforming the temporal splits to non-contingent decision nodes to- gether with some constraints. Such a transformed process can then be mapped to CSTNUDs which can be checked for dynamic controllability. In this paper we consider the dynamic controllability of processes with tem- poral 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 first process is dynamically controllable, if and only if the second is dynamically con- trollable and thus we can reduce the checking to the already solved case for processes without temporal loops for which we already proposed effective pro- cedures for checking dynamic controllability [8]. The remainder of this paper is organized as follows: we revisit the definition of process models with temporal loops and the definition 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. Dynamic Controllability of Temporal Loops 3 2 Temporal Control Structures 2.1 Process Model As a basis for the introduction of procedures for checking dynamic controlla- bility, we first define the process model with temporal control structures. It is basically the process model in [24] which introduced temporal splits and tempo- ral joins for the first time, however we extend this model with explicit temporal constraints (upper-bound and lower-bound constraints between process events). All the definitions and examples are taken from [24] and are repeated here to make the paper self-contained. We use a simple process metamodel, which focuses on the standard minimum workflow control patterns [27]. However, the definitions and algorithms can be easily extended to other control flow patterns. 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. 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. Definition 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 | start | end | xor-split | xor-join | and-split | and-join, which have the usual semantics, or a temporal node with n.type = t-loop | t-split. n.cond is the boolean condition for a node n of type xor − split. n.db is the minimum and n.dw maximum duration of a node n ∈ N such that 0 ≤ n.db ≤ n.dw and n.db , n.dw ∈ N. Each edge (n1 , n2 ) ∈ E, n1 , n2 ∈ N, describes a precedence constraint be- tween nodes n1 and n2 . The successors and predecessors of a node n are denoted n.Succ = {m|(n, m) ∈ E} and n.P red = {m|(m, n) ∈ E} respectively. There is exactly one start activity (which has no predecessor) and one end activity (which has no successor). The number of predecessors |n.P red| per node- type n.type is as follows: 0 for start, 2 for xor − join and t − join, > 1 for and − join, and 1 for all other types. The number of successors |n.Succ| per node-type n.type is restricted as follows: 0 for end, 2 for xor −split and t−split, > 1 for and − join, and 1 for all other types. The variable elapsed represents the distance between the start of the process and a point in time. A temporal split node n has a threshold n.c where n.c ∈ R≥0 , and a true successor and a false successor. 4 Marco Franceschetti, Johann Eder A temporal loop tl ∈ 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 ∈ N with the optional predicate P . The duration interval of the loop-body is represented by l.bb and l.bw . 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. 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. We assume that a process graph is full-blocked (proper nesting of match- ing 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. Without loss of generality in this paper we only consider the temporal con- ditions (elapsed ≤ c). A temporal loop tloop(n, P, c, B) iterates over its body as long as the condi- tion is true. A temporal loop’s condition specifies 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 defined rel- ative to the start node of the process graph. A t-split node is a special variant of an xor-split node with a temporal con- dition. 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. As we have shown in [8], with t-split nodes a process controller has some influence 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 Scenarios 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 Dynamic Controllability of Temporal Loops 5 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 defined 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. In a scenario time stamps for the start and the end are assigned to each node, representing one out of many possible process executions. Definition 2 (Scenario). A scenario S̄ for a process graph P (N, E, C, ω) as- sociates each n ∈ N and the body l.B of each t-loop l with two time stamps ts , te ∈ N, representing the start time and end time of n respectively. We call (n, ts , te ) ∈ S̄ a scenario entry. We define a valid scenario as formalization of the conceptual semantics of control flow structures described in Section 2. Definition 3 (Valid Scenario). A scenario S̄ for a process graph P (N, E, C, ω) is valid, iff: (1) ∀n ∈ N : n.ts ≤ n.te ≤ δ (2) ∀n ∈ N, n.type 6= t − loop : n.ts + n.db ≤ n.te ≤ n.ts + n.dw (3) ∀(m, n) ∈ E, m.type 6= t − split : m.te ≤ n.ts (4) ∀n ∈ N, t − split(n, c, u, d): n.ts ≤ c ⇒ n.ts ≤ u.ts n.ts > c ⇒ n.ts ≤ d.ts (5) ∀n ∈ N, tloop(n, T rue, c, B), n.ts ≤ c: c < n.te ≤ c + n.bw , (6) ∀n ∈ N, tloop(n, P, c, B), n.ts ≤ c: n.ts ≤ c ⇒ n.ts ≤ n.te ≤ c + n.bw (7) ∀ubc(m, n, δ) : n.ts ≤ m.ts + δ (8) ∀lbc(m, n, δ) : m.ts ≤ n.ts − δ 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 final loop-iteration (worst-case duration of the loop body). The end of the loop is always after the cut-off 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 finally (6) states that t-loops with the condition P ∧(elapsed ≤ c) can finish anytime before c due to the condition P , but they can last until c + duration of the loop body. An example for a process with one possible valid (valid) scenario, is shown in Figure 1 [24]. 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 6 Marco Franceschetti, Johann Eder 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. Fig. 1. Process Model with Valid Scenario [24] 3 Dynamic Controllability 3.1 Dynamic Controllability and Loops Traditionally, temporal correctness of a process was discussed with the notions consistency or satisfiability, which require the existence of at least one trace which meets all temporal constraints. Nevertheless, as several works pointed out, satisfiability is a too weak notion for temporal correctness, since design- ers 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 satisfied for all considered circumstances, i.e. for possible durations and conditions. This need led to the formulation of the notion of (dy- namic) controllability (see [7] for formal definition) 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 ac- tivities 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. Time constrained processes with unbounded loops (while loops, repeat-until loops, etc.) can never be dynamically controllable, since the number of itera- tions and, therefore, the maximum duration of the loop cannot be known at design time or even at run-time before the loop finished. For temporal loops the situation is different, as the temporal condition in a t-loop defines a temporal bound for the duration of a t-loop and hence also limits the number of possible iterations. For checking, whether a process with t-loops is dynamically controllable, we follow a model transformation approach [10, 8]. In particular, we propose the Dynamic Controllability of Temporal Loops 7 following procedure: a process with t-loops is mapped to a process without t- loops which is equivalent to the first 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). In the following, we introduce three transformations: the first 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 significantly more compact and smaller, while having equivalent dynamic controllability. 3.2 Loop Unfolding 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 suffers, of course, from the problem that the number of iterations cannot be known (and may even be in- finite). 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 com- putation 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 [11]. Definition 4 (earliest execution time). Let P = (N, E, C, ω) be a process. For each node n ∈ 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({m.e + m.dmin |(m, n) ∈ E}; 5. for all other nodes: n.e := min({m.e + m.dmin |(m, n) ∈ E}. We define here an elementary transformation step of one elementary unfold- ing 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. 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. 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 Definition 1 a loop has exactly one predecessor and exactly 1 successor. XS and XJ represent xor- split and xor-join, T S and T J denote temporal split and -join. For the formal 8 Marco Franceschetti, Johann Eder loop (P∧elapsed ≤ c) T B loop elapsed ≤ c B A (P∧elapsed ≤ c) X T TS TJ B P? F A XS XJ X F Fig. 2. Transformation step for loop unfolding. definition of the loop unfold step we use the following shorthand: (a, b, T ) ∈ E denotes that b is the T rue successor of a split node a. Definition 5 (Transformation step). We define a transformation step as follows: Let P = (N, E, C, ω) be a process. Let n ∈ N with tloop(n, P, c, B). P 0 = (N 0 , E 0 , C 0 , ω) = T 1 (P, n) is defined as: 1. If c < n.e, then n is deleted. (a) N 0 := N − {n}; (b) E 0 := E − {(n, x) ∈ E, (y, n) ∈ E} ∪ {(m, x)|(m, n) ∈ E, (n, x) ∈ E} 2. If c ≥ n.e, then n is unfolded as follows: (a) N 0 := N ∪ {XS, XJ, T S, T J, B} : XS.type = xor − split, XJ.type = xor − join, XS.cond = P , T S.type = t − split, T J.type = t − join, B = n.B (b) E 0 := E − {(n, x) ∈ E, (y, n) ∈ E} ∪ {(y, XS)|(y, n) ∈ E} ∪ {(XJ, x)|(n, x) ∈ E} ∪ {(XS, T S, T ), (XS, XJ, F } ∪ {(T S, B, T ), (T S, T J, F } ∪ {T J, XJ), (B, n), (n, T J)} 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 true- branch 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 true- branch makes it possible to execute further loop iterations. By iteratively un- folding 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. Definition 6 (Transformation). We define the loop-unfolding transformation as follows: Let P = (N, E, C, ω) be a process. The loop unfolding transformation T ∗ (P ) = P 0 = (N 0 , E 0 , C 0 , ω) is defined as follows: If ∃n ∈ 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. Dynamic Controllability of Temporal Loops 9 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. With the transformation for loop unfolding we defined here, we transformed a process with temporal loops to an equivalent process without temporal loops (but with temporal splits). For such process, an effective procedure for checking the dynamic controllability has been proposed in [8], which is based on mapping such processes to an equivalent Conditional Simple Temporal Network with Un- certainty and Decisions (CSTNUD) for which a procedure for checking dynamic controllability has been presented in [29]. 3.3 Simple transformations The transformation defined 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. Therefore, we present here a much more compact transformation of a tem- poral loop which is not execution - equivalent to the original process but con- trollability equivalent. We first present the simple transformation for temporally constrained loop without an additional predicate, i.e. a tloop(n, T rue, c, B). Definition 7 (Simple transformation). Let P = (N, E, C, ω) be a process. Let n ∈ N with tloop(n, T rue, c, B). The result of the simple transformation T s (P, n) = P 0 = (N 0 , E 0 , C 0 , ω) is defined as: 1. N 0 := N ∪ {T S, T J, B 0 }, tsplit(T S, c), T J.type = tjoin, B 0 .type = activity, B 0 .dmin = 0, B 0 .dmax = B.dmax 2. E 0 := E ∪ {(T J, x)|(n, x) ∈ E} ∪{(x, T S)} − {(x, n) ∈ E} ∪{(T S, T J, F ), (T S, B 0 , T ), (B 0 , T J)} 3. C 0 := C ∪ {lbc(start, B 0 .s, c + 1)} 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 first 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 B 0 which represents the part of the loop body of the last iteration, which is executed after the threshold c. The node B 0 is contingent with a minimum duration of 0 and 10 Marco Franceschetti, Johann Eder lbc(start, B’.s, c+1) loop elapsed ≤ c T B’ (elapsed ≤ c) [0,B.dmax] A X ... A TS TJ X B F Fig. 3. Transformation for loop with condition with parameter P = T rue. 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). 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 B 0 . (b) If the process arrives at T S after the threshold c, the loop is never exe- cuted, and the whole loop is left and the process may continue immediately. Lemma 2. Let P = (N, E, C, ω) be a process definition. Let n ∈ 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 , E 0 , C 0 , ω). P and P 0 have equivalent sets of valid scenarios. Proof. We consider 2 scenarios as equivalent, if they are identical with the ex- ception that the first 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 General Simple Transformation 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. Fig. 4 shows a graphically the general simple transformation for the case of a t-loop having a an additional condition 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 Xor- structure (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 finished before or at the threshold c, which is expressed by the upper-bound constraint ubc(start, D.s, c). Dynamic Controllability of Temporal Loops 11 lbc(start, B’.s, c) B’ loop P? T [0,B.d ] max A (P∧elapsed ≤ c) X elapsed ≤ c T XS XJ B F ... A TS D TJ X F [0,0] ubc(start, D.s, c) Fig. 4. Transformation for loop with condition with generic boolean parameter P . Definition 8 (General simple transformation). Let P = (N, E, C, ω) be a process. Let n ∈ N with tloop(n, P, c, B). The result of the simple transformation T g (P, n) = P 0 = (N 0 , E 0 , C 0 , ω) = is defined as: 1. N 0 := N ∪ {XS, XJ, T S, T J, B 0 , D}, XS.type = xsplit, XJ.type = xjoin, tsplit(T S, c), T J.type = tjoin, B 0 .type = activity, B 0 .dmin = 0, B 0 .dmax = B.dmax D.type = activity, D.dmin = 0, D.dmax = 0 2. E 0 := E ∪ {(T J, x)|(n, x) ∈ E} ∪{(x, T S)} − {(x, n) ∈ E} ∪{(T S, T J, F ), (T S, XS, T ), (XS, D, F ), (XS, B 0 , T )} ∪ {(B 0 , XJ),(D, XJ),(XJ, T J)} 3. C 0 := C ∪ {lbc(start, B 0 .s, c + 1)} ∪{ubc(start, D.s, c)} 3.5 Checking Dynamic Controllability Theorem 1. A process model P with temporal loops is dynamically control- lable, if each loop body is temporally controllable and the process P̄ = T g (P ) is dynamically controllable. Proof 1. Proof sketch: The theorem follows from the observation that the process and the transformed process have equivalent sets of valid scenarios. With this result we now can reduce the checking of the dynamic controllabil- ity 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 intro- duced a checking procedure [8]. 4 Related Work A general overview of time management for workflows, orchestrations, and busi- ness process management and its development over the past 20 years is given in [12, 5]. Early approaches checking temporal qualities of process definitions are 12 Marco Franceschetti, Johann Eder [21, 1, 11] with techniques rooted in network analysis, scheduling, or constraint networks. These techniques stimulated the development of more advanced net- works, the consideration of interorganizational processes and for supporting tem- poral service level agreements for service compositions [4, 15]. Process mining [26] offers a different approach for deriving temporal qualities of process definitions. However, process mining requires a substantial amount of observed traces be- fore 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. We concentrate here on related work with respect to formulating temporal constraints involving control structures, checking correctness and other temporal properties of process definitions with such temporal constraints. BPMN [22] allows to use time information in conditions, however the speci- fication is on a rather abstract generic level. More precise expression definition is offered by some system vendors, e.g. Oracle BPM [23]. [13] extend BPMN with graphical elements for temporal concepts with defined semantics, mainly to express inter-task constraints and more complex timed triggers. However, all these approaches do not consider the verification of defined processes. [20, 18] gathered and unified different notions for representing temporal con- straints for process models. Temporal constraints are classified in a set of 10 different 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 different XOR branches where the XOR condition depends on tem- poral information. A t-split [24] is a specialization of time pattern TP8 since it allows to execute different branches depending on the elapsed time since process start. Time pattern TP8 alone, however, does not address the controllability aspects, which were addresses in [8]. Controllability and dynamic controllability are the most elaborated notions of correctness of temporally constrained process definitions. Recently, control- lability 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 definitions [6]. However, they are not able to express the kind of temporal con- trol 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, [28] introduced CSTNUDs, to capture control structures in which con- trollers 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 expressive- ness within the framework of temporal networks, the approach does not take into account how decisions are made, which we address here with regard to de- cisions depending on the temporal status of the ongoing process execution. In particular, we consider that controllers may influence decisions by deciding when to execute temporal conditions. Dynamic Controllability of Temporal Loops 13 Temporal control structures for processes have been introduced in [24] for the first time. In [8] a procedure for checking the dynamic controllability of processes with temporal splits has been proposed. This paper is a continuation of this work. 5 Conclusions Dynamic Controllability has been established as the most suitable criterion for the temporal correctness of process definitions. However, so far only procedures for acyclic processes have been developed, as processes with loops are by defi- nition not dynamically controllable. The introduction of temporally constrained loops in process models opens interesting new possibilities for representing tem- poral constraints in process models with loops. Here we showed how dynamic controllability of processes with temporal loops can effectively be checked at design time. The proposed procedure relies on a series of transformations of process definitions with the final target of mapping a process definition to sim- ple temporal networks with uncertainty and decisions (CSTNUD), for which procedures for checking dynamic controllability have been proposed. For practi- cal implementations, however, a process model can be directly translated to an equivalent CSTNUD, short-cutting the series of transformations. References 1. C. Bettini, X. Wang, and S. Jajodia. Temporal reasoning in workflow systems. Distributed and Parallel Databases, 11(3):269–306, 2002. 2. R. Breu, S. Dustdar, et al. Towards living inter-organizational processes. In 2013 IEEE 15th Conference on Business Informatics, pages 363–366. IEEE, 2013. 3. J. Cardoso, A. Sheth, and J. Miller. Workflow quality of service. In Enterprise Inter-and Intra-Organizational Integration, pages 303–311. Springer, 2003. 4. J. Cardoso, A. Sheth, J. Miller, J. Arnold, and K. Kochut. Quality of service for workflows and web service processes. Journal of Web Semantics, 1(3):281–308, 2004. 5. S. Cheikhrouhou, S. Kallel, N. Guermouche, and M. Jmaiel. The temporal per- spective in business process modeling: a survey and research challenges. Service Oriented Computing and Applications, 9(1):75–85, 2015. 6. C. Combi, L. Hunsberger, and R. Posenato. An algorithm for checking the dy- namic controllability of a conditional simple temporal network with uncertainty - revisited. In Agents and Artificial Intelligence, pages 314–331. Springer Berlin Heidelberg, 2014. 7. C. Combi and R. Posenato. Controllability in temporal conceptual workflow schemata. In Business Process Management, pages 64–79. Springer, 2009. 8. J. Eder, M. Franceschetti, and J. Köpke. Controllability of orchestrations with temporal SLA: Encoding temporal XOR in CSTNUD. In Int. Conf. on Information Integration and Web-based Applications & Services, pages 234–242. ACM, 2018. 9. J. Eder, W. Gruber, and E. Panagos. Temporal modeling of workflows with con- ditional execution paths. In Database and Expert Systems Applications, pages 243–253. Springer, 2000. 14 Marco Franceschetti, Johann Eder 10. J. Eder, W. Gruber, and H. Pichler. Transforming workflow graphs. In Interoper- ability of Enterprise Software and Applications, pages 203–214. Springer, 2006. 11. J. Eder, E. Panagos, and M. Rabinovich. Time constraints in workflow systems. In Advanced information systems engineering, pages 286–300. Springer, 1999. 12. J. Eder, E. Panagos, and M. Rabinovich. Workflow time management revisited. In J. Bubenko, J. Krogstie, O. Pastor, B. Pernici, C. Rolland, and A. Sølvberg, editors, Seminal Contributions to Information Systems Engineering, pages 207– 213. Springer Berlin Heidelberg, 2013. 13. D. Gagne and A. Trudel. Time-bpmn. In Commerce and Enterprise Computing, 2009. CEC’09. IEEE Conference on, pages 361–367. IEEE, 2009. 14. M. Gillmann, G. Weikum, and W. Wonner. Workflow management with service quality guarantees. In Proceedings of the 2002 ACM SIGMOD international con- ference on Management of data, pages 228–239. ACM, 2002. 15. N. Guermouche and C. Godart. Timed model checking based approach for web services analysis. In ICWS, pages 213–221. IEEE, 2009. 16. L. Hunsberger, R. Posenato, and C. Combi. The dynamic controllability of condi- tional stns with uncertainty. arXiv preprint arXiv:1212.2005, 2012. 17. A. Lanz, R. Posenato, C. Combi, and M. Reichert. Controllability of time-aware processes at run time. In On the Move to Meaningful Internet Systems: OTM 2013 Conferences, pages 39–56. Springer, 2013. 18. A. Lanz, M. Reichert, and B. Weber. Process time patterns: A formal foundation. Information Systems, 57:38–68, 2016. 19. A. Lanz, B. Weber, and M. Reichert. Workflow time patterns for process-aware information systems. In Enterprise, Business-Process and Information Systems Modeling, pages 94–107. Springer, 2010. 20. A. Lanz, B. Weber, and M. Reichert. Time patterns for process-aware information systems. Requir. Eng., 19(2):113–141, 2014. 21. O. Marjanovic and M. Orlowska. On modeling and verification of temporal con- straints in production workflows. Knowledge and Information Systems, 1(2):157– 192, 1999. 22. ObjectManagementGroup. Business Process Model and Notation (BPMN), Ver- sion 2.0. http://www.omg.org/spec/BPMN/2.0, 2011. 23. OracleFusion. Adding delays, deadlines, and time based cycles to your process. https://docs.oracle.com/middleware/1221/bpm/bpm-develop/GUID- 1684501B-AA69-4982-B3BC-9B05E33B4EB3.htm#BPMPD579, 2019. Accessed: 2019-08-08. 24. H. Pichler, J. Eder, and M. Ciglic. Modelling processes with time-dependent control structures. In Int. Conf. on Conceptual Modeling, pages 50–58. Springer, 2017. 25. H. Pichler, M. Wenger, and J. Eder. Composing time-aware web service orches- trations. In Advanced Information Systems Engineering, pages 349–363. Springer, 2009. 26. W. van der Aalst, M. Schonenberg, and M. Song. Time prediction based on process mining. Information Systems, 36(2):450–475, 2011. 27. W. van Der Aalst, A. H. Ter Hofstede, B. Kiepuszewski, and A. P. Barros. Workflow patterns. Distributed and parallel databases, 14(1):5–51, 2003. 28. M. Zavatteri. Conditional simple temporal networks with uncertainty and de- cisions. In LIPIcs-Leibniz International Proceedings in Informatics, volume 90. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2017. 29. M. Zavatteri. Temporal and Resource Controllability of Workflows Under Uncer- tainty. PhD thesis, Universita degli Studi di Verona, 2018.