Prev Next

Show Direction on SysML Ports

In SysML Block Definition diagrams you can represent the direction of flow through Ports, Full Ports and Proxy Ports by generating direction arrows on the Ports, as illustrated by the 'Camera I/O' and 'Station I/O' Ports in this Block diagram.

The direction of flow is defined by one or more Flow Property elements contained in an Interface Block element that 'types' the Port. (The direction is set in the 'direction' Tagged Value of each Flow Property element.) Where one Port references several Flow Properties, the direction arrows reflect all of the direction values used in the properties. For example, in the diagram, some Flow Properties have the direction 'in' and some 'out', so the Port displays both 'in' and 'out' arrows.

Ports that exchange the Flow Property items are usually in reciprocal pairs. That is, the items flow out from one Port and in to another. Both Ports would reference the same Interface Block and Flow Properties, but the flow through one would have to be set to the inverse of the defined direction(s). You do this by selecting that Port's 'Conjugated' property. When this is done, on the diagram a tilde (~) is displayed against the Port's reference to the Interface Block name. On the example diagram, this is shown in front of 'Camera Interface' under the 'Station I/O' Port name, indicating that the Port references the Flow Properties of Camera Interface but with the inverse direction values.

Each FlowProperty identifies something that is passed into or out of an element. You can have a single Flow Property for a discrete object that is passed through the Port, such as 'electric current', or a number of Flow Properties to identify the components of a package of items, such as data items, as shown in the diagram. 

The item identified by a FlowProperty is defined through a series of Value Type elements and Unit and Quantity Type objects that are ultimately derived from your SysML Model Library (see the Creating Model Library Definitions Help topic). On our diagram, this is illustrated by the Control Data, Word and Byte elements that are used to define the 'control' FlowProperty; the definition of each of the other FlowProperties in the diagram would be drawn from a similar arrangement of Value Type elements.

If the Block element has an Internal Block diagram or Parametric diagram, the direction arrows on the Port are automatically shown in that diagram.

Add direction arrows to a Port

Step

Action

See also

1

In necessary, on a Block Definition diagram create the Port, Full Port or Proxy Port element on a Block element, using the 'SysML Block Definition' pages of the Diagram toolbox. Do this for as many Block elements and/or Ports as are required.

SysML Block Definition Toolbox

2

If necessary, create an Interface Block either on the same diagram or on a convenient reference data diagram, again using the 'SysML Block Definition' pages of the Diagram toolbox. From the same pages, drag a Flow Property element onto the Interface Block for each object or quantity that is passing through a given Port.

3

For each Flow Property, in the Properties window type a relevant name for the element, and in the 'Tags' tab of the window set the 'direction' tag to the appropriate value.

Also, as required, define the parameters of the property by first setting the type (press Ctrl+L and select the appropriate Value Type element) and quantity type and unit (set the Tagged Values in the 'Tags' tab).

Tagged Values

4

For each Port in turn, click on the Port and press Ctrl+L, then from the Select Property Type window select the Interface Block element containing the required Flow Properties.

Notice that the Port now displays one or two arrowhead symbols (<,>) reflecting the directions defined on the Flow Property elements (assuming they are not all set to <none>).

Select Dialog

5

If you need to set a Port to reciprocate another Port, display the Properties window, click on the Port, select the 'Property' page for the Port and select the 'Conjugated' check box (in the expanded 'Property' category).

This applies the reciprocal direction of the Flow Properties to the Port, and displays the tilde character (~) in front of the Interface Block reference under the Port name.

Learn more