<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Resolving Conflicts in Process Models with Temporal Constraints</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Josef</forename><surname>Lubas</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Informatics-Systems</orgName>
								<orgName type="institution">Universität Klagenfurt</orgName>
								<address>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Marco</forename><surname>Franceschetti</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Informatics-Systems</orgName>
								<orgName type="institution">Universität Klagenfurt</orgName>
								<address>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Johann</forename><surname>Eder</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Informatics-Systems</orgName>
								<orgName type="institution">Universität Klagenfurt</orgName>
								<address>
									<country key="AT">Austria</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Resolving Conflicts in Process Models with Temporal Constraints</title>
					</analytic>
					<monogr>
						<idno type="ISSN">org 1613-0073</idno>
					</monogr>
					<idno type="MD5">9A4A5EC8CBB9D8548199A42ADCFF54DB</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T16:05+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Temporal constraints, temporal requirements, and temporal goals such as deadlines, durations, minimum and maximum time spans between events are important aspects of business processes. However, some of these aspects may happen to be in conflict with each other. Dynamic controllability emerged as the preferred notion expressing the absence of such conflicts. We propose a system that supports the design of processes with temporal constraints that are not in conflict. The system does not only check whether a designed process model with temporal constraints is admissible, i.e., dynamically controllable, but also delivers all the conflicting constraints that contribute to a violation of dynamic controllability. The system offers also the possibility to incrementally add and remove temporal constraints, and instantaneously check for absence of conflicts. Additionally, we provide an algorithm that computes the strictest temporal constraints between events, which can be added without introducing conflicts.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Business processes typically have to observe temporal requirements or constraints such as the duration of activities, deadlines for the process execution and admissible laps between events (in particular the start and end of activities) <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b1">2,</ref><ref type="bibr" target="#b2">3,</ref><ref type="bibr" target="#b3">4,</ref><ref type="bibr" target="#b4">5]</ref>. Recently, significant progress was made to check a process model for the existence of conflicts between temporal constraints, i.e., mutually exclusive satisfaction of temporal constraints. To this end, several notions of temporal correctness, such as consistency, controllability, conditional controllability and dynamic controllability, with different degrees of expressiveness, strictness and problem complexity have been developed (see, e.g., <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b7">8,</ref><ref type="bibr" target="#b8">9]</ref>).</p><p>The most elaborated notion for the correctness of temporally constrained business processes is dynamic controllability (DC) <ref type="bibr" target="#b9">[10,</ref><ref type="bibr" target="#b5">6,</ref><ref type="bibr" target="#b8">9]</ref>. Dynamic controllability ensures that the temporal constraints are free from any potential conflict under any foreseeable circumstance <ref type="bibr" target="#b10">[11]</ref>. Dynamic controllability is the most relaxed criterion to guarantee that it is possible to steer the execution of a business process in such a way that no temporal constraint violations occur at run-time despite uncertainties. Uncertainties arise when the process controller cannot know the precise duration of some activities (e.g., of invoked services) beforehand, and because of conditional execution paths that cannot be influenced.</p><p>Sound and complete algorithms are now available to effectively check whether specifications of temporally constrained business processes are dynamically controllable. The major approaches to check the dynamic controllability of processes are based on different kinds of temporal constraint networks <ref type="bibr" target="#b11">[12]</ref>, in particular Simple Temporal Network with Uncertainty (STNU) and Conditional Simple Temporal Network with Uncertainty (CSTNU). Business process models with temporal constraints can be transformed into an equivalent STNU or CSTNU by applying a set of transformation rules <ref type="bibr" target="#b12">[13]</ref>. So the dynamic controllability of a business process is delegated to checking whether its corresponding STNU or CSTNU is dynamically controllable. At this time, effective techniques for checking dynamic controllability of STNUs, such as the MMV- <ref type="bibr" target="#b13">[14]</ref> and the RUL-system <ref type="bibr" target="#b14">[15,</ref><ref type="bibr" target="#b9">10]</ref> (respectively for CSTNUs <ref type="bibr" target="#b15">[16]</ref>) have been proposed. These algorithms apply rules to infer temporal constraints until no additional constraint can be deduced (DC holds), or a contradiction is detected (DC does not hold).</p><p>Nevertheless, supporting the design of temporally constrained processes and supporting the negotiation of temporal requirements need more than checking procedures returning "true" or "false", as current procedures do. However, based on these procedures, we were able to develop a system that provides significantly greater support for designers and requirements engineers, to analyze the cause of conflicts, to incrementally add constraints, and to compute which additional constraints are feasible.</p><p>Here, we present a temporal process designer that offers the following features:</p><p>• If a process is not dynamically controllable, we provide a procedure that shows the subsets of constraints that are in conflict. A designer then might adjust some of these constraints to resolve these conflicts and achieve dynamic controllability. • Temporal constraints may be added or deleted without the necessity to run the checking algorithm from scratch again. If a constraint is removed, all implicit constraints, which were derived from the removed constraint, are also removed and the other derived constraints remain. • The tool is able to compute the strictest constraint (e.g., the strictest deadline, the longest or shortest possible duration of an activity, the minimum and maximum time lap between two events, etc.) without losing dynamic controllability. This is, in particular, helpful for requirements engineering where some of the constraints are fixed (e.g., laws, nature, etc.) and other temporal requirements are adjustable goals or subject of negotiations <ref type="bibr" target="#b16">[17]</ref>, which allows resolving existing conflicts.</p><p>In this paper, we base our considerations on STNUs, which are simpler and have lower complexity than CSTNUs and are therefore better suited to present the principles of the approach and the features of the temporal process designer.</p><p>The remainder of this paper is structured as follows: in Sect. 2 we introduce a process model and discuss preliminary concepts; in Sect. 3 we analyze desirable features for supporting the design of processes with temporal constraints; in Sect. 4 we present a designer tool supporting these features; in Sect. 5 we discuss related work; in Sect. 6 we draw conclusions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Processes with Temporal Constraints</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Process Model</head><p>In this section, we introduce a process model that covers the most commonly found control flow patterns: sequence, inclusive and disjunctive splits, and the corresponding joins. We currently consider only processes that are acyclic and block-structured, which prevents the design flaws pointed out in <ref type="bibr" target="#b17">[18]</ref>.</p><p>As regards the temporal aspect of the process model, it allows the definition of activity durations, process deadline, and upper-and lower-bound constraints between events (start and end of activities). Time in the process model is measured in chronons, an abstract time unit representing, e.g., hours, days, ..., with domain the set of natural numbers, thus time points can be placed on an increasing time axis starting at 𝑧𝑒𝑟𝑜. Durations are defined as the distance between two time points on the time axis. For each activity, the process model specifies a duration range, i.e., an interval delimited by the minimum and maximum allowed duration for the activity execution. The process model allows the definition of contingent, non-contingent, and semi-contingent activity durations <ref type="bibr" target="#b18">[19]</ref>. Contingent durations cannot be controlled, which means that it cannot be known in advance how long they will actually take: each actual duration is discovered at the completion of the associated activity. Non-contingent activity durations, instead, can be controlled at any time by the process controller, who can steer them to meet temporal constraints. Finally, semi-contingent activity durations can be decided by the executor, but each such duration can be chosen only up to the start time of the corresponding activity, and cannot be further changed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 1 (Process Model).</head><p>A process 𝑃 is a tuple (𝑁 , 𝐸, 𝐶, Ω), where:</p><p>• 𝑁 is a set of nodes 𝑛 with 𝑛.𝑡𝑦𝑝𝑒 ∈ {𝑠𝑡𝑎𝑟𝑡, 𝑎𝑐𝑡𝑖𝑣𝑖𝑡𝑦, 𝑥𝑜𝑟 − 𝑠𝑝𝑙𝑖𝑡, 𝑥𝑜𝑟 − 𝑗𝑜𝑖𝑛, 𝑝𝑎𝑟 − 𝑠𝑝𝑙𝑖𝑡, 𝑝𝑎𝑟 − 𝑗𝑜𝑖𝑛, 𝑒𝑛𝑑}. Each 𝑛 ∈ 𝑁 is associated with two events: 𝑛.𝑠 and 𝑛.𝑒, representing the 𝑠𝑡𝑎𝑟𝑡 and 𝑒𝑛𝑑 events of 𝑛. • 𝐸 is a set of edges 𝑒 = (𝑛1, 𝑛2) defining precedence constraints.</p><p>• 𝐶 is a set of temporal constraints:</p><p>-duration constraints 𝑑(𝑛, 𝑛 𝑚𝑖𝑛 , 𝑛 𝑚𝑎𝑥 , 𝑑𝑢𝑟) ∀𝑛 ∈ 𝑁, where 𝑛 𝑚𝑖𝑛 , 𝑛 𝑚𝑎𝑥 ∈ ℕ, 𝑑𝑢𝑟 ∈ {𝑐, 𝑠𝑐, 𝑛𝑐}, stating that 𝑛 takes some time in [𝑛 𝑚𝑖𝑛 , 𝑛 𝑚𝑎𝑥 ]. 𝑛 can be contingent (𝑑𝑢𝑟 = 𝑐), semicontingent (𝑑𝑢𝑟 = 𝑠𝑐), non-contingent (𝑑𝑢𝑟 = 𝑛𝑐); -upper-bound constraints 𝑢𝑏𝑐(𝑎, 𝑏, 𝛿), where 𝑎, 𝑏 ∈ 𝑁 𝑒 , 𝛿 ∈ ℕ, requiring that 𝑏 ≤ 𝑎 + 𝛿; -lower-bound constraints 𝑙𝑏𝑐(𝑎, 𝑏, 𝛿), where 𝑎, 𝑏 ∈ 𝑁 𝑒 , 𝛿 ∈ ℕ, requiring that 𝑏 ≥ 𝑎 + 𝛿.</p><p>• Ω ∈ ℕ is the process deadline, specifying the maximum process duration.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Temporal Semantics of the Process Model</head><p>To formally express the temporal semantics of the process model of Def. 1, we follow the approach shown in <ref type="bibr" target="#b19">[20]</ref> and rely on the Simple Temporal Network with Uncertainty (STNU ). The STNU is a sound formalism to encode temporal problems in the presence of contingent and non-contingent durations. Furthermore, the STNU offers sound and complete algorithms for inferring temporal knowledge and checking temporal correctness. To be self contained, we present the STNU only informally, and refer the reader to <ref type="bibr" target="#b13">[14]</ref> for a detailed formalization.</p><p>An STNU 𝑆(𝒯 , ℒ , 𝒞 ) is a network composed of nodes and edges. Nodes (set 𝒯) represent time points, and edges (set ℒ ∪ 𝒞) represent temporal constraints between time points. One special node 𝑍 ∈ 𝒯 represents the origin, or 𝑧𝑒𝑟𝑜 time point, after which all other time points occur. Edges can be either non-contingent (set 𝒞) or contingent (set ℒ). A non-contingent edge (𝐴, 𝐵, 𝛿) between two time points 𝐴 and 𝐵 represents a constraint, which the executor must satisfy, i.e., she must assign a value to 𝐵 such that 𝐵 ≤ 𝐴 + 𝛿 holds. A contingent edge, also called link, (𝐴 𝐶 , 𝑙, 𝑢, 𝐶) between two time points 𝐴 𝐶 and 𝐶 states that the value of 𝐶 will be observed to be between 𝑙 and 𝑢 after the value of 𝐴 𝐶 .</p><p>To express the temporal semantics of a process model, the process model can be mapped into a temporally equivalent STNU, i.e., the STNU is a complete encoding of all the elements of the process temporal aspect. The mapping is realized by applying mapping rules as follows:</p><p>Definition 2 (STNU-mapping). Let 𝑃(𝑁 , 𝐸, 𝐶, Ω) be a process model. The STNU 𝑆(𝒯 , ℒ , 𝒞 ) equivalent to 𝑃 is obtained by applying the following rules: </p><formula xml:id="formula_0">1. The 𝑠𝑡𝑎𝑟𝑡</formula><formula xml:id="formula_1">; 6. ∀ 𝑢𝑏𝑐(𝑎, 𝑏, 𝛿) ∈ 𝐶, a non-contingent edge (𝑎, 𝑏, 𝛿) is in 𝒞; 7. ∀ 𝑙𝑏𝑐(𝑎, 𝑏, 𝛿) ∈ 𝐶, a non-contingent edge (𝑏, 𝑎, −𝛿) is in 𝒞; 8. Ω is mapped into a non-contingent edge (𝑍 , 𝑒𝑛𝑑, Ω) in 𝒞.</formula><p>The mapping rules in Def. 2 transform the start and end events of the process model into two STNU nodes (rule 1); each process node into two STNU nodes, one for the start and one for the end of the process node (rule 2). With rule 3, each precedence constraint of the process model is mapped into a non-contingent STNU edge. The two STNU nodes resulting from a process node are connected by either a contingent link having the minimum and maximum duration bounds for the node duration if the duration is contingent (rule 4), or a pair of non-contingent edges if the duration is non-contingent or semi-contingent. All temporal constraints and the process deadline are mapped into non-contingent STNU edges (rules 6-8).</p><p>With the above mapping, we obtain a formal STNU encoding that includes all the temporal elements of the process model from Def. 1.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">Constraint Propagation for Checking Dynamic Controllability</head><p>As shown in <ref type="bibr" target="#b19">[20]</ref>, the mapping of a process model into an STNU allows verifying the dynamic controllability (DC) of the process model by checking the DC of its equivalent STNU. Different methods exist for checking the DC of an STNU; here, we adopt the approach based on constraint propagation, due to its ability to infer implicit temporal knowledge. Essentially, DC is checked by propagating the constraints of an STNU until either a constraint causing a negative cyclein the sense of graph theory -is derived (then the STNU is not DC), or no more propagation is possible (then the STNU is DC). Here, we refer to constraints given by the modeler as preexisting or explicit; to constraints inferred through propagation as derived or implicit.</p><p>In this work, we adopt the RUL-system <ref type="bibr" target="#b9">[10]</ref>, which is a sound-and-complete and efficient constraint propagation system. For space reasons, we only briefly introduce the system and constraint propagation; for details we refer to <ref type="bibr" target="#b9">[10]</ref>.</p><p>The system consists of three distinct rules (RELAX, UPPER and LOWER) describing how implicit constraints can be derived from existing ones in an STNU. In general, each rule applies to three STNU nodes 𝐴, 𝐵, 𝐶 connected by consecutive constraints 𝑐1 and 𝑐2 (𝐴 The constraint propagation algorithm continuously iterates over the set of all combinations of three STNU nodes, and checks for the applicability of any of the three rules, until no rule can be applied or a negative cycle is derived. A negative cycle indicates that a set of constraints are contradicting, i.e., one constraint can only be fulfilled if another one is violated.</p><p>As an example, consider an STNU fragment with nodes 𝐴, 𝐵 and a constraint requiring 𝐵 to happen at most 3 time units after 𝐴 (edge 𝐴 3 − → 𝐵). Suppose that, with the RUL-system, another constraint has been derived, requiring 𝐴 to happen at least 4 time units before 𝐵. This results in the following edges: 𝐴</p><formula xml:id="formula_2">3 − → 𝐵 −4</formula><p>− − → 𝐴, hence a negative cycle, meaning that the STNU is not DC.</p><p>It is easy to see that a negative cycle entails a negative self-cycle, e.g., 𝐴 −1 − − → 𝐴. We use this observation to speed up our implementation of the DC-checking procedure.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Designing Process Models with Temporal Constraints</head><p>In this section, we discuss actions that a process designer may perform when constructing a time-constrained process model, and present, for each action, how the design process may be optimized by our tool. Therefore we introduce first a conceptual model of our design approach (see Fig. <ref type="figure" target="#fig_1">1</ref>).</p><p>The very first step for the process designer is to formalize a given process with temporal requirements. Our tool supports process modelling with an extended notation of UML activity diagrams that allows to explicitly model processes with temporal constraints (we call this extension Temporal Activity Diagrams).</p><p>In order to provide rigorous temporal support to the designer's actions, we transform the process model into an equivalent STNU, following the mapping rules described in Def. 2. This step is referenced by the initialize() operation in Fig. <ref type="figure" target="#fig_1">1</ref>. An STNU is the formal representation of the temporal requirements of the process model and builds the foundation for our contribution since all operations are performed on STNU level. Once the process model has been initialized, we propose to check for pre-existing conflicts by running the checkDC() operation on the initial STNU. As described in Sect. 2.3, checking for dynamic controllability of an STNU is based on constraint propagation, thus requires to compute the STNU closure STNU*, i.e., the STNU with all propagated constraints. We use this fact as an advantage for an incremental design approachonly the closure STNU* is kept and updated in real time through operations of adding, removing or updating temporal constraints according to the changes in the process model.</p><p>However, the central question when designing processes with temporal constraints is whether the current process model yields a conflict (i.e., at least one constraint cannot be fulfilled without violating any other). Thus, a process designer may repeatedly check for dynamic controllability</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Temporal Process</head><p>Designer 1. If the model is DC (i.e., free of conflicts), a process modeller may go on and add further constraints. As an optimization, the complete STNU mapping is done only the first time the checking procedure is called. Further adding constraints does not require recomputing the closure with the implicit constraints. Therefore, the equivalent STNU for the DC-check is incrementally constructed by adding each time a new constraint to the STNU*. The DC-checking procedure only updates previously derived constraints if necessary. 2. If, during the design of a process, the DC-checking procedure reveals that the model is not DC (by discovering a negative cycle), with the incremental DC-checking, this means that the last added constraint yields a conflict with some preexisting constraints. At this point, a process designer needs to identify which constraints actually cause the conflict, and may check which alternative constraint would instead introduce no conflict.</p><p>In the following, we describe how we can identify conflicting temporal constraints by keeping track of the provenance of derived constraints during execution of the DC-checking procedure, and how we can compute the most restrictive constraint such that a given model remains conflict-free. In order to enhance the reader's understanding of the approach, we introduce a small running example.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1.">Running Example</head><p>In Fig. <ref type="figure" target="#fig_2">2</ref> we show an example activity diagram of a process with temporal constraints. There are four activities (𝐴, 𝐵, 𝐶, 𝐷), whereas 𝐵 and 𝐶 are executed in parallel. Each activity is associated with a duration and duration type (contingent, non-contingent). There are also two upper-bound constraints: one requires the process to end within 25 time units, and one requires 𝐷 to start at most 5 time units after 𝐴 has finished.</p><p>The application of the DC-checking algorithm will derive the negative self-loop 𝐷 −1 − − → 𝐷, meaning that the given process model is not DC. If the system could keep track of how implicit constraints are derived, we would know that the negative self loop origins in the contradiction between the UBC that requires 𝐷 to start at most 5 time units after 𝐴 and the maximum duration of 6 time units of the contingent activity 𝐶. Due to the uncertain duration of 𝐶, 𝐷 can start at the earliest 6 time units after 𝐴 finished, resulting in the fact that it is impossible to satisfy both constraints. In the next section, we show how to identify the origin of such a conflict.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2.">Identifying Conflicting Temporal Constraints</head><p>Given a conflict between constraints, how can a process designer determine which existing temporal constraints have to be adjusted such that dynamic controllability can be achieved? A possible solution is to keep track of how implicit constraints are derived.</p><p>For any implicit constraint 𝑐, there are exactly two other constraints 𝑐 ′ , 𝑐 ″ for which the application of either the RELAX, UPPER or LOWER rule derives 𝑐. So for each implicit constraint 𝑐 there is a triple 𝑝 𝑐 = ⟨𝑐 ′ , 𝑐 ″ , 𝑟⟩ called provenance of 𝑐, where 𝑐 ′ and 𝑐 ″ are constraints and 𝑟 is the rule that derived 𝑐: Definition 3 (Provenance of a Constraint). Let 𝑆(𝒯 , ℒ , 𝒞 ) be an STNU. Let 𝑐 ∈ 𝒞 be an implicit constraint; let 𝑟 ∈ {𝑅𝐸𝐿𝐴𝑋 , 𝑈 𝑃𝑃𝐸𝑅, 𝐿𝑂𝑊 𝐸𝑅}; let 𝑐 ′ , 𝑐 ″ ∈ 𝒞 ∪ ℒ such that 𝑐 = 𝑟(𝑐 ′ , 𝑐 ″ ) 1 .</p><p>The provenance of 𝑐 is 𝑝 𝑐 = ⟨𝑐 ′ , 𝑐 ″ , 𝑟⟩, and it indicates that 𝑐 is the implicit constraint derived from the application of rule 𝑟 to constraints 𝑐 ′ , 𝑐 ″ .</p><p>Computing the transitive closure of the provenance of a constraint 𝑐, we can determine the preexisting constraints from which 𝑐 was derived. We call the transitive closure of the provenance the history of 𝑐, and the preexisting nodes in the history the origin of 𝑐. Definition 4 (History and Origin of a Constraint). Let 𝑆(𝒯 , ℒ , 𝒞 ) be an STNU. Let 𝑐 ∈ 𝒞 be an implicit constraint with provenance 𝑝 𝑐 = ⟨𝑐 ′ , 𝑐 ″ , 𝑟⟩.</p><p>The history of 𝑐 is the transitive closure 𝑝 + 𝑐 of 𝑝 𝑐 . The origin of 𝑐 is the set of preexisting constraints 𝑐 𝑒 𝑖 ∈ 𝑝 + 𝑐 such that 𝑝 𝑐 𝑒 𝑖 = ∅. Since any derived edge by the RUL-system comes from triangular reductions, the history of each constraint can be represented as binary tree, in which internal nodes represent implicit constraints, edges from a node to its children represent the node provenance, and leaf nodes represent preexisting constraints.</p><p>As an example, let 𝑆 be an STNU derived by the transformation of the example process described in Sect. 3.1, the subset of nodes {𝐴.𝑒, 𝐶.𝑠, 𝐶.𝑒, 𝐷.𝑠} and a subset of constraints 𝑐0(𝐴.𝑒 In order to identify which constraints cause the conflict we now compute 𝑝 + 𝑐6 , the transitive closure of 𝑝 𝑐6 , by computing the provenance of 𝑐0 and 𝑐5. Since 𝑐0 is a pre-existing constraint we already identified one of the conflicting constraints. For 𝑐5, however, we still have to compute the provenance. The origin of 𝑐5 are the leaf nodes 𝑐1, 𝑐2, 𝑐3 of the binary tree (see Fig. <ref type="figure" target="#fig_3">3</ref>). Since both 𝑐1 and 𝑐3 are precedence constraints (given by the process flow), we can determine 𝑐2 and 𝑐0 as conflicting constraints meaning that the negative self loop origins in the contradiction between the UBC that requires 𝐷 to start at most 5 time units after 𝐴 and the maximum duration of 6 time units of the contingent activity 𝐶. Due to the uncertain duration of 𝐶, 𝐷 can start at the earliest 6 time units after 𝐴 finished, resulting in the impossibility to satisfy both constraints.</p><p>To support the identification of constraints causing a contradiction with a newly added constraint, it is therefore useful to keep track of the provenance of constraints. By maintaining the provenance of each derived constraint during constraint propagation (e.g., as a binary tree), a designer can inspect the history of a constraint forming a self-loop in the case of a non-DC process model, and modify these constraints in order to resolve the conflict between constraints.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3.">Determining the Most Restrictive Non-contingent Constraint</head><p>When process designers know the origin of a conflict between constraints, they might consider removing selected constraints to resolve the conflict. Usually, removing constraints requires re-running the DC-checking procedure, re-computing already derived implicit constraints.</p><p>An optimization is possible if we keep track of the provenance of each derived constraint generated with the modified RUL-system. We can use the provenance of each implicit constraint for optimizing the design process, by only re-computing the necessary constraints. For any removed constraint 𝑐, we remove all constraints 𝑐 ′ where 𝑐 ∈ 𝑝 + 𝑐 ′ . Any other constraint can be kept and does not have to be recomputed, since its history does not include 𝑐.</p><p>It may not always be possible to remove a constraint that is causing a conflict from a process model. Alternatively, a process designer may need to adjust existing constraints, so that the process model becomes DC, without over-constraining the model. Thus, we might ask the question: given any two nodes in an STNU, which is the most restrictive non-contingent constraint that can be added without introducing a conflict with preexisting constraints?</p><p>The most restrictive non-contingent constraint is defined as follows:</p><p>Definition 5 (Most Restrictive Non-contingent Constraint). Let 𝑆(𝒯 , ℒ , 𝒞 ) be an STNU. Let 𝐴, 𝐵 ∈ 𝒯 be two STNU nodes. The most restrictive non-contingent constraint between 𝐴 and 𝐵 is 𝐴 − 𝐵 ≤ 𝛿, with 𝛿 the minimum value such that 𝑆(𝒯 , ℒ , 𝒞 ∪ {𝐴 − 𝐵 ≤ 𝛿}) is DC, and for any</p><formula xml:id="formula_3">𝛿 ′ &lt; 𝛿 𝑆(𝒯 , ℒ , 𝒞 ∪ {𝐴 − 𝐵 ≤ 𝛿 ′ }) is not DC.</formula><p>From Def. 5 it follows that, given the most restrictive constraint 𝑐 = 𝐴 − 𝐵 ≤ 𝛿, adding any non-contingent constraint 𝐴 − 𝐵 ≤ 𝛿 ″ , if 𝛿 ≤ 𝛿 ″ , will preserve DC property. However, it is sufficient to find the most restrictive constraint, since it is always possible to relax a constraint without introducing conflicts. We consider only non-contingent constraints, because contingent constraints come from external sources and cannot be controlled by the modeler.</p><p>Our proposed binary search approach to finding the most restrictive non-contingent constraint is shown in Alg. 1. The approach works as follows: for any two nodes 𝐴, 𝐵 in a STNU 𝑆, we can determine the most restrictive non-contingent constraint 𝑐 = 𝐴 − 𝐵 ≤ 𝛿 by adding 𝑐 to 𝑆, run execute the DC-checking procedure and then either increase the value of 𝛿 if 𝑆 is not DC, or decrease 𝛿 if 𝑆 is DC. This is done recursively, as it is a common practise for binary search. The procedure halts if 𝑆 is DC and 𝛿 cannot decrease by the smallest possible value without letting 𝑆 be not DC. Since we keep the provenance of derived constraints, we do not have to start from scratch every time we increase (or decrease) 𝛿 and check if 𝑆 is DC: we can simply drop all constraints derived from 𝑐, and keep any other.</p><p>In case of our running example (described in Sect. 3.1), we already know that 𝑐2 and 𝑐0 are in a conflict (see Sect.3.2). We assume that 𝑐2 cannot be adjusted since it describes the maximum duration of a contingent activity. Thus, a process designer might wish to adjust 𝑐0 such that the process model is DC. The described approach will determine that for 𝑐0(𝐴.𝑒 𝛿 − → 𝐷.𝑠) with any 𝛿 ≥ 6 the process model is DC.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Implementation and Evaluation</head><p>We implemented the features presented in Sect. 3 into a process designer tool, and performed a series of experiments on a set of processes to show that our approach is feasible. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">A Designer Tool for Processes with Temporal Constraints</head><p>For our implementation we focused on providing an intuitive and lightweight modelling environment for processes with temporal constraints<ref type="foot" target="#foot_0">2</ref> , rather than a fully fledged BPMN editor. Thus, we chose to use UML activity diagrams as an underlying modelling language and extended it with temporal constructs such as activity durations and upper-and lower-bound constraints according to the process model (see Def. 1).</p><p>The application was developed using ReactJs, a lightweight JavaScript library for implementing web applications. This library was chosen, because it is an easy to use and modern library with a vast amount of packages for different use cases. For drawing the graphs the library react-flow was used, because it is an highly customizeable and flexible react-library for creating graphs of all sorts. The react application also communicates with a spring webservice, which provides the main functionality of the designer tool -checking for inconsistencies and computing most restrictive non-contingent constraints.</p><p>Modelling processes is easy. A user can pick a modelling element (start/end event, activity, fork/join) an drag it to the canvas. Start/end events and for/join nodes do not have any special properties. Activities, however, require a minimum and a maximum duration and a type. Allowed types are non-contingent, contingent and semi-contingent. Inserting flow edges requires the user to connect center handles of two elements. Connecting top or bottom handles allows to insert a temporal constraint. Temporal constraints can either be UBC or LBC. As a modeler designs a process with the operations discussed in Sect. 3, the equivalent STNU is automatically constructed for the DC-check of the process model. Figure <ref type="figure" target="#fig_5">4</ref> shows a screenshot of the tools user interface.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">Experiments and Results</head><p>In order to show the practical applicability of the designer tool, we measured the computation times for the two main functionalities 1) incremental dynamic controllability checking and 2) the computation of most restrictive non-contingent constraints on a regular Windows 10 physical machine with an i7 CPU and 16GB of RAM. As a basis, we used a set of 50 pre-generated random process models with different size and configuration of constraints. For each experiment we structured our set of process models into subsets of similar size. This resulted in 5 subsets with 10, 20, 30, 40 and 50 activities (each subset including 10 processes). With growing size, also the amount of temporal constraints within the process models increases, giving us the smallest process with a total of 25 STNU nodes and 2 temporal constraints and the largest process with a total of 129 STNU nodes and 10 temporal constraints.</p><p>In Table <ref type="table" target="#tab_1">1</ref> we show the measured minimum, maximum, and average times for checking dynamic controllability on the processes of the test set.</p><p>Table <ref type="table" target="#tab_3">2</ref> shows the measured minimum, maximum, and average times for computing the most restricitve non-contingent constraint with binary search (described in Alg. 1). Overview of computation times for the execution of Alg. 1.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Related Work</head><p>The design of business processes with temporal constraints has been considered in several prior works. In <ref type="bibr" target="#b20">[21]</ref> the concepts of upper-and lower-bound constraints were introduced. The work in <ref type="bibr" target="#b21">[22]</ref> addressed the representation of such temporal constraints and activity durations in a BPMN-like language. In <ref type="bibr" target="#b6">[7]</ref> the authors raised the need to distinguish between contingent and non-contingent durations in business process, while the authors of <ref type="bibr" target="#b18">[19]</ref> introduced the notion of semi-contingent durations. Finally, <ref type="bibr" target="#b4">[5]</ref> posed an essential basis for the consolidation of patterns of temporal constraints in the design of business processes. Checking the controllability of dynamic systems such as business processes is subject to extensive research, with most approaches based on mapping to some kinds of Temporal Constraint Networks ( <ref type="bibr" target="#b11">[12,</ref><ref type="bibr" target="#b22">23]</ref>), or Timed Automata <ref type="bibr" target="#b23">[24,</ref><ref type="bibr" target="#b24">25]</ref>.</p><p>A recent publication <ref type="bibr" target="#b25">[26]</ref> proposes a tool for modelling business processes as time-aware extension of a the BPMN notation (TimeAwareBPMN-js). The authors adapted the bpmn-js toolkit offered by Camunda to allow modelling processes with temporal constraints on a subset of BPMN elements and provides functionality for checking for dynamic controllability. In contrast to <ref type="bibr" target="#b25">[26]</ref>, our proposed modeling tool incrementally constructs the STNU equivalent to the process model, and is able to show to the process designer the provenance of any implicit temporal constraint, aiding the adjustment of temporal constraints.</p><p>To the best of our knowledge, there exists only one technique dedicated to the problem of finding the most restrictive constraint between two time points, found in <ref type="bibr" target="#b22">[23]</ref>. The approach in <ref type="bibr" target="#b22">[23]</ref> introduces piece-wise linear functions to the formalism of STNUs and uses a modified version of the MMV constraint propagation system <ref type="bibr" target="#b13">[14]</ref>. Although this approach is elegant, we propose a binary search as a competitive and in fact more simple alternative approach.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>𝐶), and derives an additional constraint 𝑐3 (𝐴 𝑐3 − − → 𝐶). We call such a derivation a triangular reduction.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Conceptual model of the design process supported by the tool</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Running example</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>1Figure 3 :</head><label>3</label><figDesc>Figure 3: History of 𝑐5 in the form of a binary tree.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>6 − 6 − 6 − 6 − 1 −</head><label>66661</label><figDesc>.𝑒), 𝑐2(𝐶.𝑒 𝐶∶−−−− → 𝐶.𝑠), 𝑐3(𝐶.𝑠 0 − → 𝐴.𝑒). By applying the UPPER rule to 𝐷.𝑠 0 −−− → 𝐶.𝑠 an additional constraint 𝑐4(𝐷.𝑠 −− → 𝐶.𝑠) with 𝑝 𝑐4 = ⟨𝑐1, 𝑐2, 𝑈 𝑃𝑃𝐸𝑅⟩ can be derived. In the next step the application of the RELAX rule on 𝑐4 and 𝑐3 derives another implicit constraint 𝑐5(𝐷.𝑠 −− → 𝐴.𝑒) with 𝑝 𝑐5 = ⟨𝑐4, 𝑐3, 𝑅𝐸𝐿𝐴𝑋 ⟩. Finally, applying the RELAX rule for 𝑐5 and 𝑐0 derives the negative self loop 𝑐6(𝐷.𝑠 −− → 𝐷.𝑠) indicating that the process model is not DC.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Figure 4 :</head><label>4</label><figDesc>Figure 4: Overview of the designer tool</figDesc><graphic coords="11,129.72,84.19,333.33,187.50" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>node of the process is mapped into the STNU 𝑍 time point; the 𝑒𝑛𝑑 node of the process is mapped into an 𝑒𝑛𝑑 time point; 2. ∀ 𝑛.𝑠, 𝑛.𝑒, corresponding time points 𝑛.𝑠, 𝑛.𝑒 are in 𝒯; 3. ∀ (𝑚, 𝑛) ∈ 𝐸, with 𝑚.𝑒, 𝑛.𝑠 ∈ 𝑁 𝑒 , a corresponding non-contingent edge (𝑛.𝑠, 𝑚.𝑒, 0) is in 𝒞; 4. ∀ 𝑑(𝑛, 𝑙, 𝑢, 𝑡𝑦𝑝𝑒) ∈ 𝐶 with 𝑑.𝑡𝑦𝑝𝑒 = 𝑐𝑜𝑛𝑡𝑖𝑛𝑔𝑒𝑛𝑡 a corresponding contingent link (𝑛.𝑠, 𝑙, 𝑢, 𝑛.𝑒)</figDesc><table /><note>is in ℒ; 5. ∀ 𝑑(𝑛, 𝑙, 𝑢, 𝑡𝑦𝑝𝑒) ∈ 𝐶 with 𝑑.𝑡𝑦𝑝𝑒 = 𝑛𝑜𝑛 − 𝑐𝑜𝑛𝑡𝑖𝑛𝑔𝑒𝑛𝑡 ∨ 𝑠𝑒𝑚𝑖 − 𝑐𝑜𝑛𝑡𝑖𝑛𝑔𝑒𝑛𝑡 a corresponding non-contingent link for the minimum duration 𝑙𝑏𝑐(𝑛.𝑒, 𝑛.𝑠, −𝛿) and a non-contingent link for the maximum duration 𝑢𝑏𝑐(𝑛.𝑠, 𝑛.𝑒, 𝛿) is in 𝒞</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Algorithm 1</head><label>1</label><figDesc>Compute most restrictive non-contingent constraintRequire: Global variables for STNU 𝒮 (𝒯 , ℒ , 𝒞 ) with 𝐴, 𝐵, ∈𝒯 and Ω being the process maximum duration.Computes the smallest possible value for 𝛿, such that 𝒮 ∪ (𝐴, 𝐵, 𝛿)∈𝒞 is dynamically controllable.</figDesc><table><row><cell>return 𝛿 ←b-search(−Ω, Ω)</cell></row><row><cell>function b-search(𝑙𝑒𝑓 𝑡, 𝑟𝑖𝑔ℎ𝑡)</cell></row><row><cell>𝑚𝑖𝑑 ← (𝑙𝑒𝑓 𝑡 + 𝑟𝑖𝑔ℎ𝑡)/2</cell></row><row><cell>𝒮 ← 𝒮 ∪ (𝐴, 𝐵, 𝑚𝑖𝑑)</cell></row><row><cell>if dc(𝒮) then</cell></row><row><cell>𝑚𝑖𝑑 ′ ← 𝑚𝑖𝑑 − 1</cell></row><row><cell>𝒮 ← 𝒮 ∪ (𝐴, 𝐵, 𝑚𝑖𝑑 ′ )</cell></row><row><cell>if dc(𝒮) then</cell></row><row><cell>return b-search(𝑙𝑒𝑓 𝑡, 𝑚𝑖𝑑)</cell></row><row><cell>else</cell></row><row><cell>return 𝑚𝑖𝑑</cell></row><row><cell>end if</cell></row><row><cell>else</cell></row><row><cell>return b-search(𝑚𝑖𝑑, 𝑟𝑖𝑔ℎ𝑡)</cell></row><row><cell>end if</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 1</head><label>1</label><figDesc>Total Nodes Constraints Min time (ms) Max time (ms) Average time (ms) Overview of computation times for executing the DC-checking procedure.</figDesc><table><row><cell>10</cell><cell>2</cell><cell>4</cell><cell>27</cell><cell>9</cell></row><row><cell>20</cell><cell>4</cell><cell>17</cell><cell>51</cell><cell>29</cell></row><row><cell>30</cell><cell>6</cell><cell>55</cell><cell>152</cell><cell>92</cell></row><row><cell>40</cell><cell>8</cell><cell>171</cell><cell>346</cell><cell>250</cell></row><row><cell>50</cell><cell>10</cell><cell>279</cell><cell>743</cell><cell>522</cell></row><row><cell cols="5">Total Nodes Constraints Min time (ms) Max time (ms) Average time (ms)</cell></row><row><cell>10</cell><cell>2</cell><cell>1</cell><cell>18</cell><cell>6</cell></row><row><cell>20</cell><cell>4</cell><cell>16</cell><cell>56</cell><cell>35</cell></row><row><cell>30</cell><cell>6</cell><cell>30</cell><cell>131</cell><cell>80</cell></row><row><cell>40</cell><cell>8</cell><cell>84</cell><cell>346</cell><cell>236</cell></row><row><cell>50</cell><cell>10</cell><cell>176</cell><cell>858</cell><cell>503</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>Table 2</head><label>2</label><figDesc></figDesc><table /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_0">The GitLab repository for the designer tool is available under https://git-isys.aau.at/ics/Papers/ temporal-process-designer</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusion</head><p>Adequate engineering of temporal requirements is essential for successful execution of timeconstrained business processes. However, practitioners could not benefit from advancements in the research so far, as existing algorithms were focusing on checking given process models rather than supporting the development of correct process models. The ambition of this work was to leverage on recent theoretical results to develop a system supporting the needs and tasks of process designers to reach models free from conflicting constraints.</p><p>We developed a tool to support both designing time-constrained process models, as well as negotiating temporal requirements by assuring that the temporal constraints are not conflicting. Our approach assumes that it is within the capacity of a process controller to steer the execution of a process in a way that no temporal constraint is violated. The tool offers a number of features for verifying temporal properties (e.g., dynamic controllability, provenance of inconsistencies), and for giving guidance (e.g., which are the admissible temporal constraints) in the design of a time-constrained process.</p><p>We regard our work as a significant contribution to bridging the gap between theoretical research achievements and practical applications. For the future, we plan to extend our tool to offer more expressive temporal constraint networks, to cater for different process model notations, in particular, BPMN and EPC, and advanced temporal control structures.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Temporal reasoning in workflow systems</title>
		<author>
			<persName><forename type="first">C</forename><surname>Bettini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><forename type="middle">S</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Jajodia</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Distributed and Parallel Databases</title>
		<imprint>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="page" from="269" to="306" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Conceptual modeling of flexible temporal workflows</title>
		<author>
			<persName><forename type="first">C</forename><surname>Combi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gozzi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Posenato</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pozzi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Autonomous and Adaptive Systems</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="1" to="29" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Time and business process management: Problems, achievements, challenges (invited talk)</title>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Franceschetti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">27th Int. Symposium on Temporal Representation and Reasoning (TIME 2020)</title>
				<imprint>
			<publisher>Schloss Dagstuhl-Leibniz-Zentrum für Informatik</publisher>
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Workflow time management revisited</title>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Panagos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Rabinovich</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Seminal contributions to information systems engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="207" to="213" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Time patterns for process-aware information systems</title>
		<author>
			<persName><forename type="first">A</forename><surname>Lanz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Weber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Reichert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Requirements Engineering</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="page" from="113" to="141" />
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">An algorithm for checking the dynamic controllability of a conditional simple temporal network with uncertainty -revisited</title>
		<author>
			<persName><forename type="first">C</forename><surname>Combi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Hunsberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Posenato</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Agents and Artificial Intelligence</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Towards temporal controllabilities for workflow schemata</title>
		<author>
			<persName><forename type="first">C</forename><surname>Combi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Posenato</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">2010 17th International Symposium on Temporal Representation and Reasoning</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="129" to="136" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Conditional schedules for processes with temporal constraints</title>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Franceschetti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lubas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SN Computer Science</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="1" to="18" />
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<author>
			<persName><forename type="first">L</forename><surname>Hunsberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Posenato</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Combi</surname></persName>
		</author>
		<idno type="arXiv">arXiv:1212.2005</idno>
		<title level="m">The dynamic controllability of conditional stns with uncertainty</title>
				<imprint>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
	<note type="report_type">arXiv preprint</note>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Dynamic controllability of simple temporal networks with uncertainty: Simple rules and fast real-time execution</title>
		<author>
			<persName><forename type="first">M</forename><surname>Cairo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Rizzi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theor. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">797</biblScope>
			<biblScope unit="page" from="2" to="16" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Time and processes: towards engineering temporal requirements</title>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Franceschetti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lubas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 16th International Conference on Software Technologies (ICSOFT 2021)</title>
				<meeting>the 16th International Conference on Software Technologies (ICSOFT 2021)</meeting>
		<imprint>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="9" to="16" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Temporal constraint networks</title>
		<author>
			<persName><forename type="first">R</forename><surname>Dechter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Meiri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pearl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial intelligence</title>
		<imprint>
			<biblScope unit="volume">49</biblScope>
			<biblScope unit="page" from="61" to="95" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Computing ranges for temporal parameters of composed web services</title>
		<author>
			<persName><forename type="first">M</forename><surname>Franceschetti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 21st Int. Conf. on Information Integration and Web-based Applications &amp; Services</title>
				<meeting>the 21st Int. Conf. on Information Integration and Web-based Applications &amp; Services</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="537" to="545" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">Temporal dynamic controllability revisited</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">H</forename><surname>Morris</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Muscettola</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005">2005</date>
			<publisher>Aaai</publisher>
			<biblScope unit="page" from="1193" to="1198" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Dynamic Controllability Made Simple</title>
		<author>
			<persName><forename type="first">M</forename><surname>Cairo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Rizzi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">24th International Symposium on Temporal Representation and Reasoning (TIME 2017)</title>
				<meeting><address><addrLine>Germany</addrLine></address></meeting>
		<imprint>
			<publisher>Dagstuhl</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="volume">90</biblScope>
			<biblScope unit="page">16</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Sound-and-complete algorithms for checking the dynamic controllability of conditional simple temporal networks with uncertainty</title>
		<author>
			<persName><forename type="first">L</forename><surname>Hunsberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Posenato</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">TIME</title>
		<imprint>
			<biblScope unit="volume">120</biblScope>
			<biblScope unit="issue">14</biblScope>
			<biblScope unit="page">17</biblScope>
			<date type="published" when="2018">2018. 2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Negotiating temporal commitments in cross-organizational business processes</title>
		<author>
			<persName><forename type="first">M</forename><surname>Franceschetti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">27th Int. Symposium on Temporal Representation and Reasoning</title>
				<imprint>
			<publisher>Schloss Dagstuhl-Leibniz-Zentrum für Informatik</publisher>
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Flaws in the flow: The weakness of unstructured business process modeling languages dealing with data</title>
		<author>
			<persName><forename type="first">C</forename><surname>Combi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gambini</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">OTM Confederated International Conferences&quot; On the Move to Meaningful Internet Systems</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="42" to="59" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Semi-contingent task durations: Characterization and controllability</title>
		<author>
			<persName><forename type="first">M</forename><surname>Franceschetti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Advanced Information Systems Engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="246" to="261" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Controllability of business processes with temporal variables</title>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Franceschetti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Köpke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing</title>
				<meeting>the 34th ACM/SIGAPP Symposium on Applied Computing</meeting>
		<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="40" to="47" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Time constraints in workflow systems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Eder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Panagos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Rabinovich</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Advanced information systems engineering</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="286" to="300" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Toward a time-centric modeling of business processes in bpmn 2.0</title>
		<author>
			<persName><forename type="first">S</forename><surname>Cheikhrouhou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kallel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Guermouche</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Jmaiel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of Int. Conf. on Information Integration and Web-based Applications &amp; Services</title>
				<meeting>Int. Conf. on Information Integration and Web-based Applications &amp; Services</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page">154</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Propagating piecewise-linear weights in temporal networks</title>
		<author>
			<persName><forename type="first">L</forename><surname>Hunsberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Posenato</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Int. Conf. on Automated Planning and Scheduling</title>
				<meeting>the Int. Conf. on Automated Planning and Scheduling</meeting>
		<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="page" from="223" to="231" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Conditional simple temporal networks with uncertainty and decisions</title>
		<author>
			<persName><forename type="first">M</forename><surname>Zavatteri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Viganò</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theoretical Computer Science</title>
		<imprint>
			<biblScope unit="volume">797</biblScope>
			<biblScope unit="page" from="77" to="101" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Dynamic controllability via timed game automata</title>
		<author>
			<persName><forename type="first">A</forename><surname>Cimatti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Hunsberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Micheli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Posenato</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Roveri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Acta Informatica</title>
		<imprint>
			<biblScope unit="volume">53</biblScope>
			<biblScope unit="page" from="681" to="722" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Timeawarebpmn-js: An editor and temporal verification tool for time-aware bpmn processes</title>
		<author>
			<persName><forename type="first">M</forename><surname>Ocampo-Pineda</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Posenato</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Zerbato</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SoftwareX</title>
		<imprint>
			<biblScope unit="volume">17</biblScope>
			<biblScope unit="page">100939</biblScope>
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
