A ProtocolClass defines messages and is the interface specification for a Port
¦¦¦
```room
// prefixes: (eventdriven, datadriven, sync)
ProtocolClass ProtocolName [“An eventdriven ProtocolClass by default”] {
usercode1 ’’‘ ’’‘
usercode2 ’’‘ ’’‘
usercode3 ’’‘ ’’‘
incoming {
Message messageName()
Message messageName(int32)
}
outgoing {
Message …
}
regular PortClass {
usercode1 ’’‘ ’’’
Attribute …
Operation …
}
conjugated PortClass {
…
}
}
ProtocolClass ProtocolName extends ProtocolSuperClassName {
// inherits all elements from super class
}
```
¦¦¦