Conjugation in SysML-1.7 is Type-based: InterfaceBlock, ~InterfaceBlock, and DirectedFeature Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 09:03: Port conjugation in SysML is now Type-based Slide kind SysML Block Definition Diagram (BDD)
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!
If you are using Blocks (not InterfaceBlocks) to Type your Ports just use "manual" feature-by feature direction inversion to achieve type conjugation (and you can even use a ~ tilde prefix)
MagicDraw/Cameo 19SP3 still supports the DEPRECATED UML Port conjugation (but it is recommended here that you DO NOT use it, even though there might be future migration for such directly conjugated Ports).
Until tool support for ~InterfaceBlock comes you have to make a decision: (1) Bake your own «~InterfaceBlock» then deal with clashes when tool support comes; (2) stick with the DEPRECATED UML conjugation (not nested-port friendly) and await migration.
Conjugation is specified by a constraint giving the features of ~InterfaceBlocks according to those of their original InterfaceBlocks ... It is expected that tools conforming to this specification automatically create features of ~InterfaceBlocks. Source OMG Systems Modeling Language (SysML) 1.6
InterfaceBlock ... for example, in flow properties are conjugated as out flow properties and provided features are conjugated as required features. Source OMG Systems Modeling Language (SysML) 1.6
The ~InterfaceBlock stereotype (shall be pronounced: "conjugated interface block") is a specialization of InterfaceBlock that has the same features as its original InterfaceBlock except that its DirectedFeatures and FlowProperties are reversed (conjugated Source OMG Systems Modeling Language (SysML) 1.6
[HISTORICAL] MagicDraw/Cameo 19SP3: Does NOT yet support ~InterfaceBlock [NOW SUPPORTED in 2024x Golden] ARCHIVAL (2023): This content is now considered historical only!
The mechanism for conjugated Ports has been changed in SysML 1.6, it now conjugates the Type! If you are using an InterfaceBlock to type a Port you can conjugate that 'original' on another Port by typing it with an ~InterfaceBlock.
Place your SysML-1.6 ~InterfaceBlock conjugation under the 'original' InterfaceBlock (i.e. make the original the containment owner).
Figure D.20 - Blocks Typing Ports in the Power Subsystem (ICE Port Type Definitions) Gallery Tutorial TRAIL: The SysML-1.6 Hybrid SUV sample and specification diagrams in MagicDraw/Cameo (with annotations) [UNDERGOING UPDATE to SysML1.7] Section Section: SysML-1.6: HSUV sample Slide kind SysML Block Definition Diagram (BDD)
SysML-1.6: Figure D.19: It's not clear why 'Port:~FuelTankFitting' (an ~InterfaceBlock conjugation port) does not match 'Port:ICEFuelFitting'
Since SysML-1.6 use of direct UML conjugation of Ports is NOT supported; If you are using InterfaceBlocks use instead a conjugated ~InterfaceBlock type!
[HISTORICAL] HOWTO easily "hack" the SysML-1.6 ~InterfaceBlock conjugation and «~interfaceBlock» keywords in MagicDraw/Cameo. [NOW SUPPORTED 2024x Golden] ARCHIVAL (2022): This content is now considered historical only!