Page 116 -
P. 116
Chapter 3
Advanced Synchronization
Moe Wynn, Wil van der Aalst, and Arthur ter Hofstede
3.1 Introduction
The OR-join is one of the three synchronization constructs supported in YAWL and
the only one that depends on non-local semantics, that is, not only the current state
but also possible future states need to be considered. The other two synchronization
constructs are the XOR-join and the AND-join. Both have local semantics, that
is, it suffices to consider the current state without extrapolating to possible future
states when making a firing decision. An XOR-join requires no synchronization,
that is, as soon as there is a token in one of its input conditions, an XOR-join is
enabled. An AND-join requires full synchronization, that is, it is enabled when there
is at least one token each in all of its input conditions. The drawback of using an
AND-join construct is that a workflow can deadlock when all paths leading to the
input conditions of the AND-join are not active. On the other hand, an OR-join
construct allows more flexibility as it supports only the synchronization of active
paths. Hence, the use of an OR-join construct in process models is desirable and
necessary in situations where it is not possible to know in advance which paths will
be active in a particular workflow instance (e.g., paths coming out of a multi-choice
construct).
To determine whether an OR-join should be enabled at a particular state of a
workflow, we need to look ahead to see if there are other active paths for which
we should wait in future states of the workflow. Hence, the OR-join semantics are
non-local and the analysis required to decide whether an OR-join should be enabled
at a particular workflow state is non-trivial. The decision requires an awareness of
the current state as well as possible future states of the workflow. Defining the non-
local semantics of an OR-join is difficult even when a workflow language does not
support complex constructs (e.g., cancelation) and/or puts certain restrictions on the
models (e.g., no loops or only allow structures where an OR-join is preceded by an
OR-split). This analysis becomes even more complicated when there are multiple
M. Wynn (B )
Queensland University of Technology, Brisbane, Australia
e-mail: m.wynn@qut.edu.au
A.H.M. ter Hofstede et al. (eds.), Modern Business Process Automation, 103
DOI 10.1007/978-3-642-03121-2 3, c Springer-Verlag Berlin Heidelberg 2010