What are Some Commons Notations Used in UML State Machine Diagram?

UML state machine diagrams use various notations to represent different elements and behaviors of the system. Some common notations used in UML state machine diagrams are:

1. States: A state is represented by a rectangle with rounded corners. The name of the state is written inside the rectangle.

2. Transitions: Transitions represent the change of state of an object in response to an event. Transitions are represented by arrows with the name of the triggering event written above the arrow.

3. Initial state: An initial state is represented by a solid black circle. It indicates the starting state of the system.

4. Final state: A final state is represented by a solid black circle with a small filled circle inside. It indicates the end state of the system.

5. Actions: Actions represent the activities that are executed when a transition occurs. Actions are represented by small rectangles with the name of the action written inside.

6. Guards: Guards represent the conditions that must be satisfied for a transition to occur. Guards are represented by square brackets containing the condition.

7. Forks and Joins: Forks represent the creation of concurrent sub-states. Joins represent the merging of concurrent sub-states.

8. Concurrent states: Concurrent states are represented by a vertical bar separating the states. They indicate that the object can be in multiple states simultaneously.

9. Hierarchical states: Hierarchical states are represented by a nested rectangle inside the main state rectangle. They indicate that the state has sub-states.

These notations are used in UML state machine diagrams to represent the behavior of a system and to help developers better understand the system's behavior.