Sequence Flow

An Activity MAY be a target for Sequence Flows; it can have multiple incoming Sequence Flows. Incoming Sequence Flows MAY be from an alternative path and/or parallel paths. If the Activity does not have an incoming Sequence Flow, then the Activity MUST be instantiated when the Process is instantiated.

An Activity MAY be a source for Sequence Flows; it can have multiple outgoing Sequence Flows. If there are multiple outgoing Sequence Flows, then this means that a separate parallel path is being created for each Sequence Flow (i.e., tokens will be generated for each outgoing Sequence Flow from the Activity). If the Activity does not have an outgoing Sequence Flow, then the Activity marks the end of one or more paths in the Process. When the Activity ends and there are no other parallel paths active, then the Process MUST be completed.

There are two types of Sequence Flows:
  • Default Sequence Flow
  • Conditional Sequence Flow, which are
Note: There are two exceptions to the above cases: Compensation Activities and Event Sub-Processes.
Note: If the Activity has multiple incoming Sequence Flows, then this is considered uncontrolled flow. This means that when a token arrives from one of the Paths, the Activity will be instantiated. It will not wait for the arrival of tokens from the other paths. If another token arrives from the same path or another path, then a separate instance of the Activity will be created. If the flow needs to be controlled, then the flow should converge on a Gateway that precedes the Activities.