|'internal' vs 'local' transitions [message #1777014]
||Thu, 23 November 2017 15:35
| Juergen Dingel
Registered: January 2015
Good morning, |
the 'Properties' view of a transition contains buttons for 'internal', 'local', and 'external' kinds.
Assuming the transition is inside a composite state s, my understanding is that a 'local' transition t
- has s as source and target (i.e., it is a self transition), and
- does not leave s, i.e., entry/exit of s are not executed, and
- can be taken from any (direct) substate in s (since its source is a composite state), and
- upon completion, reactivates the substate that was active right before t was taken (i.e., implicit return to (deep) history).
What is an 'internal' transition?
As usual, 'thank you'!
|Re: 'internal' vs 'local' transitions [message #1777027 is a reply to message #1777014]
||Thu, 23 November 2017 16:34
| Ernesto Posse
Registered: March 2011
I think you have it backwards. What you are calling 'local' is internal and viceversa. From the UML 2.5 spec (formal-15-03-01, p. 312) |
Transition kinds relative to source
The semantics of a Transition depend on its relationship to its source Vertex. Three different possibilities are defined, depending on the value of the Transition's kind attribute:
- kind = external means that the Transition exits its source Vertex. If the Vertex is a State, then executing this Transition will result in the execution of any associated exit Behavior of that State.
- kind = local is the opposite of external, meaning that the Transition does not exit its containing State (and, hence, the exit Behavior of the containing State will not be executed). However, for local Transitions the target Vertex must be different from its source Vertex. A local Transition can only exist within a composite State.
- kind = internal is a special case of a local Transition that is a self-transition (i.e., with the same source and target States), such that the State is never exited (and, thus, not re-entered), which means that no exit or entry Behaviors are executed when this Transition is executed. This kind of Transition can only be defined if the source Vertex is a State.
[Updated on: Thu, 23 November 2017 16:45]
Report message to a moderator
Powered by FUDForum
. Page generated in 0.02273 seconds