Features that are not denoted as a DirectedFeature are implicitly provided features. As such they can be matched against a corresponding required feature. Source OMG Systems Modeling Language (SysML) 1.7beta1
A providedRequired feature specifies a symmetric dependency between two connected blocks whereby a block’s internal use of such a feature is delegated to the connected block with the corresponding feature and conversely that block’s internal use of ... Source OMG Systems Modeling Language (SysML) 1.7beta1
A DirectedFeature indicates whether the feature is supported by the owning block (provided) for other connected blocks to use, or is to be supported by a connected block for the owning block to use (required), or both (providedRequired). Source OMG Systems Modeling Language (SysML) 1.7beta1
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!
REFERENCE CARD: Property cheat-sheet for Block Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 08:01: The building Blocks of SysML Slide kind SysML Block Definition Diagram (BDD)
REFERENCE CARD: Types of Block Properties and Block compartments Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 08:01: The building Blocks of SysML Slide kind SysML Block Definition Diagram (BDD)
ExampleBlock in a Block Definition Diagram (BDD) Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 08:01: The building Blocks of SysML Slide kind SysML Block Definition Diagram (BDD)
MagicDraw/Cameo 19SP3: Does not yet handle Property-wise Type compatibility validation of FlowProperty contracts (it only handles them at the level of entire Block types). Webel asserts the spec is inconsistent w.r.t. ProxyPort connection compatibility.
UML provided/required Interfaces vs SysML DirectedFeatures on Ports Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 09:04: Ports and contracts Slide kind hybrid diagram SysML Block Definition Diagram (BDD) SysML Internal Block Diagram (IBD)
Hybrid SUV example: provided/required DirectedFeatures (Internal Definition Diagram) Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 09:04: Ports and contracts Slide kind SysML Block Definition Diagram (BDD)
Hybrid SUV example: provided/required DirectedFeatures (Block Definition Diagram) Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 09:04: Ports and contracts Slide kind SysML Block Definition Diagram (BDD)
For example, a block might provide particular services to other blocks as operations, or have a particular geometry accessible to other block, or it might require services and geometries of other blocks. Source OMG Systems Modeling Language (SysML) 1.6
Required and provided features are operations, receptions, and non-flow properties that a block supports for other blocks to use, or requires other blocks to support for its own use, or both. Source OMG Systems Modeling Language (SysML) 1.6
Directed features can appear in compartments for the various kinds of properties and behavioral features. Source OMG Systems Modeling Language (SysML) 1.6
A DirectedFeature has the same notation as other non-flow properties and behavioral features with a feature direction prefix (prov | reqd | provreqd), which corresponds to one the FeatureDirectionKind literals “provided,” “required,” and “providedrequired Source OMG Systems Modeling Language (SysML) 1.7beta1
Provided behavioral features are invoked with the owning block as target, while required behavioral features are invoked with an external block as target (required). Source OMG Systems Modeling Language (SysML) 1.6
Provided non-flow properties are read and written on the owning block, while required non-flow properties are read or written on an external block Source OMG Systems Modeling Language (SysML) 1.6
Using non-flow properties means to read or write them, and using behavioral features means to invoke them. Source OMG Systems Modeling Language (SysML) 1.6
(the owning block for features on types of proxy ports is the type of the block usage the proxy port is standing in for, which might be an internal part). Source OMG Systems Modeling Language (SysML) 1.6
[SysML1.6: PREFER SysML1.7] A DirectedFeature indicates whether the feature is supported by the owning block (provided), or is to be supported by other blocks for the owning block to use (required), or both ... Source OMG Systems Modeling Language (SysML) 1.6
Avoid mixing flow properties on the Type of a Port with directed features (operations and values); One distinguishes between "ports with flows" and "contract ports".
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
In general, the SysML DirectedFeature approach is more powerful and the notation is cleaner than UML provided/required Interfaces. Prefer SysML DirectedFeatures unless you have a really good reason to use Interfaces!
Provided/required Interface "lollipop" and "socket" (a.k.a. ball-and-socket) notation can quickly lead to clutter in UML Composite Structure Diagrams and SysML Internal Block Diagrams. SysML provided/required DirectedFeature notation is cleaner.
SysML-1.6: 'Figure 9-6: Usage example of ports with provided and required features' does not expose any directed features. It would be more instructive if the ports on the diagram used the capability to show the underlying directed features of the blocks
Figure 9-6: Usage example of ports with provided and required features 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 specification diagrams: 09 Ports and Flows Slide kind SysML Internal Block Diagram (IBD)
Figure 9-4: Provided and Required Features 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 specification diagrams: 09 Ports and Flows Slide kind UML Profile Diagram
MagicDraw/Cameo 19SP3: Does not yet handle Feature-wise validation of provided/required DirectedFeature contracts (it only handles them at the level of entire Block types). Webel asserts the spec is inconsistent w.r.t. ProxyPort connection compatibility.