20.19.  Deep History

Deep History is a pseudostate (see Section 20.11, “ Pseudostate) that can remember the last state of its container that was active. The history pseudostate points to its default state with a transition arrow just like the initial pseudostate does. This transition points to the substate that will become active when there is no history. When the container composite state has been active before (i.e., when there is history), the substate that was active when the container state was exited, becomes active again.

When placed within a multi-level hierarchy of composite states, the deep history remembers the history for all states recursively which are contained in the history pseudostate container. It does restore any substates no matter how deep in the hierarchy.

A deep history is represented on the diagram as a circle containing the symbols H*.