You can express a parallel fork or join by using the gateway symbol with the AND stereotype specified. You can also express a parallel fork without using the AND gateway as described below under Parallel Forking.
The AND gateway is drawn as a diamond symbol with a large plus mark in its center, as shown in the following image.
A fork is the dividing of a path into two or more parallel paths. This is also known as an AND split. It is a place in the process flow where activities can be performed concurrently, rather than sequentially. Contrast this to an OR gateway, in which one or another path is taken.
To draw a parallel fork
Perform one of the following actions:
•Draw multiple outgoing Sequence Flows from a process. This represents “uncontrolled” flow, and is the preferred method for most situations.
•Use a Parallel (AND) Gateway. This is used rarely, usually in combination with other Gateways.
In the examples above, both Sequence Flows a and c are taken; this represents a fork in the process path.
To model an AND gateway, you need to draw a Gateway symbol, and specify a stereotype of AND. For an AND gate, the Condition and Default properties within a Sequence Flow line’s Symbol tab are not applicable – you do not need to fill them in with values.
To model a parallel join
1 Draw an AND gateway.
2 Draw two or more Sequence Flow lines into the AND gateway.
3 Draw a single Sequence Flow line out of the AND gateway.
The AND gate must receive an input signal (a Token) from all input Sequence Flows for the output flow to be taken. The process flow waits for all signals to arrive at the AND gateway before it can continue.
For example, if you draw flows A, B, and C into an AND gateway, then a token must arrive on both flow A and flow B and flow C for the output flow to occur.
The following image shows an example of an AND gateway used in a diagram.