The newest version 1.3 of the SysML will be published in a few weeks. The development of the version 1.3 already finished last year and we currently work on the next version 1.4. I’ll report on the work for the 1.4 version in a separate post in the near future.
Typically the dot versions of SysML contain only minor changes. Anyhow the SysML 1.3 comes with many changes in the area of ports. The basic concept is still the same. There are “normal” ports to provide and request features and there are flow ports to specify the flow of things inside and outside of a block. New is the implementation of the concept and the concepts of proxy and nested ports. I give you a short summary of the main changes of the port concept that are relevant for the user.
The flow specification is deprecated in SysML 1.3. Instead a block could have flow properties to specify the items that could flow between a block and its environment. A block could also have provided and requested features, i.e. operations and properties. Using provided and requested operations makes the standard UML interface element and the irritating ball and socket notation superfluous. The block with flow properties or provided and requested features is the type of a port.
The feature of nested ports could already be used with some SysML modeling tools before SysML 1.3. For example see the model of the INCOSE MBSE Challenge Team at http://mbse.gfse.de. It is conform to the syntax of SysML. However the specification doesn’t explicitly allows nested ports and says nothing about the semantics. In SysML 1.3 nested ports are a official feature of SysML.
If the block that types a port has itself ports, you get nested ports. In the example the block CSPort has itself two ports to specify electrical and mechanical connections.
A proxy port exposes internal features of a block. The port itself doesn’t own the features. Typically ports at the system border are flow ports. The system block is virtual element. The real elements of the system are the parts of the system block. A port to provide or request power at the system border is a proxy for the real port somewhere inside the system.