|Previous||UML Classes||Table of Contents||UML Packages||Next|
TransitionKind is an enumeration type.
TransitionKind is an enumeration of the following literal values:
No additional attributes
No additional associations
Issue 8444 -add OCL for the constraints
 The source state of a transition with transition kind local must be a composite state.
context Transition inv: (kind = TransitionKind ::local) implies (source.oclIsKindOf (State) and source.isComposite)
 The source state of a transition with transition kind external must be a composite state.
context Transition inv: (kind = TransitionKind ::external) implies (source.oclIsKindOf (State) and source.isComposite)
Issue 8444 -‘occurs’ instead of ‘occur’; ‘state’ instead of ‘stat’
• kind=internal implies that the transition, if triggered, occurs without exiting or entering the source state. Thus, it does not cause a state change. This means that the entry or exit condition of the source state will not be invoked. An internal transition can be taken even if the state machine is in one or more regions nested within this state.
• kind=local implies that the transition, if triggered, will not exit the composite (source) state, but it will apply to any state within the composite state, and these will be exited and entered.
• kind=external implies that the transition, if triggered, will exit the composite (source) state.
• Transitions of kind local will be on the inside of the frame of the composite state, leaving the border of the composite state and end at a vertex inside the composite state. Alternatively a transition of kind local can be shown as a transition leaving a state symbol containing the text *. The transition is then considered to belong to the enclosing composite state.
• Transitions of kind external will leave the border of the composite state and end at either a vertex outside the composite state or the composite state itself.
Changes from previous UML
The semantics implied by local is new.