|
|
Rank: Newbie
Joined: 7/18/2006 Posts: 6 Location: USA
|
I'm evaluating UModel 2006, working with State Machine Diagrams. I can't figure out how to specify an internal transition so that it appears inside the State icon (the rounded rectangle labeled with the state name).
Definition of an Internal Transition: An internal transition is an event/trigger that has an action associated with it but does not lead to a change of state (state transition). An internal transition may have a guard associated with it. A State may have multiple internal transitions.
Expected Notation: In UML, the notation for an internal transition follows the general syntax used for exit or entry actions, except that instad of the word "entry" or "exit", the internal transition is labeled with the triggering event (some tools will prefix the word "event" in front of the triggering event. An event/trigger may have arguments associated with it.
For example, a State with an Entry action, Internal transition, and Exit action might be shown as follows:
State1 - - - - - - - - entry/Action 1. event MyEvent1(arg1, arg2)[arg1 > 0]/Action 3 exit/Action 2
I'd appreciate any insights on this. Regards, Michael
|
|
Rank: Member
Joined: 2/6/2006 Posts: 18 Location: Vienna
|
Hi, currently UModel does not support the notation for internal transitions. As workaround, you could create a self-transition if you don't have entry or exit activities, or if you have, add a stereotype for the transition (because self-transitions would cause the entry/exit activities to be executed). I've added internal transitions on the feature request list. Thanks for posting this here.
|
|
Rank: Newbie
Joined: 7/18/2006 Posts: 6 Location: USA
|
niko wrote:Hi, currently UModel does not support the notation for internal transitions. <snip> I've added internal transitions on the feature request list. Thanks for posting this here.
Thanks for response, Niko. As a workaround, I'm using a Note to enter free-form text.
For example, in one of my composite states I document the following internal transitions by sticking a Note at the top of the inner Region. The note has the following text:
event EnterSessionRqst(AsyncResult)/AsyncResult.Fail(InvalidOp) event ExitSessionRqst(AsyncResult)/AsyncResult.Fail(InvalidOp)
This allows me to document multiple internal transitions.
Michael
|
|
|
guest |