Page 27 -
P. 27
12 W. van der Aalst et al.
Fig. 1.3 A Petri net for the Accident workflow
Fig. 1.4 A YAWL net for the Accident workflow
completion of this transition. Similarly, if a transition has multiple input places, this
represents a synchronization point as at least one token is required in each input
place for this transition to be enabled.
Figure 1.4 shows the YAWL representation of the Petri net of Fig. 1.3. As can
be seen, in a YAWL net, there is a more explicit representation of the join and split
behavior of the various tasks. In addition, there is no need to explicitly represent
all places; those that simply connect two tasks can be omitted. The YAWL model
captures the order in which the tasks need to be presented at runtime. To make
the specification available to the runtime environment, it needs to be specified in
the Editor, see Fig. 1.5, which can save the model in an XML format that can be
interpreted by the Engine. In addition, one needs to specify how work is assigned
to participants. To keep this example simple, let us assume that all tasks are to be
executed by the Claimant, which we have captured as a role with one participant.
Also, tasks are offered to the Claimant and he/she can choose when to start working
on them.
At runtime, the Engine uses the YAWL model to determine when certain tasks
are to be offered to the Claimant. In Fig. 1.6, one can see the worklist containing the
work items (i.e. task instances) offered to the Claimant after the task Obtain Quote
has been performed. Note that both options Buy New Car and Have Car Fixed are
offered and the Claimant needs to make a choice.
Assuming that the Claimant completed the choice for having their car fixed or
having the current one repaired, the task Settle Bill is offered. In Fig. 1.7, the data
input form for the corresponding work item is shown. One can see that performing
this work item involves filling in a number of data fields. The presentation of these
fields is governed by the type of the data involved (which in this example are all
simple types) and whether the fields contain editable values or are for presentation