State Transition Diagram
Shows the dynamic behavior of classes
The state of an object represents the cumulative results of its behavior.
At any givn point in time, the state of an object encompasses all of its
properties (the object's attributes and relationships) and the values of each
of these properties.
The ability to nest states gives depth to state transition diagrams.
A state transition diagram is used to show the state space of a
given class, the events (messages) that trigger a transition from one
state to another, and the actions that result from a state change.
The notation is borrowed from Harel.
Harel, D. 1987.
Statecharts: A Visual Formalism for Complex Systems. Science of Computer
Programming vol. 8.
As previously said, actions may be associated with states.
In particular one may specify actions to be carried out upon entry or exit
of a state.
- State icon:
A (unique) name is required for each state; for certain states it could be
useful to indicate some of the actions associated with:
The state goes into his lastly assumed state upon entry.
This is indicated with adorning the state icon with:
State transitions to and from substates are represented with a stubbed
Each state transition connects two states. A state may have transition to
itself, and many transition can depart from the same state, although each
transition must be unique, i.e. there cannot be any circumstance (event)
able to trigger more than one state transition from the same state.
In every state transition diagram there must be exactly one default start
state, which is designated by writing a transition from a filled circle.
It is also possible to designate a stop state by drawing a transition to a
filled circle within a larger unfilled circle (not shown in the example).
Last modification: 29 January 2001
Last significant update: 26 April 1996