This documentation (Bonita Open Solution V5) is an archive. Please click here for current documentation.
Advanced search

Transitions (flow)

Open Source

In Bonita Studio, transitions represent sequence flow.

Transition arrows are used to connect all objects, allowing the sequence flow to move from the start to the end of a process.  In addition to connecting elements in a process, transitions are used to define the direction of flow between these elements.

If a transition is not present between process elements, the sequence flow will stop. The flow is broken and the process will not reach its termination.

Sequence flow must start and end within a single process. Transitions cannot cross from one pool to another.

The example below shows transitions between elements, showing the direction of sequence flow.

Some elements, such as tasks and gateways, can have multiple outputs connecting to other elements.

These multiple outputs need to be managed to create an order of flow. They can be configured using conditions to determine which path the flow should take, given the state of the process case (e.g. data variables).

Note: It is best practice to label the conditions on transitions so they are easily understood on the process diagram.

For each transition, the details panel offers the following options under the General tab:

In the General pane, you can enter a fixed name and description of the transition.
You can select default flow to indicate that this is the path to take when all other transition conditions evaluate to false.

Define the condition that applies to this transition here; that is, the conditions that must be met for the path to take this flow.

  • Edit Expression: Select this option to bring up the expression editor.  With this editor, you can create both condition and rule elements.
  • Create Data: If you need to define a variable for the expression or decision table, you can do it from here.
  • Edit Decision Table: Select this option to bring up an editor you can use to define a list of one or more conditions using standard Java operators such as <, <=, >, <=, ==,!, and so on.