You can control the data nodes of the activity diagrams
through join and fork nodes, which are related
to decision and merge actions.
Before you begin
Create a SysML activity diagram requiring object nodes to
flow between action nodes.
About this task
ForkNodes and
JoinNodes
are related to decision and merge actions which are all “control nodes”.
- A join node represents the merging of two or more
concurrent flows into a single outgoing flow. It is shown as a bar
with two or more incoming flows and one outgoing flow. The object
flows are used to connect action nodes, activity parameters, and action
pins together to define the sequence of flow of information or physical
items in an activity. Rhapsody® allows
joining control and data flows on the same Join node.
- A fork node represents the splitting of a single
flow into two or more outgoing flows. It is shown as a bar with one
incoming control flow and two or more outgoing flows. Rhapsody allows forking control and data
flow on the same Fork node.
Note: Data tokens can be routed by the Control nodes Decision, Merge,
Join, or Fork nodes. The token is accessible by the node using
the keyword TOKEN in the Propertiesview
window.
Procedure
- To draw a join node, select the Join
Node button
. Click or click-and-drag between
an action state and a subactivity to add the join node bar. - Select the ObjectFlow or ControlFlow drawing
tool, and draw the incoming flows to the join node bar.
- Draw one outgoing flow from the bar to the subactivity.
Type a name, and then press Ctrl+Enter.
- To draw a fork node, select the Fork Node
button
. Click or click-and-drag between two actions to add the fork
node bar.- Select the ObjectFlow or ControlFlowdrawing tool,
and draw a single incoming flow from one state to the fork node bar.
Type the name, and then click Ctrl+Enter. This
flow indicates that a call request has been initiated.
Note: You
can select again the ObjectFlow or ControlFlow drawing
tool to draw two or more outgoing flows to actions.
- To connect the action nodes, open the systems engineering
activity diagram, and click the ObjectFlow button

- Click the elements you want to connect to draw the green
flow line. Type in a label for the connection as needed.
- The Decision Nodes must have guard s
on all out flows, and one of out going flows must have else.
If not, when the code is generated an error appears in the Checks
window.

The Control nodes
have as a constraint that all the data around the control node must
be of the same type. Also, the pins must be synchronized
with the targets. You can synchronize the pin by right-clicking on
the pin, and select Update Operation From Activity Pins.
In case the synchronization action requires removal of some pins,
a warning will be issued.
