0% found this document useful (0 votes)
24 views12 pages

05.5 State Diagram

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views12 pages

05.5 State Diagram

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

UML

State Machine Diagrams


aka
State Diagram
State Machine Diagrams
• A state machine diagram models the behavior of a single object,system
specifying the sequence of events that an object goes through during its
lifetime in response to events.

• Shows Different states of an system / sub system / object

• States changes based on triggered events

• Events are from Internal or external environment


State Machine Diagrams
• The door can be in one of three states: "Opened", "Closed" or "Locked". It can respond to the
events Open, Close, Lock and Unlock. Notice that not all events are valid in all states; for example,
if a door is opened, you cannot lock it until you close it. Also notice that a state transition can
have a guard condition attached: if the door is Opened, it can only respond to the Close event if
the condition
• doorWay->isEmpty is fulfilled. The syntax and conventions used in state machine diagrams will be
discussed in full in the following sections.
State Machine Diagrams
• States - A state is denoted by a round-cornered rectangle with the name
of the state written inside it.

• Initial and Final States - The initial state is denoted by a filled black circle
and may be labeled with a name. The final state is denoted by a circle with
a dot inside and may also be labeled with a name.
State Machine Diagrams
• Transitions - Transitions from one state to the next are denoted by lines
with arrowheads. A transition may have a trigger, a guard and an effect, as
below.
• Self-Transitions - A state can have a transition that returns to itself, as in
the following diagram. This is most useful when an effect is associated
with the transition.

• "Trigger" is the cause of the transition, which could be a signal, an event, a


change in some condition, or the passage of time. "Guard" is a condition
which must be true in order for the trigger to cause the transition. "Effect"
is an action which will be invoked directly on the object that owns the
state machine as a result of the transition.
State Machine Diagrams
• State Actions - In the transition example above, an effect was associated
with the transition. If the target state had many transitions arriving at it,
and each transition had the same effect associated with it, it would be
better to associate the effect with the target state rather than the
transitions. This can be done by defining an entry action for the state. The
diagram below shows a state with an entry action and an exit action.

• It is also possible to define actions that occur on events, or actions that


always occur. It is possible to define any number of actions of each type.
State Machine Diagrams
• Compound States - A state machine diagram may include sub-machine
diagrams, as in the example below.

Alternative way to
show the same
information
•The ∞ symbol indicates that details of the Check PIN
sub-machine are shown in a separate diagram.
State Machine Diagrams
• Entry Point - Sometimes you won’t want to enter a sub-machine at the
normal initial state. For example, in the following sub-machine it would be
normal to begin in the "Initializing" state, but if for some reason it wasn’t
necessary to perform the initialization, it would be possible to begin in the
"Ready" state by transitioning to the named entry point.

• Exit Point - In a similar manner to entry points, it is possible to have


named alternative exit points. The following diagram gives an example
where the state executed after the main processing state depends on
which route is used to transition out of the state.
State Machine Diagrams
• Choice Pseudo-State - A choice pseudo-state is shown as a diamond with
one transition arriving and two or more transitions leaving. The following
diagram shows that whichever state is arrived at, after the choice pseudo-
state, is dependent on the message format selected during execution of
the previous state.
State Machine Diagrams
• Junction Pseudo-State - Junction pseudo-states are used to chain together
multiple transitions. A single junction can have one or more incoming, and one
or more outgoing, transitions; a guard can be applied to each transition.
Junctions are semantic-free. A junction which splits an incoming transition into
multiple outgoing transitions realizes a static conditional branch, as opposed
to a choice pseudo-state which realizes a dynamic conditional branch.
State Machine Diagrams
• Terminate Pseudo-State - Entering a terminate pseudo-state indicates that
the lifeline of the state machine has ended. A terminate pseudo-state is
notated as a cross.

• History States - A history state is used to remember the previous state of a


state machine when it was interrupted. The following diagram illustrates
the use of history states. The example is a state machine belonging to a
washing machine.

You might also like