6.2 Object Flow, Pins & Activity Parameter Nodes

Key Takeaways

  • Object flows represent directed edges that transport object tokens (data, signals, materials, or energy) between object nodes.

  • Action Pins are small square object nodes placed on action perimeters representing typed inputs and outputs of individual actions.

  • Under default non-streaming execution rules, an action cannot activate until control tokens arrive and all mandatory input pins receive required object tokens.

  • Activity Parameter Nodes are rectangular object nodes positioned on the outer diagram frame representing input/output parameters of the enclosing Activity.

  • Object nodes can constrain accepted tokens through state specifications (Type [state]), streaming designations ({stream}), upper bounds, and flow weights.

Last updated: September 2026

6.2 Object Flow, Pins & Activity Parameter Nodes

Quick Reference: While control flows sequence actions, object flows transport physical matter, electrical energy, signals, and digital data as object tokens. Actions interface with object flows through Action Pins (small squares on action borders), while the enclosing activity interfaces with external callers through Activity Parameter Nodes (rectangles drawn on the diagram frame border). By default, an action cannot fire until all its required input pins hold tokens and upstream control tokens have arrived.


Control Flow vs. Object Flow

SysML activity diagrams explicitly separate the ordering of execution from the exchange of physical and informational items. This separation is established by two distinct edge types:

  1. Control Flow: A solid line with an open arrowhead (or, as a SysML 1.2 presentation option, a dashed line) connecting actions or control nodes directly. It carries control tokens that signal permission to execute. A control flow cannot carry data values, fluids, electrical charge, or mechanical items.
  2. Object Flow: A solid line with an open arrowhead connecting object nodes (Action Pins, Activity Parameter Nodes, Central Buffers, or Data Stores). It carries object tokens containing typed values, physical substances, or signals.
Control Flow:   [ Action A ] -----------------------------> [ Action B ]

Object Flow:    [ Action A ]-[pinOut] --------> [pinIn]-[ Action B ]

Nature of Object Tokens

An object token represents an instantiated item that moves through the system during activity execution. In SysML systems engineering models, object tokens represent:

  • Information & Data: Sensor packets, digital coordinates, command frames, or database records.
  • Physical Matter: Fuel volume, pneumatic gas, mechanical fasteners, hydraulic oil, or payload containers.
  • Energy: High-voltage electrical pulses, mechanical torque, or heat transfer.
  • Discrete Signals: Asynchronous interrupts, timing triggers, or status notifications.

Because object tokens represent concrete items or discrete information, an object token cannot be duplicated arbitrarily across multiple downstream edges unless routed through a specific replication node such as a Fork Node.


Action Pins: Input Pins and Output Pins

An Action Pin is a specialized object node attached directly to the outer boundary of an Action. Pins represent the input arguments consumed by an action and the output results generated by an action.

Graphical Notation and Terminology

  • Input Pin: A small square rendered on the perimeter of an action with an incoming object flow arrow pointing directly into the pin. It supplies values or items required for the action to execute.
  • Output Pin: A small square rendered on the perimeter of an action with an outgoing object flow arrow originating directly from the pin. It delivers products, data, or items generated by the completed action.
  • Pin Labeling Syntax: A pin is labeled with an optional pin name, a colon, and its classifier type: pinName : Type [multiplicity]. For example, rawSamples : VoltageMeasurement [1..*] indicates an input pin accepting one or more voltage measurement tokens.

Action Activation Prerequisites (The Default Firing Rule)

Under standard (non-streaming) SysML execution semantics, an action has rigorous activation criteria:

  1. Control Token Availability: If the action has incoming control flows, a control token must be offered on every incoming control flow.
  2. Object Token Availability: Valid object tokens must be present and offered on all non-optional input pins.
  3. Simultaneous Consumption: When the action fires, it consumes the control tokens and the required object tokens from the input pins simultaneously.
  4. Execution and Output Production: The action executes its internal behavior. While executing, the input tokens have been consumed and no output tokens are produced yet. Only when the action completes does it place newly generated object tokens onto its output pins and emit control tokens onto its outgoing control flows.

Exam Trap: An action with two input pins does not begin executing when the first input pin receives a token. It remains idle in an un-triggered state until both input pins are satisfied.

Standalone Object Node Shorthand

Instead of drawing an output pin on one action and an input pin on the next, a diagram may place a single rectangle labeled name : Type on the flow between the two actions. SysML 1.2 describes this "object node notation" as "a shorthand for pins": it means the same thing as the output-pin/input-pin pair.


Activity Parameter Nodes

Just as an individual action has pins for inputs and outputs, an entire Activity can define input and output parameters. When viewing an Activity Diagram, these parameters are modeled as Activity Parameter Nodes.

Graphical Notation and Placement Rules

  • Boundary Placement: An Activity Parameter Node is rendered as an object node rectangle drawn directly overlapping or resting on the outer diagram frame border.
  • Input Parameter Node: Represents data or physical items supplied by an external invoking behavior into the activity. On the diagram canvas, an object flow arrow originates on the interior side of the parameter node and points into the diagram toward an action pin or control node.
  • Output Parameter Node: Represents data, items, or results produced by the activity and returned to an external caller. An object flow arrow inside the canvas points outward into the parameter node on the frame border.
  • Syntax: Labeled with the parameter name and its classifier type, e.g., commandVector : GuidanceCommand.
+-- act [Activity] CalculateTrajectory --------------------------------------------+
|                                                                                  |
|  +------------------+                   +---------------+     +---------------+  |
|  | pos : StateVector|=======> [in]----->| Compute Path  |---->| out ]-------->|  |
|  +------------------+         pin       |               |     pin            |  |
|  (Overlaps Frame)                       +---------------+                    |  |
|                                                               +--------------+   |
|                                                               |traj : Orbit  |   |
|                                                               +--------------+   |
|                                                               (Overlaps Frame)   |
+----------------------------------------------------------------------------------+

Advanced Object Node Semantics

SysML reuses these UML object-node options, which matter for physical systems. (SysML 1.2 also adds «continuous», «discrete», rate, and probability extensions; they are beyond the MU100 coverage map.)

1. Streaming vs. Non-Streaming ({stream})

  • Non-Streaming (Default): All inputs must be present before the action begins, and all outputs are emitted only after the action terminates.
  • Streaming: Annotated with the property modifier {stream}. A streaming pin or activity parameter node can accept or produce tokens continuously while the action is actively executing. This is essential for modeling continuous video feeds, flowing liquids, radar sweeps, or steady power dissipation.

2. In-State Object Nodes (Type [state])

An object node or pin can specify an explicit state constraint using brackets after the classifier type: ClassifierName [StateName].

  • Example: HydraulicFluid [pressurized] or TargetTrack [confirmed].
  • Semantics: The object node will only accept an object token if the underlying object is currently in the specified state. If an arriving token is in a different state, it is rejected or held upstream until the state transition occurs.

3. Upper Bound and Flow Weight

  • Upper Bound ({upperBound = n}): Defines the maximum capacity of object tokens that an action pin or parameter node can hold simultaneously. If the buffer is full, upstream flows are blocked.
  • Flow Weight ({weight = n}): Placed on an object flow edge to define the minimum number of tokens that must traverse the edge together in a single batch. By default, weight is 1.

Structural Comparison: Pins vs. Parameter Nodes vs. Central Buffers

Object Node ElementVisual RepresentationPhysical LocationScope & Modeling Role
Action PinSmall square (□)Attached to the perimeter border of an Action.Represents an input argument or output product of a single local action.
Activity Parameter NodeRectangle ([ Name : Type ])Overlapping the outer diagram frame border.Represents an input or output parameter of the entire enclosing Activity.
Central Buffer NodeStandard rectangle ([ «centralBuffer» Name ])Centered freely inside the diagram canvas.Acts as an intermediate shared queue/buffer decoupling upstream producers from downstream consumers.

Comparison: Control Flow vs. Object Flow

AttributeControl FlowObject Flow
Line StyleSolid line with open arrowhead, or dashed as a SysML 1.2 presentation option.Solid line with open arrowhead (--->).
Connecting ElementsConnects Actions and Control Nodes directly.Connects Object Nodes (Pins, Parameter Nodes, Central Buffers).
Token TransferredControl Token (pure execution signal, zero payload).Object Token (typed data, physical material, signal, or energy).
Prerequisite for FiringProvides permission to execute.Provides necessary input values or physical operands for the action.

Exam Pitfalls & Misconceptions

ConceptCorrect RuleCommon Exam Trap / Distractor
Pins vs. Object Node ShorthandObject flows connect object nodes. Between two actions you may see pins or a standalone name : Type box, which is shorthand for an output pin feeding an input pin.Reading the standalone object node box as an extra action or a data store.
Pin vs. Parameter NodePins belong to individual actions; Activity Parameter Nodes belong to the diagram frame.Mistaking an Activity Parameter Node on the frame for a global variable or part property.
Simultaneous Input RequirementAll mandatory input pins must hold tokens before a non-streaming action starts.Assuming an action executes once for each pin as soon as an individual pin receives a token.
Object Token DuplicationAn object flow does not automatically duplicate tokens to multiple targets.Believing an object token splits itself automatically when an edge branches without a fork node.
In-State ConstraintsNotation Data [valid] restricts tokens to those whose classifier is in the specified state.Assuming [valid] is a guard condition evaluated on a decision node instead of a state constraint on a pin.
Loading diagram...
Object Flows Between Pins and Activity Parameter Nodes
Test Your Knowledge

On an activity diagram frame border, a modeler observes a rectangular box labeled powerLevel : Wattage with a directed edge pointing into the canvas toward an action pin. What modeling construct does this box represent?

A

A structural flow port owned by the enclosing system block

B

An input pin belonging to an action hidden outside the diagram frame

C

A central buffer node storing global energy measurements across diagrams

D

An Activity Parameter Node representing an input parameter to the enclosing Activity

Test Your Knowledge

An action has one incoming control flow and two distinct input pins: targetBearing : Angle and rangeEstimate : Distance. Under standard non-streaming SysML execution rules, when does this action begin execution?

A

Only when a control token arrives on the control flow AND valid object tokens are simultaneously available on both input pins

B

As soon as an object token arrives on either input pin, regardless of control token presence

C

Immediately when the incoming control token arrives, with missing pin inputs assigned default null values

D

Whenever the upstream action terminates, bypassing token validation on the input pins

Test Your Knowledge

What is the exact semantic meaning of the label TelemetryPacket [validated] appearing on an action's input pin?

A

The action executes a Boolean validation algorithm whenever a packet arrives

B

The input pin will only accept object tokens typed by TelemetryPacket whose underlying instance is in the 'validated' state

C

The pin discards all packets unless an upstream guard condition named 'validated' evaluates to false

D

The pin converts unvalidated packets into validated packets upon crossing the action perimeter

Sections you finish are checked off in the contents.