A Sequence Flow is used to show the order that activities will be performed in a Process. Each Flow has only one source and only one target. The source and target must be from the set of the following Flow Objects: Events (Start, Intermediate, and End), Activities (Task and Sub-Process), and Gateways. During performance (or simulation) of the process, a Token will leave the source Flow Object, traverse down the Sequence Flow, and enter the target Flow Object.
QualiWare will automatically name the Sequence Flow object with an abbreviated name of the From and To objects.
QualiWare permits the User to provide a Short Description for the Sequence Flow (See the Short Description field on the Sequence Flow tab of the QualiWare Object Editor ).
A Sequence Flow is a line with a solid arrowhead that MUST be drawn with a solid single line.
BPMN does not use the term Control Flow when referring to the lines represented by Sequence Flow or Message Flow. The start of an activity is controlled not only by Sequence Flow (the order of activities), but also by Message Flow (a message arriving), as well as other process factors, such as scheduled resources. Artifacts can be Associated with activities to show some of these other factors. Thus, BPMN uses a more specific term, Sequence Flow, since these lines mainly illustrate the sequence that activities will be performed. A Sequence Flow MAY have a conditional expression attribute, depending on its source object. This means that the condition expression must be evaluated before a Token can be generated and then leave the source object to traverse the Flow. The conditions are usually associated with Decision Gateways, but can also be used with activities. If the source of the Sequence Flow is an activity, rather than Gateway, then a Conditional Marker, shaped as a mini-diamond, MUST be used at the beginning of the Sequence Flow. The diamond shape is used to relate the behavior to a Gateway (also a diamond) that controls the flow within a Process.
A Sequence Flow that has an Exclusive Data-Based Gateway or an activity as its source can also be defined with a condition expression of Default. Such Sequence Flow will have a marker to show that it is a Default flow. The Default Marker MUST be a backslash near the beginning of the line.
By default, the ConditionType of a Sequence Flow is None. This means that there is no evaluation at runtime to determine whether or not the Sequence Flow will be used. (See the Condition Type field on the SequenceFlow tab of the QualiWare Object Editor for the applicable values of None, Expression, and Default).
Once a Token is ready to traverse the Sequence Flow (i.e., the Source is an activity that has completed), then the Token will do so. The normal, uncontrolled use of Sequence Flow, in a sequence of activities, will have a None ConditionType. A None ConditionType MUST NOT be used if the Source of the Sequence Flow is an Exclusive Data-Based or Inclusive Gateway. The ConditionType attribute MAY be set to Expression if the Source of the Sequence Flow is a Task, a Sub-Process, or a Gateway of type Exclusive-Data- Based or Inclusive. If the ConditionType attribute is set to Expression, then a condition marker SHALL be added to the line if the Sequence Flow is outgoing from an activity. However, a condition indicator MUST NOT be added to the line if the Sequence Flow is outgoing from a Gateway. An Expression ConditionType MUST NOT be used if the Source of the Sequence Flow is an Event-Based Exclusive Gateway, a Complex Gateway, a Parallel Gateway, a Start Event, or an Intermediate Event. In addition, an Expression ConditionType MUST NOT be used if the Sequence Flow is associated with the Default Gate of a Gateway. The ConditionType attribute MAY be set to Default only if the Source of the Sequence Flow is an activity or an Exclusive Data-Based Gateway. If the ConditionType is Default, then the Default marker SHALL be displayed.
If the ConditionType attribute is set to Expression, then the ConditionExpression attribute MUST be defined as a valid expression. The expression will be evaluated at runtime. If the result of the evaluation is TRUE, then a Token will be generated and will traverse the Sequence–Subject to any constraints imposed by a Source that is a Gateway. (See the Expression field on the SequenceFlow tab of the QualiWare Object Editor where the user must provide a valid Expression for the applicable SequenceFlow, typically done in an If, Then, Else type of statement.)
The Assignment field in the Sequence Flow object editor allows the QualiWare user to define a set of variables that are or may be necessary for generation of BPEL (Business Process Execution Language).