Page 243 -
P. 243
236 S. Clemens et al.
Fig. 8.17 The Editor detects a potential deadlock
8.6 Specification File
The Editor serializes a workflow specification into an XML document with exten-
sion .yawl. This document contains a mandatory conceptual part with information
about decompositions, workflow elements, and their relations.
While the conceptual information is required to execute a workflow, its visualiza-
tion is important for communication purposes. Workflow elements might be placed
in a certain way or enriched with specific icons to improve the process understand-
ing. This information is contained in the layout part, which is optional and ignored
by the Engine when a specification is loaded. The Editor uses layout information in
conjunction with the conceptual information to represent a workflow. However, if no
layout information is enclosed within the XML document, the Editor will visualize
the workflow specification with a standard layout.
Listing 8.1 is an extract of the conceptional information for the Order Fulfillment
process model (see Appendix A). It shows a decomposition with its identifier Cre-
ate Purchase Order and two of its variables. Below, the task Create Purchase Order
is represented with its reference to its successor task Approve Purchase Order,
related mappings, and resource information. This task refers to the mentioned
decomposition Create Purchase Order.
The XML extract in Listing 8.2 represents the layout information for task Create
Purchase Order and for its incoming and outgoing arcs. Layout information for a
task includes the size and location of the task, as well as the path of the icon used to
decorate the task. Layout information for an arc includes the location of the arc and
a code for its line style, which can be orthogonal (encoded as 11), bezier (12), or
spline (13).