A connector can carry a runtime value over from one connectable element to another if the following three conditions are present
- Datatypes on both elements are the same or compatible (equality of value can be defined), or one is the subtype of another.
- If the elements are nested features, the owner of the nested features must exist.
- If the elements are nested properties, in this example, b1, a connector must be drawn from a3 to the port and from the port to b1 because UML does not have a concrete definition about nested properties. However, SysML does have a definition about nested properties; therefore, the connector can be drawn between nested properties without the help of any ports.
Using Port and Connector to connect nested properties.
When primitive datatypes, in this example, n and a1, are bound together, the runtime values related to the role of both connector ends must be equal (but not necessarily the same instance). If the feature value of a data type value on one end changes, the data type value on the opposite end will change as well. As a result, n must equal a1, r must equal a2, s must equal a3, and b must equal a4 as follows.
Connectors connecting primitive datatypes.
Related pages