XOR-Split



In BPMN, when one flow needs to be split into multiple flows in a flow chart, various conditions can be placed at each split. XOR-Split is a notation to choose/determine only one flow that satisfies the specified condition (True) among a number of flows that originate from the split. Primarily exclusive gateways (XOR Gateways) play this role. An exclusive split.

Overview of XOR Split
In flow charts drawn by using BPMN, one token sometimes is split into multiple flows under a certain condition. At such a split, choosing only one outgoing sequence flow that satisfies the condition is called exclusive decision. XOR-Split is visualization of such exclusive decision in BPMN. At XOR-Split, once one outgoing sequence flow that meets the condition is found, the remaining outgoing sequence flows are not evaluated. (This rule is also applicable for a case in which an outgoing sequence flow that satisfies another condition is found later.) The condition is evaluated in the specified order, and if all conditions are evaluated as "false," a default sequence flow needs to be chosen as a route of the process.

Notation of XOR-Split
In case XOR-Split of a flow has only two outgoing sequence flows, there are two types of notations for XOR-Split.

However, if we use only conditional sequence flows and a default flow when there are more than three outgoing sequence flows, it would not be clearly represented whether it means XOR-Split or OR-Split, owing to the complexity of model notation, because more than two conditional sequence flows need to be drawn. Therefore, in order to avoid such ambiguity and to emphasize that it is XOR-Split, we should use gateways. Additionally, in this case, at least one of the outgoing sequence flows must be a default flow in order not to make XOR-Split a dead end. In case there is no default flow and none of the conditions is evaluated as "true," a token stops at the split, and thereby the progress of the process is blocked. We must re-design such a meaningless process model immediately.
 * 1) Using Gateway (Figure 1)
 * 2) Using Conditional Sequence Flow and Default Flow Instead of Gateway (Figure 2)

(*)A diamond in Figure 1 represents a "data-based exclusive gateway" in BPMN. (The detail is described below.) By definition, an "X" marker is supposed to be placed in the diamond, but often it is omitted as shown in Figure 1.

Gateways for XOR-Split


Gateways that work as XOR-Split are called exclusive gateways. Exclusive gateways are classified into two types: "data-based exclusive gateways" (Figure 3) and "event-based exclusive gateways" (Figure 4).

Data-Based Exclusive Gateways
This is the gateway that is most frequently used among all kinds of gateways. A condition is defined for each of outgoing sequence flows departing from this gateway. At the gateway, each condition is evaluated, based on process data, to see whether it is "true" or not. The sequence flow corresponding to the condition that is evaluated as "true" first, is selected. Because this gateway works in exclusive manner, once one condition is evaluated as "true," sequence flows that are assigned other conditions are ignored. To distinguish it from other types of gateways, an "X" marker is placed in the diamond, which represents gateways in BPMN. However, an "X" marker is often omitted. In addition, inclusive (OR) gateways  and parallel (AND) gateways are classified as data-based gateways.

Event-Based Exclusive Gateways
This is a gateway used when one flow is split into multiple flows depending on events that occur at some point in a process. Based on a received event, only one flow is chosen among multiple flows. Thus, it is considered as a kind of exclusive decision. For example, when a company receives positive feedback from customers as messages as a result of some project done by the company, the company will choose activities to go ahead with the project. On the contrary, if the project is evaluated lower than expected, the company will choose activities to plot a plan to improve the project or to terminate the project. The messages from customers are different depending on the level of evaluation, so the messages are considered as an exclusive condition.

Related Articles

 * Gateway
 * Activity
 * BPMN
 * Conditional Sequence Flow