Objecteering empowers UML2 – Examples
The state diagram is a powerful mechanism for formalizing dynamics that can express several aspects of a class. UML distinguishes protocol state machines from behavioural state machine. “Protocol” state machines have very simple semantics and can be used for most classes representing a business notion which always has several different states in its life, with these states changing due to business processes and/or the invocation of operations on the representing class.
Behavioural state machines are used for active objects, in other words, objects that respond to external events. They can express parallelism and provide a strong abstraction capacity for the behaviours associated with states.