Abstract
In this work, we show how time constraints can be specified with WED-flow – an alternative process modeling approach characterized as being transactional, event-based, and data-driven – and address the challenge of mapping processes modeled with WED-flow into colored Petri net structures. First, we show how time constraints can be specified with WED-flow. Although the correctness of so-called time-critical processes depends on the time their activities are performed, WED-flow has not been used for specifying time constraints up to now. As a concrete example, we specify a time constraint of SISAUT: a real-time system built using WED-flow techniques and tools that coordinates interacting parallel processes to collect and process materials from autopsies for research projects while questionnaires and consent forms are being filled out. We then address the challenge of mapping processes modeled with WED-flow into colored Petri net structures. We also show how to describe the temporal behavior of time-critical processes with time Petri nets. Therefore, we become able to reason about the functional (e.g., decide whether a certain state is definitely reached) and temporal (e.g., decide whether a deadline can be met) behaviors of instances of those processes through existing tools and methods of analysis. In SISAUT, for instance, timeliness is critical to success: the processing of collected materials must not take longer than 24 h from the declared time of death of the deceased. Up to now, the timeliness verification of SISAUT cases has been done manually, in an ad hoc manner. Thus, we present a method to automatically calculate the minimum time it takes to process the collected materials of a given SISAUT case through the analysis of an equivalent time colored Petri net.
1 Introduction
In this work, we first show how time constraints can be specified with WED-flow (Work, Event, Data-flow) [5], an alternative process modeling approach characterized as being transactional (i.e., the execution of activities is encapsulated in classic database transactions), event-based (i.e., the state of a process instance evolves as a result of the occurrence of asynchronous discrete events over time), and data-driven (i.e., the control-flow of a process instance is driven by data states). Although the correctness of so-called time-critical processes depends on the time their activities are performed, WED-flow has not been used for specifying time constraints up to now. As a concrete example, we specify a time constraint of SISAUT: a real-time system built using WED-flow techniques and tools [12] as a set of services to be invoked by a transactional framework, first presented by Ferreira et al. in [4], that manages autopsies performed by the University of São Paulo as a public service. Even though autopsies are primarily intended to determine the cause of a death, the deceased may have chosen to donate his body for scientific research. Hence, SISAUT coordinates interacting parallel processes to collect and process materials for research projects while questionnaires and consent forms are being filled out.
We then address the challenge of mapping processes modeled with WED-flow into colored Petri net (CPN) structures [6]. We also show how to describe the temporal behavior of time-critical processes with time Petri nets (TPNs) [13]. Despite having a small number of primitives and only a few simple rules, CPNs extended with a time dimension have been successfully used for reasoning about the functional (e.g., decide whether a certain state is definitely reached) and temporal (e.g., decide whether a deadline can be met) behaviors of event-based, real-time systems (e.g., supply chains [8]) due to their enough expressive power for modeling major control-flow patterns and to the existing tools and methods for their analysis. In particular, we show that processes modeled with \(\alpha \)-WED-flow, a synctatic subset of WED-flow with the same expressive power of the full model, can be readily mapped to and from a subset of CPN structures referred to here as \(\alpha \)-CPN structures.
Next, we present a method to automatically calculate the expected minimum time it takes for a given instance of a process modeled with \(\alpha \)-WED-flow to reach a certain state through the analysis of an equivalent \(\alpha \)-time colored Petri net (\(\alpha \)-TCPN). In SISAUT, for instance, timeliness is critical to success: the processing of collected materials must not take longer than 24 h from the declared time of death of the deceased. Up to now, the timeliness verification of SISAUT cases has been done manually, in an ad hoc manner. Furthermore, if instances of a time-critical process compete for shared resources (e.g., medical professionals available for processing materials in SISAUT), early detecting that some of them are likely to miss their deadlines could increase the efficiency of the resource allocation policy in use (e.g., by assigning priorities to SISAUT cases based on their likelihood of meeting time constraints).
In Sect. 2, we briefly show how the interacting parallel processes of SISAUT were modeled with WED-flow in [4] and add a time constraint to the SISAUT WED-flow process model. Then, in Sect. 3 we present the fundamentals of Petri nets, show how to map \(\alpha \)-WED-flow process models to and from \(\alpha \)-CPN structures, describe the temporal behavior of SISAUT with TPNs, and present a method to automatically assess the timeliness of instances of processes modeled with \(\alpha \)-WED-flow through the analysis of equivalent \(\alpha \)-TCPNs. In Sect. 4, we present related work. Finally, we summarize our conclusions in Sect. 5.
2 Modeling Time-Critical Processes with WED-Flow
2.1 Modeling the Interacting Parallel Processes of SISAUT with WED-Flow
The infographic in Fig. 1 depicts the two interacting parallel processes coordinated by SISAUT:
-
1.
collection and processing of materials by pathologists and technicians;
-
2.
filling of questionnaires and consent forms by interviewers and family members of the deceased.
Both processes are initialized when a deceased is declared of scientific interest. First, personal and demographic data are gathered at the interview room while body measurements are being registered at the autopsy room. Then, suitable research projects are chosen by the staff according to the data gathered so far. Next, appropriate consent forms have to be filled out by the family members so consented research projects can be selected by the staff. At this point, the set of materials to be collected and the processing techniques to be performed have already been defined. Thus, the collection of materials can be started at the autopsy room. Meanwhile, family members have to fill out specific questionnaires related to those selected research projects. The application of questionnaires related to research projects whose needed materials were not successfully collected is aborted on-the-fly. The conditions of collected materials still have to be evaluated before they can be processed at the laboratory. Finally, all the paperwork is scanned.
Here we model a simplified excerpt of SISAUT. It is worth noting that, although alternative execution paths exist (e.g., the family might not consent with the terms), we only model the path in which materials are successfully processed because this is the path that creates value for the application. Therefore, this is the path whose timeliness we are interested in assessing.
An instance of a process modeled with WED-flow can be seen as a state transition system: starting from an initial data state, state transition functions are continuously applied until a final data state is reached. Such a WED-flow process instance has a data state (WED-state) mapping attributes of interest (WED-attributes) to values. The so-called WED-triggers are rules bonding logical predicates (WED-conditions) together with WED-state transition functions (WED-transitions). A WED-flow process model comprises a set of WED-triggers and two special logical predicates: an initial WED-condition that validates the first WED-state created for instances of that process and a final WED-condition responsible for terminating the execution of instances of that process. Each WED-trigger is evaluated with respect to newly created WED-states: if its WED-condition is satisfied, the associate WED-transition is triggered. The execution of a WED-transition then creates a new WED-state, and so on. We refer the reader to [5] for a complete set of definitions of WED-flow.
As shown in Table 1, WED-transitions \(\{u_1,\ldots , u_9\}\) encapsulate the execution of activities to be performed. Each WED-transition \(u_k\), \(1 \leqslant k \leqslant 9\), updates the value of a single boolean WED-attribute \(a_k\) initialized as null. If the activity encapsulated by \(u_k\) is successfully performed, the value of \(a_k\) is updated to true. Otherwise, it is updated to false. A single WED-condition \(c_k\) is associated with \(u_k\). Hence, \((c_k, u_k)\) is a WED-trigger. Such a WED-condition \(c_k\) captures the dependencies for the execution of \(u_k\). A WED-attribute \(a_0\), whose value is not updated by any WED-transition, represents whether or not a SISAUT case was initialized with success. The initial WED-condition \(c_i\) tests if the value of \(a_0\) is true. The final WED-condition \(c_f\), in turn, tests the value of WED-attribute \(a_9\), the one updated by the WED-transition encapsulating the activity of scanning paperwork, for true.
2.2 Adding a Time Constraint to the SISAUT WED-Flow Process Model
As any other dependency specified with WED-flow, a time constraint is defined as a logical predicate that evaluates the data states of the application. In SISAUT, materials can only be used in research projects if their processing is completed within 24 h from the declared time of death of the deceased. Let \({materials\_processed\_at}\) be a WED-attribute storing the time that collected materials were processed and \({time\_of\_death}\) be a WED-attribute storing the time that the deceased was declared dead. The value of \({materials\_processed\_at}\) is updated by WED-transition \(u_8\), the one that encapsulates the activity of processing collected materials, and the value of \({time\_of\_death}\) is set at the initialization of SISAUT cases. For the successful termination of a SISAUT case, the logical predicate \({materials\_processed\_at} - {time\_of\_death} \leqslant 24\,\text {h}\) must be satisfied. Thus, this logical predicate must be added to the final WED-condition \(c_f\) of the SISAUT WED-flow process model.
For example, consider a SISAUT case for which the paperwork was successfully scanned but the processing of collected materials was not completed within 24 h from the declared time of death of the deceased. In this case, the WED-state created by WED-transition \(u_9\) does not trigger the execution of any WED-transition and does not satisfy the final WED-condition as well. Also, no other WED-transition is running for this case. Such a WED-state from which an application cannot make any progress is said to be inconsistent.
3 Checking Properties of Time-Critical Processes Modeled with WED-Flow
3.1 Fundamentals of Classic Petri Nets
A Petri net is a directed, weighted, and bipartite graph extended with a state [11]. A vertex of this graph can be of one of two types: a place or a transition. Arcs are either from a place to a transition or from a transition to a place. If an arc connects a place p to a transition t, p is said to be an input place of t and t an output transition of p. On the other hand, if an arc connects a transition t to a place p, p is said to be an output place of t and t an input transition of p. The state of a Petri net is called a marking and assigns a certain number of tokens to each place. Places are graphically represented as circles and transitions as rectangles. Arcs are labeled with their weights (except for arcs of weight 1, which are usually not labeled). If a marking assigns k tokens to a place, k black dots are drawn inside the circle representing that place.
Definition 1
(Petri net structure). A Petri net structure is a 4-tuple (P, T, F, w), where \(P = \{p_1,\ldots , p_n\}\) is a set of places, \(T = \{t_1,\ldots , t_m\}\) is a set of transitions, \(F \subseteq (P \times T) \cup (T \times P)\) is a set of arcs, and \(w: F \rightarrow \{1, 2, 3,\ldots \}\) is a weight function of the arcs.
The dynamic behavior of a Petri net is governed by rules for enabling and firing transitions. A transition is said to be enabled in a marking if and only if in each of its input places there are a number of tokens greater than or equal to the weight of their connecting arc. An enabled transition can fire, consuming and producing tokens according to the following rule: from each input place are removed a number of tokens equal to the weight of the connecting arc, and to each output place are added a number of tokens equal to the weight of the connecting arc (Fig. 2).
3.2 Mapping \(\alpha \)-WED-Flow Process Models into Colored Petri Net Structures
We now address the challenge of mapping processes modeled with WED-flow into colored Petri net (CPN) structures [6]. In particular, we show that processes modeled with \(\alpha \)-WED-flow, a synctatic subset of WED-flow with the same expressive power of the full model, can be readily mapped to CPN structures. CPNs extend classic Petri nets by attaching values to tokens. As a result, the enabling of a transition in a CPN may depend on the values attached to the tokens to be consumed.
Definition 2
(\(\alpha \)-WED-flow process model). Let \({WF} = (G, c_i, c_f)\) be a WED-flow process model, where G is a set of WED-triggers, \(c_i\) is an initial WED-condition, and \(c_f\) is a final WED-condition. Also, \(A = (a_0,\ldots , a_n)\) is a tuple of WED-attributes, \(C = \{c_1,\ldots , c_n\} \cup \{c_i, c_f\}\) is a set of WED-conditions, and \(U = \{u_1,\ldots , u_n\}\) is a set of WED-transitions.
WF is said to be an \(\alpha \)-WED-flow process model if and only if \(c_i: a_0 = {true}\), \(c_f: a_n = {true}\), and the following restrictions apply for all \(1 \leqslant k \leqslant n\):
-
1.
WED-transition \(u_k\) updates the value of a single WED-attribute \(a_k\) initialized as null.
-
2.
\(c_k\) is the only WED-condition associated with WED-transition \(u_k\). Hence, \((c_k, u_k) \in G\). Such a WED-condition \(c_k\) is a conjunction of one or more clauses testing the values of WED-attributes \(a_j\), \(0 \leqslant j \leqslant n\). Also, \(c_k\) necessarily tests the value of \(a_k\) for null.
A process modeled with \(\alpha \)-WED-flow can be mapped to an equivalent CPN structure through the following steps. For all \(1 \leqslant k \leqslant n\):
-
1.
WED-transition \(u_k\) is mapped to a transition \(t_k\).
-
2.
WED-condition \(c_k\) is mapped to a place \(p_k\).
-
3.
Place \(p_k\) is connected to transition \(t_k\) with an arc annotated with the logical predicate of WED-condition \(c_k\). Thus, \(t_k\) is enabled if and only if the values attached to the tokens to be consumed from \(p_k\) satisfy that logical predicate.
-
4.
For all \(1 \leqslant j \leqslant n\), \(j \ne k\), a transition \(t_j\) is connected to place \(p_k\) if and only if the WED-condition \(c_k\) tests the value of WED-attribute \(a_j\). Also, a valuation of \(a_j\) is attached to the tokens produced by the firing of \(t_j\). For example, if \(a_j\) is a boolean WED-attribute, either \(a_j = {true}\) or \(a_j = {false}\) is attached to the tokens produced by the firing of \(t_j\).
In the following theorem, we show that there exists a correspondence from the elements of an \(\alpha \)-WED-flow process model being mapped to the elements of the resulting CPN structure.
Theorem 1
(There exists a correspondence from the WED-transitions and their associate WED-conditions of an \(\alpha \)-WED-flow process model being mapped to the transitions and their input places of the resulting CPN structure, respectively). It directly follows from steps 1 and 2 of the mapping procedure.
In the following two theorems, we show that a resulting CPN structure correctly simulates the behavior of the \(\alpha \)-WED-flow process model being mapped. But first we remark that, by construction, it intuitively follows that the values attached to the tokens of a resulting CPN (i.e., valuations of WED-attributes) are a projection of the WED-state of an instance of the \(\alpha \)-WED-flow process model being mapped.
Theorem 2
(The enabling of a transition \(t_k\), \(1 \leqslant k \leqslant n\), of a resulting CPN structure is equivalent to the triggering of WED-transition \(u_k\) of the\(\alpha \)-WED-flow process model being mapped). It follows from step 3 of the mapping procedure that \(t_k\) is enabled if and only if the values attached to the tokens to be consumed from \(p_k\) satisfy the logical predicate annotated on their connecting arc. The enabling of \(t_k\) is equivalent to the triggering of \(u_k\) because this logical predicate is the same as the one of WED-condition \(c_k\).
Theorem 3
(The firing of a transition \(t_k\), \(1 \leqslant k \leqslant n\), of a resulting CPN structure is equivalent to the termination of WED-transition \(u_k\) of the \(\alpha \)-WED-flow process model being mapped). It follows from step 4 of the mapping procedure that the firing of \(t_k\) puts tokens, to which a valuation of WED-attribute \(a_k\) is attached, in places corresponding to WED-conditions whose logical predicates test the value of \(a_k\). Equivalently, the termination of \(u_k\) updates the value of \(a_k\), creating a new WED-state to be evaluated by those same WED-conditions.
As an example, the CPN structure equivalent to the SISAUT WED-flow process model presented in Sect. 2, which can be easily checked to be an \(\alpha \)-WED-flow process model (for now, we ignore the time WED-attributes because the temporal behavior of SISAUT cases will be later modeled and analyzed through time-dependent Petri nets), is depicted in Fig. 3.
3.3 Mapping \(\alpha \)-Colored Petri Net Structures into WED-Flow Process Models
The CPN structures mapped from \(\alpha \)-WED-flow process models constitute a subset referred to here as \(\alpha \)-CPN structures.
Definition 3
(\(\alpha \)-CPN structure). An \(\alpha \)-CPN structure is a 4-tuple (A, P, T, F), where \(A = \{a_0,\ldots , a_n\}\) is a set of WED-attributes, \(P = \{p_1,\ldots , p_n\}\) is a set of places, \(T = \{t_1,\ldots , t_n\}\) is a set of transitions, and \(F \subseteq (P \times T) \cup (T \times P)\) is a set of arcs. For all \(1 \leqslant k \leqslant n\), the following restrictions apply:
-
1.
Place \(p_k\) is the single input place of transition \(t_k\) and their connecting arc is annotated with a conjunction of one or more clauses testing the values of WED-attributes \(a_j\), \(0 \leqslant j \leqslant n\). Thus, \(t_k\) is enabled if and only if the values attached to the tokens to be consumed from \(p_k\) satisfy this logical predicate. Also, this logical predicate necessarily tests the value of \(a_k\) for null.
-
2.
For all \(1 \leqslant j \leqslant n\), \(j \ne k\), a transition \(t_j\) is connected to place \(p_k\) if the logical predicate annotated on the arc connecting \(p_k\) to transition \(t_k\) tests the value of WED-attribute \(a_j\). Also, a valuation of \(a_j\) is attached to the tokens produced by the firing of \(t_j\). For example, if \(a_j\) is a boolean WED-attribute, either \(a_j = {true}\) or \(a_j = {false}\) is attached to the tokens produced by the firing of \(t_j\).
A process modeled with \(\alpha \)-CPNs can be mapped to an equivalent \(\alpha \)-WED-flow process model through the following steps. For all \(1 \leqslant k \leqslant n\):
-
1.
Transition \(t_k\) is mapped to a WED-transition \(u_k\) that updates the value of a single WED-attribute \(a_k\) initialized as null.
-
2.
Place \(p_k\) is mapped to a WED-condition \(c_k\) whose logical predicate is the same as the one annotated on the arc connecting \(p_k\) to transition \(t_k\).
-
3.
WED-condition \(c_k\) is associated with WED-transition \(u_k\). Hence, \((c_k, u_k)\) is a WED-trigger.
In the following theorem, we show that there exists a correspondence from the elements of an \(\alpha \)-CPN structure being mapped to the elements of the resulting \(\alpha \)-WED-flow process model.
Theorem 4
(There exists a correspondence from the transitions and their input places of an \(\alpha \)-CPN structure being mapped to the WED-transitions and their associate WED-conditions of the resulting \(\alpha \)-WED-flow process model, respectively). It directly follows from steps 1 and 2 of the mapping procedure.
In the following two theorems, we show that a resulting \(\alpha \)-WED-flow process model correctly simulates the behavior of the \(\alpha \)-CPN structure being mapped. But first we remark that, by construction, it intuitively follows that the WED-state of an instance of a resulting \(\alpha \)-WED-flow process model (i.e., valuations of WED-attributes) is a projection of the values attached to the tokens of the \(\alpha \)-CPN structure being mapped.
Theorem 5
(The triggering of a WED-transition \(u_k\), \(1 \leqslant k \leqslant n\), of a resulting \(\alpha \)-WED-flow process model is equivalent to the enabling of transition \(t_k\) of the \(\alpha \) -CPN structure being mapped). It follows from step 3 of the mapping procedure that \(u_k\) is triggered if and only if a newly created WED-state satisfies the logical predicate of WED-condition \(c_k\). The triggering of \(u_k\) is equivalent to the enabling of \(t_k\) because this logical predicate is the same as the one annotated on the arc connecting place \(p_k\) to \(t_k\).
Theorem 6
(The termination of a WED-transition \(u_k\), \(1 \leqslant k \leqslant n\), of a resulting \(\alpha \)-WED-flow process model is equivalent to the firing of transition \(t_k\) of the \(\alpha \)-CPN structure being mapped). It follows from step 1 of the mapping procedure that the termination of \(u_k\) updates the value of WED-attribute \(a_k\), creating a new WED-state to be evaluated by WED-conditions whose logical predicates test the value of \(a_k\). Equivalently, the firing of \(t_k\) puts tokens, to which a valuation of \(a_k\) is attached, in places corresponding to those same WED-conditions.
3.4 Describing the Temporal Behavior of Time-Critical Processes with Time Petri Nets
In a time Petri net (TPN) [13], a time interval is assigned to each transition. Once enabled, a transition can fire within its assigned time interval. Suppose that a time interval [eft(t), lft(t)] is assigned to a transition t. eft(t) and lft(t) are called, respectively, the earliest and latest firing times of t. Unless t is disabled by the firing of another transition, t must not fire before eft(t) units of time have elapsed since it was enabled. Also, t must fire no later than lft(t) units of time after it was enabled. Such a time interval is graphically depicted at the top of its corresponding transition.
Definition 4
(TPN structure). A TPN structure is a 5-tuple (P, T, F, w, I) such that the 4-tuple (P, T, F, w) is a classic Petri net structure and \(I: T \rightarrow \mathbb {Q_+} \times (\mathbb {Q_+} \cup \{\infty \})\) is an interval function. For each \(t \in T\), \(I(t) = ({eft}(t), {lft}(t))\), where eft(t) and lft(t) are the earliest and latest firing times of t, respectively.
The state of a TPN structure (P, T, F, w, I) is a 2-tuple (M, h), where \(M: P \rightarrow \{0, 1, 2,\ldots \}\) is called a place-marking and gives the number of tokens in each place and \(h: T \rightarrow \mathbb {R_+} \cup \{\#\}\) is called a transition-marking and gives the time elapsed since each transition was last enabled. If a transition \(t \in T\) is enabled in M, h(t) gives the time elapsed since t was last enabled. Otherwise, \(h(t) = \#\). A transition \(t \in T\) is said to be time-enabled in (M, h) if and only if it is enabled in M and \({eft}(t) \leqslant h(t) \leqslant {lft}(t)\). A time-enabled transition can fire, changing both the place-marking M and the transition-marking h. The state of a TPN can also change by the lapse of time: for all \(t \in T\) enabled in M, the elapsed time \(\delta \in \mathbb {R_+}\) is added to h(t) (Fig. 4).
A time colored Petri net (TCPN) is a high-level Petri net in which values are attached to tokens and time intervals are assigned to transitions. An \(\alpha \)-time colored Petri net (\(\alpha \)-TCPN), in particular, is an \(\alpha \)-CPN in which time intervals are assigned to transitions. The rules for enabling and firing transitions of \(\alpha \)-TCPNs follow the rules of \(\alpha \)-CPNs (i.e., satisfaction of logical predicates) and TPNs (i.e., time-enabling).
Definition 5
(\(\alpha \)-TCPN structure). An \(\alpha \)-TCPN structure is a 5-tuple (A, P, T, F, I) such that (A, P, T, F) is an \(\alpha \)-CPN structure and I is an interval function.
In the \(\alpha \)-TCPN structure depicted in Fig. 5, we roughly estimate the minimum and maximum time, in minutes, it takes to perform the activities of that excerpt of SISAUT modeled with WED-flow in Sect. 2. Also, there clearly exists a correspondence between the earliest and latest firing times of a transition and the minimum and maximum time it takes to perform the corresponding activity, respectively.
3.5 Assessing the Timeliness of WED-Flow Process Instances
In Algorithm 1, we present a greedy approach in which transitions of an \(\alpha \)-TCPN fire as soon as they become time-enabled to automatically calculate the minimum time it takes to fire a certain transition from its current state. We remark that the execution of this algorithm necessarily terminates because, from Definition 3, it intuitively follows that a transition can fire at most once in an \(\alpha \)-CPN. Also, the time dimension added to an \(\alpha \)-TCPN does not change this restriction.
As a concrete example, in the following we simulate the greedy approach of Algorithm 1 (i.e., firing a transition as soon as it becomes time-enabled) to calculate the minimum time it takes for a SISAUT case to successfully process collected materials (i.e., to reach a WED-state in which the value of WED-attribute \(a_8\) is true). Equivalently, we need to calculate the minimum time it takes to fire transition \(t_8\) in an \(\alpha \)-TCPN structure correspondent to the SISAUT WED-flow process model. Even though this algorithm exhaustively analyzes all reachable WED-states, and therefore even the analysis of relatively small processes could become computationally infeasible, here we can efficiently assess this timeliness because we restrict our analysis to a single path, the one that creates more value for the application. Thus, we assume that all activities are successfully performed (i.e., the only valuation to be attached to the tokens produced by the firing of a transition \(t_k\), \(1 \leqslant k \leqslant 9\), is \(a_k = {true}\)) because, as previously mentioned, we are only interested in assessing the timeliness of the path in which collected materials are successfully processed.
The following activities have already been performed for the case being considered: gathering of data and choosing of research projects (took 45 min), consenting with terms (took 30 min), and selection of consented research projects (took 60 min). Hence, in the current WED-state the value of WED-attributes \(a_0,\ldots , a_3\) is true and the value of WED-attributes \(a_4,\ldots , a_9\) is null. Furthermore, the activity of selecting consented research projects was just performed. First, WED-transition \(u_5\) was triggered by the initial WED-state so its corresponding transition \(t_5\) has been enabled for 135 min. Thus, \(t_5\) is already time-enabled and no time need to be elapsed for its firing. We remark that the place-markings resulting from the firings of transitions are depicted in Fig. 6. After firing \(t_5\), two transitions become enabled: \(t_4\) and \(t_6\), which can fire after 30 and 60 min, respectively. Then, 30 min are elapsed and \(t_4\) is fired. At this point, \(t_6\) has been enabled for 30 min so it becomes time-enabled after the lapse of 30 more minutes. The firing of transition \(t_6\) leads to a place-marking in which only \(t_7\) is enabled. After the lapse of 30 min, \(t_7\) becomes time-enabled. The firing of \(t_7\) enables \(t_8\). From this state, 60 min have to be elapsed so \(t_8\) becomes time-enabled. Therefore, the minimum time it takes for this SISAUT case to reach a WED-state in which the value of WED-attribute \(a_8\) is true is 150 min (30 min to fire \(t_4\), 30 min to fire \(t_6\), 30 min to fire \(t_7\), and 60 min to fire \(t_8\)).
4 Related Work
Most real-world processes have some sort of time constraint. Time patterns of so-called process-aware information systems (e.g., workflow systems) were identified in [7] and modeling primitives for expressing time constraints of workflow systems were proposed in [3]. Also, the challenge of modeling and handling time constraints of business processes has been widely addressed, especially for traditional process modeling approaches such as BPMN [2].
The correctness of workflow models was analyzed through Petri nets at build-time in [1]. On the other hand, the runtime verification of workflow systems aims to check whether running process instances comply with pre-specified constraints. In [9], a comprehensive set of techniques based on linear temporal logic and colored automata was used to check such constraints during execution.
More specifically, formal and semi-formal verification methods have been extensively used for checking the correctness of the temporal behavior of information systems. Many different approaches have been used for the verification of temporal properties of web services and workflows: process algebraic rules were used in [10] for the analysis of discrete-time properties of web services described in BPEL, time Petri nets were used in [14] for the modeling and verification of time requirements of BPEL processes, and a time extension of the WIFA (Workflow Intuitive Formal Approach) was presented in [15] for the timeliness analysis of workflows.
5 Conclusion
In this work, we showed how time constraints can be modeled with WED-flow using SISAUT as a concrete example. We then introduced a synctatic subset of WED-flow, referred to here as \(\alpha \)-WED-flow, with the same expressive power of the full model. In particular, we showed that there exists a bijection between \(\alpha \)-WED-flow process models and a subset of colored Petri net structures referred to here as \(\alpha \)-CPNs. Furthermore, we showed that corresponding \(\alpha \)-WED-flow process models and \(\alpha \)-CPN structures have equivalent execution semantics. By extending such an equivalent \(\alpha \)-CPN with a time dimension describing the temporal behavior of the process being modeled with \(\alpha \)-WED-flow, we became able to automatically reason about the functional and temporal behaviors of instances of that process through the existing tools and methods of analysis for time colored Petri nets. Next, we presented a method to calculate the minimum time it takes for a given \(\alpha \)-TCPN to fire a certain transition. In this way, we can automatically calculate the minimum time it takes for a given instance of a process modeled with \(\alpha \)-WED-flow to reach a certain WED-state. Our ongoing research aims to map the full WED-flow model into \(\alpha \)-WED-flow so we can extend the results obtained for this synctatic subset to the full model. We also intend to automatically handle violations of time constraints with the WED-flow transactional recovery mechanism presented in [5].
References
van der Aalst, W.M.P.: Verification of workflow nets. In: Azéma, Pierre, Balbo, Gianfranco (eds.) ICATPN 1997. LNCS, vol. 1248, pp. 407–426. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63139-9_48
Combi, C., Oliboni, B., Zerbato, F.: Modeling and handling duration constraints in BPMN 2.0. In: Proceedings of the Symposium on Applied Computing, pp. 727–734. ACM (2017)
Eder, J., Panagos, E., Rabinovich, M.: Time constraints in workflow systems. In: Jarke, M., Oberweis, A. (eds.) CAiSE 1999. LNCS, vol. 1626, pp. 286–300. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48738-7_22
Ferreira, J.E., et al.: Dependency management with WED-flow techniques and tools: a case study. In: International Conference on Collaboration and Internet Computing. IEEE (2017)
Ferreira, J.E., et al.: Transactional recovery support for robust exception handling in business process services. In: International Conference on Web Services, pp. 303–310. IEEE (2012)
Jensen, K.: Coloured petri nets. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) Petri Nets: Central Models and Their Properties. LNCS, pp. 248–299. Springer, Heidelberg (1987). https://doi.org/10.1007/BFb0046842
Lanz, A., Weber, B., Reichert, M.: Time patterns for process-aware information systems. Requir. Eng. 19(2), 113–141 (2014)
Liu, R., Kumar, A., Van Der Aalst, W.M.P.: A formal modeling approach for supply chain event management. Decis. Support Syst. 43(3), 761–778 (2007)
Maggi, F.M., Montali, M., Westergaard, M., van der Aalst, W.M.P.: Monitoring business constraints with linear temporal logic: an approach based on colored automata. In: Rinderle-Ma, S., Toumani, F., Wolf, K. (eds.) BPM 2011. LNCS, vol. 6896, pp. 132–147. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23059-2_13
Mateescu, R., Rampacek, S.: Formal modelling and discretetime analysis of BPEL web services. Int. J. Simul. Process Model. 4(3–4), 183–194 (2008)
Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
Padilha, B., Schwerz, A.L., Roberto, R.L.: WED-SQL: a relational framework for design and implementation of process-aware information systems. In: International Conference on Distributed Computing Systems Workshops, pp. 364–369. IEEE (2017)
Popova-Zeugmann, L.: Time petri nets. Time and Petri Nets, pp. 131–137. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41115-1_3
Song, W., et al.: Timed modeling and verification of BPEL processes using time Petri nets. In: 2009 9th International Conference on Quality Software, QSIC 2009, pp. 92–97. IEEE (2009)
Wang, J.: Emergency healthcare workflow modeling and timeliness analysis. IEEE Trans. Syst. Man Cybern. 42(6), 1323–1331 (2012)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Lima, R.A., Pu, C., Padilha, B., Takecian, P.L., Kamaura, L.T., Ferreira, J.E. (2018). Modeling Time-Critical Processes with WED-Flow. In: Jin, H., Wang, Q., Zhang, LJ. (eds) Web Services – ICWS 2018. ICWS 2018. Lecture Notes in Computer Science(), vol 10966. Springer, Cham. https://doi.org/10.1007/978-3-319-94289-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-94289-6_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-94288-9
Online ISBN: 978-3-319-94289-6
eBook Packages: Computer ScienceComputer Science (R0)