Return to UML-B
State machines may be attached to classes, to states of another statemachine or simply at the Machine level. The transitions of a state machine represent events with the additional behaviour associated with the change of state defined by the transition. That is, the event can only occur when the instance is in the source state and, when it fires, the instance changes to the target state. Hence the state machine also models a class variable similar to an attribute. Additional guards and actions can be attached to the transition.
Statemachine diagrams can also be animated using the ProB tool and a special animation plug-in. Here you can find more information about it.