Webel: SysML1.7: Port contract matching is Feature-based, not Type-based. There's nothing particularly magical or special about use of an ~InterfaceBlock on a "conjugating" SysML Port, it's just a convenient way of managing one-to-one Feature matching!

Icon class
far fa-sticky-note
far fa-sticky-note
Note kind
Policy level
Specification keywords
UML keywords
SysMLv1.x keywords
Click on the image to view it full size
This topic was previously handled under this page, now considered HISTORICAL/ARCHIVAL:

Just because SysML offers something (and/or shows it in the spec), does not always mean that one MUST use it, that is a frequent misunderstanding.

CLAIM: Webel: In SysMLv1.7 contract matching of Ports across Connectors is Feature-based not Type-based. Therefore you are not obliged to always and only use an InterfaceBlock vs an ~InterfaceBlock across every Connector!

This claim by Webel IT and the example provided here based on discussions of the SysML Revision Task Force. Indications of the validity of this may be found spread throughout the SysML1.7beta1 spec, but are not clearly enough stated in one place.

DISCLAIMER: The interpretation offered here by Webel IT Australia does not officially endorsed by the OMG SysML RTF members.

The ~InterfaceBlock, may be used to type "conjugating" Ports connected across from "un-conjugated" Ports. But It's just a convenient way to achieve one-to-one feature matching; there's nothing particularly magical or special about the ~InterfaceBlock, and you don't have to always use ~InterfaceBlock or even at all.

Note also that the old UML 'isConjugated' flag is made essentially deprecated (or rather obsolete) via this constraint, so in SysML1.7 the term conjugating is informal:

The example shows one set of directed Features can be matched across a Connector by one subset of directed Features of an InterfaceBlock Mixed, and another completely separate set of directed Features across another Connector can be matched by a different subset of directed Features from the same InterfaceBlock Mixed. The InterfaceBlock Mixed is "conjugating" by directed Feature, and it is not actually a ~InterfaceBlock.

As long as all directed Features are matched all is good!
You mileage with validation of this in tools may vary greatly.
Relates to
Related notes
Related notes (backlinks)
Related snippets (extracts)
Visit also
Visit also (backlinks)