Note that I said "reserved" where "unreserved" would have made more sense,
and despite building up for an explanation of the navigability arrow on the
association, I forgot to actually explain it... Sorry! Making these is
harder than it looks...
Summary of differences between protocol and behavioural state
diagrams
Any kind of state diagram records the qualitatively different states an
object can be in, and how events (things that happen TO the object) affect
that state.
Purpose:
A protocol state diagram is mostly for the clients of the object. It
tells them what they need to know: the protocol by which they have to
interact with the object, e.g., in what order they can send it messages.
For example, if you must send an object an initialise message before you
send it any other message, that'll be shown by the initial state having
only initialise as event on a transition out of the initial state.
A behavioural state diagram is mostly for the implementors of the object.
It tells them what they need to know to implement the object, including
what the object should do (the actions it should carry out) on each
transition.
Information: Only behavioural state diagrams can contain actions.