In UML modeling, a pseudostate is used to combine and direct transitions.
Pseudostate type | Description | Icon |
---|---|---|
Initial | Placed within a region to identify the starting state when a transition targets the boundary of a composite state. One or more transitions from the initial state each target a starting state. When more than one transition originates from the initial state, the starting state is determined by the evaluation of the guard condition of each transition. | ![]() |
Choice | Receives a single incoming transition and outputs two transitions each with a guard condition, one of which is true. | ![]() |
Junction | Used between two or more fragments of a transition that each have a distinct entry or exit actions. | ![]() |
Deep history | A transition to the deep history state within a composite state, invokes the state that was active, immediately before the most recent exit of the composite state. The last active state can be nested at any depth. A transition must have taken the last active state directly out of the composite state. | ![]() |
Shallow history | A transition to the shallow history state in a composite state invokes the last state that was active, at the same depth as the history state itself, prior to the most recent exit of the composite state. | ![]() |
Join | Receives two or more incoming transitions that meet to form one outgoing transition. Each incoming transition to the join pseudostate must originate from a different region of an orthogonal state. | ![]() |
Fork | Receives one incoming transition that splits into two or more outgoing transitions. Each outgoing transition from the join pseudostate must target a state in a different region of an orthogonal state. | ![]() |
Entry point | Placed on the boundary or in a region of a state machine or composite state with a single outgoing transition to a substate. Used when there are multiple ways to enter a state and there is no single default substate for the transition to target. | ![]() |
Exit point | Placed on the boundary or in a region of a state machine or composite state with a single incoming transition from a substate. Used when there are multiple ways to exit a state. Each exit point can be the source of an external transition. | ![]() |
Terminate | Identifies the end of the execution of a state machine. | ![]() |