
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.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
