UML State Machine Diagram Examples
Here we provide several examples of state machine diagrams:
Purpose: An example of water phase diagram represented as UML state machine diagram.
Summary: Water can exist in several states - liquid, vapor, solid, and plasma. Several transitions are possible from one state to another.
Purpose: An example of UML behavioral state machine diagram describing Bank Automated Teller Machine (ATM) top level state machine.
Summary: ATM is initially turned off. After the power is turned on, ATM performs startup action and enters Self Test state. If the test fails, ATM goes into Out of Service state, otherwise there is triggerless transition to the Idle state. In this state ATM waits for customer interaction.
Summary: Every company having customers maintains customer accounts and supports a complete life cycle of the account from its creation until it is closed. There are differences in what are the stages (states) in the account's life cycle, and what are conditions or events causing account to change its state.
Purpose: An example of UML protocol state machine diagram showing thread states and thread life cycle for the Thread class in Java™ 6.
Summary: Thread is a lightweight process, the smallest unit of scheduled execution. Instance of the Thread class in Java 6 could be in one of the following states: new, runnable, timed waiting, waiting, blocked, terminated.
Purpose: Life cycle of an EJB session object is shown from the point of view of a local or remote client using the EJB 2.1 and earlier client view API.
Summary: A session object does not exist until it is created. When a client creates a session object, the client has a reference to the newly created session object’s component interface.
Purpose: An example of UML protocol state machine diagram for DICOM Application Hosting API. The Application Hosting API describes interfaces between two software applications - Hosting System and Hosted Application, exchanging medical data while located on the same system.
Summary: Hosting system initializes hosted application by issuing a run or exec command or its equivalent. Once the hosted application is initialized, for the normal workflow its state transitions through Idle, InProgress, and Completed states. In some cases application could be Suspended or even Canceled.