I seem to remember, from back in Stockholm, that the SI types were designed to allow ports to exchange simple types. If we don’t allow a single type on multiple ports then you cannot use an SI type without first wrapping it in a structure type. I’m not saying either way is correct I’m just trying to find the thread of this decision and tug until I see where it was woven into the v1 specification.
It is specified in section 2.1.2.1:
A data type can be used with an arbitrary number of different port identifiers assigned on a per-application basis, but not more than one fixed port identifier.
Not sure if the phrase “assigned on a per-application basis” is clear enough; suggestions are welcome.
EDIT: also it was discussed here: Data type compatibility assurance
I have amended the section 2.1.1.2 in my branch where I am collecting minor fixes as follows:
Port identifiers are assigned to various functions, processes, or data streams within the network
at the system definition time.
Generally, a port identifier can be selected arbitrarily by a system integrator
by changing relevant configuration parameters of connected nodes,
in which case such port identifiers are called \emph{non-fixed port identifiers}.
It is also possible to permanently associate any data type definition with a particular port identifier
at a data type definition time,
in which case such port identifiers are called \emph{fixed port identifiers};
their usage is governed by rules and regulations described in later sections.
A data type can be used with an arbitrary number of non-fixed different port identifiers,
but not more than one fixed port identifier.
1 Like