Skip to main content

Description

Interfaces define the connections and relationships between ports, specifying how system components interact and communicate with each other. In SysML v2, interfaces represent the contracts for interactions between components, defining sets of operations, signals, and flows that components provide or require for proper system integration. Interfaces model the communication paths between systems by linking their ports together, indicating that components are connected and can exchange information, energy, or materials. Multiple ports can be connected through a single interface, creating complex interaction networks that represent how the system’s internal architecture enables its functionality. Interfaces ensure compatibility and interoperability between components by defining what each component expects from the others and what it provides in return.

Working with Linkages

Interfaces are often realized through physical linkages (cables, wires, hoses, etc.). The relationship between interfaces and linkages:
  • Interface: Defines the logical connection between any port and what flows between ports
  • Linkage: Represents the physical cable, wire, or conduit that implements the interface
For example, to model a USB cable, you would use a combination of linkages, ports, and interfaces. The physical connection (the cable itself) would be represented as a linkage with ports at each end. Each port, in turn, connects to multiple interfaces that define the ground, power, and data lines running through the system. In this arrangement, the interface specifies what is being connected and how it flows across ports, often spanning across systems, while the linkage captures the physical aspect that implements the connection.

View Types

ViewDescription
PropertiesEdit the object’s properties, attributes, and metadata.
TableDisplay the object and its children in a tabular format.
BlockVisual block diagram showing parts and connections.
RelationshipsExplore the network of connections to other objects.
HistoryTrack changes and revisions to the object.

Properties Fields

Name
string
Name of the object.
Short Name
string
Short name of the object.
Documentation
string
Description of the object.
Connect
array
Array of port UUIDs that are connected by this interface.This field lists all the ports that participate in this interface connection. Ports from different parts can be connected through a single interface, establishing communication paths between components.Example: An interface connecting a sensor to a processor would list both the sensor’s output port and the processor’s input port.
Topology
array
Array of connection topology definitions specifying how ports are interconnected.The topology field defines the specific connection patterns between ports in the interface. Each topology entry is an array of port UUIDs that form a connection group.Structure:
[
  [@port1_uuid, @port2_uuid],      // Connection 1
  [@port3_uuid, @port4_uuid],      // Connection 2
  [@port5_uuid, @port6_uuid, ...]  // Connection N
]
Each group connects to the other based on the order of the groups. For simple linear chains, as is most common, use single uuids in each group.
The topology field provides fine-grained control over how ports are interconnected, enabling complex connection patterns. They are critical to specify how data flows and to render diagrams properly.
Attributes
object
A list of all Attribute objects owned by this interface.Attributes can define interface characteristics such as bandwidth, voltage levels, impedance, flow rates, or other performance parameters.Attribute Equations, Units and Type can be edited here, as well as recalculated and deleted entirely.Read more about Attributes
Relationships
connection
A list of all Relationships this object has with other model objects.Read more about Relationships