|What does default mean?|
|Default means operating condition or value set up on the program in advance so that it is automatically selected when the user does not specify anything or when specifications are omitted.|
Default Sequence Flow is one type of Sequence Flow, which is set to be "default" so that it is activated when no other Conditional Flow is taken. Default Flow.
|Two Kinds of Exclusive Gateways|
Multiple conditional expressions are entered as data; thereon, an exclusive judgment is made on them.
Multiple Intermediate Events such as Timer Intermediate Event are exclusively judged.
In BPMN, Default Sequence Flow is used in two cases shown below.
- When data-based exclusive judgment (XOR Split) is exercised:
- Among multiple outgoing Flows (Conditional Sequence Flow) at a Split, only one Flow is selected. A conditional expression defined for each split Flow is treated as data. The Token goes on the Flow with the conditional expression judged as "true" first. "(Data-based) Exclusive Gateway" is used for this judgment.
- When inclusive judgment (OR Split) is exercised:
Among multiple outgoing Flows (Conditional Sequence Flow) at a Split, at least one Flow is selected. Based on conditional expressions defined for each split Flow, the Token passes on all Flows with conditional expressions judged as "true." For this judgment, either "Activity" or "Inclusive Gateway" is used.
|What is a Token?|
|A Token is a datum for management of tasks that flow in a business process (workflow). It is a kind of a management number of a task.|
These judgment can have multiple outgoing Conditional Sequence Flows (A and B in the figure.).
Here, let's think about a case in which all outgoing flows are defined as Conditional Sequence Flows and no Default Flow exists. For each flow, a conditional expressions, "If A," "If B," or "If C," is defined. However, this notation has two drawbacks.
- If all conditional expressions are accidentally judges as "false," we have a problem.
- The flow of the Token is stopped at a split, and the process after that becomes meaningless.
- Defining complex conditional expressions is not good for users.
- Taking usability into consideration, processes are simply and clearly defined. Cases in which we can combine conditions as "Otherwise" would not be so unlikely.
To overcome these drawbacks, at a judgment described above, Default Sequence Flow, which is assigned a default condition, is often used.
The Token passes on this Default Sequence Flow only when all other conditional expressions defined on the same judgment are judged as "false." If any of Conditional Sequence Flow is "true," the Token does not pass on Default Sequence Flow, but it goes through a Flow with a conditional expression judged as "true." Also, a judgment can use just one Default Sequence Flow.
Default Sequence Flow is represented by a backslash near the starting point of a Sequence Flow.
Default Sequence Flow is used in the same situation as Conditional Sequence Flow. That is, the source object (a flow object connected to the starting point) is either of the two listed below.
- Decision/Split Gateway (Exclusive Gateway and Inclusive Gateway)
However, all conditional Sequence Flows do not necessarily have a Default Sequence Flow.
Redundancy of BPMN
For example, a process with XOR Split (see the figure on the right) that exclusively judges two conditional expressions A and B, generally uses two Conditional Sequence Flows. However, even if one of the two conditional Sequence Flows is changed into a Default Sequence Flow, the notational meaning is exactly the same. This is because the condition on B is always "if not A."
Thus, in BPMN, there are sometimes multiple ways to represent the same business process. What process to draw depends on judgment of process designers, so workers in the field may mistakenly consider an identical process as different one. This characteristic is called "redundancy of BPMN."
BPMN1.1 Specification (2008-01-17)