Page 233 -
P. 233
226 S. Clemens et al.
Fig. 8.4 Setting up the parameters of the timer task Order Timeout
of more than one incoming or outgoing arc to that task to prevent creating structural
issues.
If a task is decorated with an (X)OR split, the workflow designer can specify
routing conditions for each outgoing arc of the split. These conditions are predicates
expressed in XPath, which can be set via the Update flow detail... dialogue available
from the task’s context-menu (see Fig. 8.5). This dialogue shows the list of outgoing
arcs of the split, where each arc is referred to by the label of the subsequent node.
In the case of an XOR split, the list of arcs needs to be ordered to determine the
evaluation order of the predicates at runtime. Control will be passed along the first
arc whose predicate evaluates to true. In this way, only one branch will be executed
even if more than one predicate evaluates to true. In the case of an OR split, control
will be passed along each arc whose predicate evaluation is true. If all predicates of
an (X)OR split evaluate to false, control will be passed along the designated default
arc (the last arc of the list) irrespective of the predicate’s result.
Theatomictask Approve Purchase Order in the subnet Ordering (Fig. A.3) is
decorated with a split and a join. The XOR construct at the bottom of the task splits
the control-flow: If the purchase order is not approved, the flow is routed to the end-
condition of the subnet. Otherwise, the flow is routed to the subsequent condition
leading to the atomic tasks Modify Purchase Order, Confirm Purchase Order,and
Order Timeout.
A task can be associated with a cancelation set, which may include a number of
tasks, conditions, and/or arcs (in the latter case the implicit condition in the arc is
included). The cancelation set of a task can be visualized on the canvas by clicking
on View cancelation set from the task’s context-menu. This enables two buttons in
the top toolbar (Cancelation Sets, see Fig. 8.2), which can be used to add in elements
or remove them from the cancelation set. The task that initiates a cancelation set
is grayed out, while the elements in the cancelation set are indicated with a red
border.