In an UML 2.5 State Machine, how can I model sending a Signal as an effect on a transition in a convenient way?
In one of the older UML versions you simply prefixed the name of the signal with a
send keyword in the effect part of the transition specification, like:
response [buffer.size>N] / send request
But in UML 2.5 the effect must be a Behavior, either an Activity, Function, Interaction, ProtocolStatemachine, StateMachine or Opaque (just uninterpreted text). Which makes authoring a communication protocol state machine very cumbersome. Let alone using it to design in it.
I think I have collected virtually all available books about this subject and if there is a convenient way to do it, it uses a descendent of Telelogic's Tau (Either IBM Rational Rose UML/SDL family or Rhapsody, I'm not sure) which is essentially derived from the ITU SDL 2000 specification method. But I'ld like to stay close to UML 2.5 as possible.
Further more I know that the ITU has mandated the development of a UML profile to facilitate the transition from SDL to UML, but this aspect wasn't clearly addressed.
Aside: In the terminology of UML 2.5 there is an important, albeit, implicit distinction between a "protocol" and a "communication protocol". UML explicitly states that a "protocol" is the way the operations of a class are (supposed) to be used. Which leaves a "communications protocol" implicitly to be the prescription on how to communication between entities. (end of aside)