SysML v2 Deep Dive: Lesson 10 - Stop treating connections like empty diagram lines (interface def)
Hi r/systems_engineering,
We are back with Lesson 10 of our technical deep dive into SysML v2.
In our previous lesson, we looked at conjugation (~) and how it mathematically reverses an endpoint's directed features. Today, we are shifting our focus from the endpoints to the connection itself. I’ve uploaded the full video lesson directly here so you don’t have to leave Reddit.
1. The Problem with Connections in V1
When modeling a physical connection—like a charging cable, a data bus, or a fluid pipe—the connection is rarely just a decorative line on a diagram. It has its own physical properties like length, resistance, latency, and thermal limits.
In SysML v1, if you wanted a connection to have its own physical properties or internal structure, you usually had to type the connector with a specialized construct known as an Association Block. Because this felt cumbersome, many modelers just left connections as visual lines and hid the physical properties in comments or external spreadsheets.
2. The Solution: Interfaces as Specialized Parts
SysML v2 makes the physical nature of connections native to the language using interface def.
According to the v2 specification, an interface def is a connection definition specifically restricted to connecting ports. But here is the most important part: mathematically, an interface definition is a specialized part def. Because it is structurally a part under the hood, the connection itself can natively hold its own values, physical properties, and internal components over its lifetime. It turns the "wire" into a first-class engineered component in your model.
3. Typed Ends and Automated Validation
An interface definition acts as a reusable blueprint. Inside the interface, you define the compatible port ends.
For example, a ChargingInterface might require the "charger" side to be typed by a normal ChargingPort, and the "vehicle" side to be typed by a conjugated ~ChargingPort.
Because the interface explicitly declares its compatible ends, the model becomes mathematically rigorous. If someone tries to use this interface to connect two vehicle sockets or two charger plugs, a compliant v2 tool can automatically reject or warn about the invalid pairing.
4. V1 vs. V2 Interface Definitions Cheat Sheet
| Concept | SysML v1 | SysML v2 |
|---|---|---|
| Connection Nature | Often treated mainly as a diagram line, unless the modeler added extra structure via an Association Block. | The connection's structural definition is handled natively with interface def. |
| Mathematical Underpinnings | Relied on specialized Association Block constructs to add physical properties. | Every interface definition is a specialized part def, giving it structural parity with regular components. |
| Engineering Data | Cable characteristics were often hidden in comments, constraints, or external tools. | Characteristics (resistance, latency, etc.) are carried directly as attributes of the relationship. |