Editing Data Flows

Activity nodes are connected by edges, which exist in two types:

  • Object flows are shown as thick blue lines. These flows can transport data.
  • Control flows are shown as thin black lines. Control flows do not carry any data, instead they indicate tokens.

Notice that object and control flows are not necessarily implemented as signals or objects that are passed between activity elements, this is just an illustration of the semantics. Object flows can be implemented for instance by variables.

Control or Object Flows?

Control flows are just a notification about an event, while object flows also carry data objects. To determine if you need an object flow or a control flow, focus on the nodes that they target: If nodes require data (such as input pins of operations), use an object flow.

Some building blocks or operations may provide objects that you are not always interested in. For example, a building block provides an exception object, but for you it only counts that an exception happened. Then you may simply ignore that the pin emits an object and continue with an control flow.

From a technical point of view, you could always use object nodes. However, we recommend to use control flows wherever possible to make visible that no data is transferred.

Connecting Activity Nodes

Control and object flows are found from the context menu (right click) on an activity diagram on page Behavior in the Blocks Editor.

To add a flow between two nodes, select the flow type from the list (depicted above). Your cursor will change form. Click the source node of the connection and then click the target node.

Note that this tool stays active until you press “ESC” or select other element. Hence, you can create several connections at once.

Working with Connectors

You may want to bend connectors in order to make your diagram more readable. In order to do this, select the connector with your pointer, then drag the bend-point on the middle.

To make a bent line straight do the exact opposite, i.e. drag the middle bend-point back to its original position.

Tips

You may convert an object flow into a control flow and vice versa with a dedicated action in the context menu of a flow (right click a flow and choose Switch to Object/Control Flow). This action also preserves the layout with all bendpoints.