Port kinds

A port kind characterizes a port. Simple examples of port kinds are (1) the UseInterface and ProvideInterface kinds which describe client/server ports and (2) PushPublisher which describe a data publisher port for a given data type. In the first case, the port is typed with the interface that is provided or required, in the second case, the port is typed with datatype.

Although it does not formally define its semantics, each port kind should be associated with a description of the intention behind it. A port kind is always associated with a mapping rule that describes which interface a port provides and/or requires when in function of its type (and/or additional information, e.g. coming from a MARTE stereotype). On the model level, a port kind is first a stereotyped class. In Qompass, the associated mapping rule is defined defined by means of Java code. but this is mainly an implementation issue. Examples can be found in the plug-in org.eclipse.papyrus.qompass.designer.stdmappingRules.