Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
State machine diagrams capture the behavior of a software system. State machines can be used to model the behavior of a class, subsystem, or entire application. They also provide an excellent way of modeling communications that occur with external entities via a protocol or event-based system.
UML has two types of state machines: