A ProtocolClass defines a set of incoming and outgoing messages that can be exchanged between two ports. The exact semantics of a message is defined by the execution model.
ProtocolClasses have only textual notation. The example defines a ProtocolClass with 2 incoming and two outgoing messages. Messages can have data attached. The data can be of a primitive type (e.g. int32, float64, ...) or a DataClass.