UML Protocol State Machines
- always defined in the context of a classifier (e.g. a class or interface)
- specifies which operations of the classifier can be called in
which state and under which condition
- states of protocol state machine cannot have entry, do and exit behaviors
- protocol state machines cannot have history and deep history pseudo states
- transitions of protocol state machines cannot have effects
- transitions have
[precondition]trigger/[postcondition]
:
- classifier operations not represented in a protocol state machine
do not have an impact on state
- protocol conformance defined explicitly via
ProtocolConformance
(specific state machine, general
state machine tuple)