Page 186 -
P. 186
6 Declarative Workflow 177
A B Z
...
Fig. 6.2 Decomposing processes using various modeling languages
in procedural and declarative languages should be possible. These decompositions
can be achieved by the seamless integration of different process engines based on
different paradigms. Figure 6.2 illustrates how various processes can be combined
in arbitrary decompositions. Instead of being executed as a simple (manual or auto-
matic) unit of work, a task can be decomposed into a process modeled in an arbitrary
language. The declarative language based on constraints presented in this chapter
can be seen as one of the modeling languages in Fig. 6.2, while the YAWL nets, and
worklets (cf. Chap.11) can be seen as another alternative.
The basic language used by YAWL provides excellent support for procedural
workflow modeling as it supports most of the workflow patterns (cf. Chap. 2). How-
ever, in this chapter we focus on adding flexibility to workflow models. A workflow
model specifies the order in which tasks can be executed, that is, possible execution
alternatives. An execution alternative is a unique ordering of tasks. More execution
alternatives mean more flexibility. There are several ways to increase the flexibility
of workflow management systems:
1. Flexibility by design is the ability to specify alternative execution alternatives
(task orderings) in the workflow model, such that users can select the most
appropriate alternative at runtime for each workflow instance.
2. Flexibility by underspecification is the ability to leave parts of a workflow model
unspecified. These parts are later specified during the execution of workflow
instances. In this way, parts of the execution alternatives are left unspecified in
the workflow model, and are specified later during the execution.
3. Flexibility by change is the ability to modify a workflow model at runtime, such
that one or several of the currently running workflow instances are migrated to
the new model. Change enables adding one or more execution alternatives during
execution of workflow instances.
4. Flexibility by deviation is the ability to deviate at runtime from the execution
alternatives specified in the workflow model, without changing the workflow
model. Deviation enables users to “ignore” execution alternatives prescribed by
the workflow model by executing an alternative not prescribed in the model.
Flexibility of workflow management systems can be increased by using declara-
tive languages for workflow specification. This chapter describes how an optimal
balance between flexibility and support can be achieved with declarative workflow
management systems that use constraint workflow models. This chapter shows how