Hi,
I checked a bit closer what Papyrus supports regarding protocol state machines. And from what I can see there is no specific support, at least not any specific diagram type, with a specific tool palette, for protocol state machines. And the ordinary state machine diagam only have a tool for ordinary Transitions, not ProtocolTransitions. You can create ProtocolTransitions in the model explorer, but it is a real pain since you have to manually select source and target.
So if we are going to support it, I have a bad feeling that we need to spend quite some time on improving the tooling for editing of the protocol state machines.
Also I was wondering if and how the refers_to_operation constraint will work in the context of UML-RT. I assume that the protocol state-machine will be owned by the protocol collaboration, right? So the context for the protocol state machine will be the collaboration. But if understand the constraint correctly (unfortunately my OCL knowledge is a bit limited), then the operation of the call event used as the trigger of the protocol transition, must be a feature of the collaboration itself. Since the operations are actually in the three interfaces, which the collaboration either realizes or uses, will this then work as intended?
refers_to_operation
If a ProtocolTransition refers to an Operation (i.e., has a CallEvent trigger corresponding to an Operation), then that Operation should apply to the context Classifier of the StateMachine of the ProtocolTransition.
inv: if (referred()->notEmpty() and containingStateMachine()._'context'->notEmpty()) then
containingStateMachine()._'context'.oclAsType(BehavioredClassifier).allFeatures()->includesAll(referred())
else true endif
/Peter Cigéhn