Using the SysML 1.6 specification, it is possible to link nested part properties via a connector and a proxy port within an Internal Block Diagram (IBD). The connector can be implemented in two ways: the connector can be drawn across the boundary that encapsulates the nested part property (Figure 1) or the connector can stop at a port on the boundary and a second connector can then drawn from that port to the nested part property (Figure 2).
When is it acceptable to directly connect nested part properties? Why is it preferred to create multiple ports on the boundary?
According to Delligatti in his SysML Distilled book, "the decision to draw connectors across boundaries or stop at ports on the boundaries is a matter of judgement and should be based on knowledge of design principles". He goes on the write "...this is the object-oriented principle of encapsulation". However, it isn't really expanded upon further.
Using Magic Cyber Systems Engineer (formerly Cameo), it is possible to create both types of connections without any errors.
The SysML 1.6 specification discusses the "NestedConnectorEnd" stereotype (sec. 8.3.1.2.6) and provides an example (Figure 3). However, the example shows connectors between nested properties but without the use of ports.
Without a clear error or additional guidance, I'm not sure if and when it is appropriate to directly connect nested parts using ports in SysML.