Page 73 -
P. 73
60 N. Russell and A. ter Hofstede
conduct
review
schedule report
review findings
timeout
Fig. 2.21 YAWL control-flow example: 1
review task. This ensures that the countdown to the timeout commences as soon
as the schedule review task completes. (Note that YAWL includes timer facilities
for tasks that can be used for implementing timeouts. By using these, this model
could be simplified by including a deadline timer in the conduct review task, hence
removing the requirement for the preceding AND-split. However, for the purposes
of illustration, in this example, we explicitly model the timeout as a distinct task).
Both the conduct review and timeout tasks have cancelation regions associated
with them. In effect, a race condition exists between the two tasks and the first to
complete cancels the other task. Thus one of two scenarios is possible: the conduct
review task competes before the deadline is reached or if the deadline is reached,
the task is canceled. Whichever scenario occurs, the report findings task will be
triggered exactly once before the process completes as a consequence of the XOR-
join associated with the task. Note that the conditions preceding and following the
conduct review and timeout tasks are explicitly shown in the model and are included
in the associated cancelation regions, as the states prior to and immediately after
the execution of these two tasks are also subject to cancelation when the other task
completes. For example, if the timeout completes first then the conduct review task
is canceled, and if it is waiting to commence or has just completed (i.e., there is a
token in the condition before or after the task) then the token is also removed.
Figure 2.22 shows a process for organizing travel. It commences when a travel
request arrives triggering the lodge travel request task. Once this has completed,
one or both of the organize visa and estimate cost tasks is initiated depending on
whether just travel arrangements, visa procurement, or both need to be organized.
The process of organizing a visa is fairly straightforward; however, the organization
of the actual travel is more complex and involves several tasks. First, the likely
costs need to be determined via the estimate cost task. Then one or both of the
book accommodation and book travel tasks is initiated, and after those have been
completed, it is determined if the bookings are complete, if not, there are further
iterations of estimate costs and then book accommodation and/or book travel tasks
as required. Once it is determined that the bookings are complete, the final costings
are checked. If they are incomplete or vary markedly from the original request, the
thread of control is returned to the estimate cost task and another iteration of the
travel arrangement tasks occur. Once any necessary visas have been organized and
the costings are complete, the archive paperwork task can execute and the process
is complete. The use of the OR-splits associated with the lodge travel request and
estimate cost tasks allows one or both outgoing branches to be selected and the