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 nonlocal 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 OR-joins in the workflow or when other complex constructs such as cancelation and loops are present in the workflow. © 2010 Springer-Verlag Berlin Heidelberg.
CITATION STYLE
Wynn, M., Van Der Aalst, W. M. P., & Ter Hofstede, A. H. M. (2010). Advanced synchronization. In Modern Business Process Automation: YAWL and its Support Environment (pp. 103–119). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-03121-2_3
Mendeley helps you to discover research relevant for your work.