Working with Sequence Flows
The sequence flow determines the execution sequence of activities. A sequence flow
connects an element with its successor element. It also allows setting
a condition - only if this condition is fulfilled at runtime the
transition is processed and the next activity is executed.
This chapter covers the following:
Rules for Connecting Elements
Following are the rules which need to be followed when connecting two elements:
- A maximum of one in and one out connection can be established between the same two elements.
- A connection must connect two different elements.
- Connections can be rerouted after they are established.
- Only out sequence flow connections are allowed on Start Events
- Only in sequence flow connections are allowed on End Events
- Each Event can have only one sequence flow connection. Multiple connections are not allowed from events.
- Events can be connected only to activities and gateways
- Data connections/associations are not supported.
- Each activity can have a maximum of one in and one out sequence flow connector, except for Start Events.
- An unlimited number of in and out data connections/associations can be established, but only one in and one out per data symbol should be allowed.
- Unlimited in and out sequence flow connections can be established
- Data connections/associations are not supported
- Incoming connections are sequence flow connections and display the Sequence Flow Property Panel when clicked.
- Outgoing connections allow specification of Conditional Expression/Default Sequence Flow in the property panel.
Sequence Flow Activation and Deactivation
The connect mode of the sequence flow is activated by:
Creating Sequence Flow from Main Toolbar
Click the Create Connector icon in the main toolbar and
hover the mouse over element. The starting and ending anchor points are established. Click on the elements between
which you want to establish the sequence flow.
Figure: End Point - Connector
Creating Sequence Flow from Flyout Menu of all the Elements
When you hover the mouse over following elements the flyout menu gets activated.
- Activities of all types
- Start Event
You can connect elements using the flyout menu of each element.
Viewing Sequence Flow Properties
To view the sequence flow properties, click on the sequence flow.
Figure: Sequence Flow
The General Properties of a sequence flow gets displayed. You can specify description for the sequence flow.
Figure: Sequence Flow
Click the Transactional Behavior icon displayed at the
left side of the General Properties pane of the
Sequence Flow. The Transactional Behavior properties of the sequence flow get displayed.
Figure: Sequence Flow - Transactional Behavior
Select the Fork Transaction on Traversal check box to see the traversing during transition conditions.
This option of a transition controls the synchronization and
concurrency behavior during the execution of the corresponding process instances.
Please refer to the section
of the chapter
Runtime Behavior in the Infinity Process Platform Documentation
information on the Fork Transaction on Traversal functionality.
Click the Comments icon displayed at the top left side of the
General Properties pane of the
Sequence Flow. Specify the comment in the text box and click Submit.
The newest comment gets displayed at the top of the table.
To delete the comment, select the comment and click the Delete icon.
The user, who has submitted the comment, only that user can delete the comment.
If the other user selects the comment or no comment is selected,
the Delete icon remains in disabled state.
Figure: Sequence Flow - Comment
Conditional Sequence Flow
The conditional sequence flow gets created on outgoing connection from gateway.
The Modeling perspective supports setting conditional sequence flow only from gateways to activities.
In place editing is not available for sequence flow.
Figure: Conditional Sequence Flow
You can specify conditional expressions only on outgoing connections of gateways.
Viewing Properties of Conditional Sequence Flow
Click on the conditional sequence flow to view its properties.
Figure: Conditional Sequence Flow - General Properties
- UUID - A unique identifier ID gets generated as an identifier for client server communication
- ID - An ID generated automatically based on the conditional sequence flow name.
If an element with the same name exists then during ID generation, a numerical suffix gets added to the ID.
If the element is renamed, the ID gets regenerated.
The UUID and ID options are displayed only when you switch to
- Name -
Specify name for the conditional sequence flow. The name is displayed:
If you specify condition expression,
then the expression gets displayed in the process diagram canvas. In that case, name is not displayed.
- if the default (true) condition expression is specified and
- if the name is specified as well
- Description - Specify description in the text box.
- Default Flow - The sequence flow is the "default" (i.e., OTHERWISE) when the Default Flow check box is marked.
By default, this check box is not selected. If you select this check box, the sequence flow
is always evaluated to true though all the other conditions on the split have the value false. The
Condition Expression editor displays the value true. The sequence flow with slash through
indicates that it is a default sequence flow.
Figure: Default Sequence Flow
- Condition Expression - You can specify a condition in this editor. The sequence is then traversed
and the next activity is performed, if the specified condition is fulfilled.
Conditions are specified if the successor activity is only to be performed under particular
circumstances. If the return value of a transition condition is true, the sequence
will always be traversed and the successor activity executed.
Note that a conditional expression is not supported for an activity
to activity sequence flow in the Modeling perspective.
Editing Condition Expressions
provides the option to add arithmetic, relational and logical operators
as well as string matching operators.
Figure: Condition Expression
The editor provides auto-completion functionality for:
- all data contained in the model, e.g.
- code keywords, e.g.