States

A state is a condition or situation in the life of an object during which it satisfies a condition, performs an activity, or waits for an event. They are rendered in State Machine diagrams.

Types

Simple States

  • Name - Name of the state.

  • Owner - Name of the element logically one level higher. For a state, this is always a region.

  • Submachine - A simple state cannot have submachines. Selecting a submachine from this list will convert the simple state to a submachine state.

  • Stereotypes - List of stereotypes applied to the state.

  • Entry-Activity - Activity to be invoked upon entry to the state.

  • Do-Activity - Activity to be invoked after the Entry Activity has completed.

  • Exit-Activity - Activity to be invoked before the state is exited.

  • Regions - A simple state cannot have regions. Adding a region to a simple state will convert the simple state to a composite state.

  • Internal Transitions - Activities that do not change the state of the object and therefore do not invoke the entry, do, or exit activities. Use the 'Add' and 'Delete' buttons to create and delete new internal transitions.

  • Incoming Transitions - Transitions that allow entrance to this state.

  • Outgoing Transitions - Transitions that exit this state.

Composite States

  • Name - Name of the state.

  • Owner - Name of the element logically one level higher. For a state, this is always a region.

  • Stereotypes - List of stereotypes applied to the state.

  • Entry-Activity - Activity to be invoked upon entry the state.

  • Do-Activity - Activity to be invoked after the Entry Activity has completed.

  • Exit-Activity - Activity to be invoked before the state is exited.

  • Regions - Name of the region. A composite state has exactly one region - removing the region will convert the state to a simple state; adding a region will convert the state to an orthogonal state.

  • Internal Transitions - Activities that do not change the state of the object and therefore do not invoke the entry, do, or exit activities. Use the 'Add' and 'Delete' buttons to create and delete new internal transitions.

  • Incoming Transitions - Transitions that allow entrance to this state.

  • Outgoing Transitions - Transitions that exit this state.

Orthogonal States

  • Name - Name of the state.

  • Owner - The name of the element logically one level higher. For a state, this is always a region.

  • Stereotypes - List of stereotypes applied to the state.

  • Entry-Activity - Activity to be invoked upon entry the state.

  • Do-Activity - Activity to be invoked after the Entry Activity has completed.

  • Exit-Activity - Activity to be invoked before the state is exited.

  • Regions - The names of the regions for this state. Orthogonal states must have more than one region - removing regions until there is only one region remaining will convert the orthogonal state to a composite state.

  • Internal Transitions - Activities that do not change the state of the object and therefore do not invoke the entry, do, or exit activities. Use the 'Add' and 'Delete' buttons to create and delete new internal transitions.

  • Incoming Transitions - Transitions that allow entrance to this state.

  • Outgoing Transitions - Transitions that exit this state.

Submachine States

  • Name - Name of the state.

  • Owner - The name of the element logically one level higher. For a state, this is always a region.

  • Submachine - The name of the associated state machine. A submachine state must have an associated state machine - if the option <none> is selected from the dropdown list, the connection to the state machine will be broken, and the submachine state will convert to a simple state.

  • Stereotypes - List of stereotypes applied to the state.

  • Entry-Activity - Activity to be invoked upon entry the state.

  • Do-Activity - Activity to be invoked after the Entry Activity has completed.

  • Exit-Activity - Activity to be invoked before the state is exited.

  • Entry-Point - Name(s) of any entry point state(s) in the associated state machine. With the checkbox enabled, a reference to the entry point is displayed on the edge of the submachine state.

  • Exit-Point - Name(s) of any exit point state(s) in the associated state machine. With the checkbox enabled, a reference to the exit point is displayed on the edge of the submachine state.

  • Internal Transitions - Activities that do not change the state of the object and therefore do not invoke the entry, do, or exit activities. Use the 'Add' and 'Delete' buttons to create and delete new internal transitions.

  • Incoming Transitions - Transitions that allow entrance to this state.

  • Outgoing Transitions - Transitions that exit this state.

Additional States (Pseudostates)

This category of states includes Initial, Final, Terminate, Choice, Junction, Fork, Join, and History pseudostates.

  • Name - Name of the state.

  • Owner - Name of the element logically one level higher. For a state, this is always a region.

  • Stereotypes - List of stereotypes applied to the state.

  • Incoming Transitions - Transitions that allow entrance to this state. Initial states cannot have incoming transitions.

  • Outgoing Transitions - Transitions that exit this state. Final and Terminate states cannot have outgoing transitions.

Regions

Entry and Exit Points

Entry and Exit Points

  • Name - Name of the state.

  • Owner - Name of the element logically one level higher. For a state, this should always be a region.

  • Stereotypes - List of stereotypes applied to the state.

  • Submachine States - List of submachine states that have enabled the entry and/or exit point reference display checkbox for this entry/exit point. See and .

  • Incoming Transitions - Transitions that allow entrance to this state. Exit points can only have incoming transitions.

  • Outgoing Transitions - Transitions that exit this state. Entry points can only have outgoing transitions.

Entry and Exit Point References

Entry and exit point references are notations in a submachine state that correspond to the actual entry and exit points of the associated state machine.

  • Entry-Point/Exit-Point - Name of the entry/exit point in the associated state machine.

  • Submachine State - Name of the associated state machine.

  • Stereotypes - Stereotypes applied to this reference. Stereotypes applied here do not apply to the entry/exit point itself.

  • Incoming Transitions - Transitions that allow entrance to this state. Entry point references can only have incoming transitions.

  • Outgoing Transitions - Transitions that exit this state. Exit point references can only have outgoing transitions.

Transitions

Between States

  • Name - Name of the transition.

  • Owner - Name of the element logically one level higher. For a transition, this is always a region.

  • Kind - Indicates whether a transition is external or local. This option does not appear for internal transitions, which can only be added via the target state's Property panel.

  • Stereotypes - List of stereotypes applied to the transition.

  • Trigger - Name of the event whose occurrence makes a transition eligible to fire.

  • Guard - Name of the boolean expression that must be satisfied in order for the transition to fire.

  • Effect - Name of an optional activity to be performed during the transition.

  • Source - The originating state of the transition.

  • Target - The destination state of the transition.

Internal Transitions

Internal transition activities do not change the state of the object and therefore do not invoke the entry, do, or exit activities. They are only accessible from the owning state, including for their creation and deletion. See the Section called States.

Activities, Triggers, and Guards

Activities

  • Name - Name of the action.

  • Stereotypes - List of stereotypes applied to the action.

  • Expression - Syntax that will be completed during the action.

  • Language - Indicates in which language the expression has been written. This can be anything, including plain English.

Trigger

  • Name - Name of the trigger.

  • Stereotypes - List of stereotypes applied to the trigger.

  • Operation - Dropdown list with the available operations for the trigger. These are the operations of the owning BehavioredClassifier, the inherited operations of any superclasses, or operations of an implemented interface.

Guard

Note that entry and exit actions may not have guard conditions as they are invoked implicitly, not explicitly.

  • Name - Name of the guard.

  • Stereotypes - List of stereotypes applied to the guard.

  • Expression - A procedural expression that is executed if and when the transition fires

  • Language - Indicates in which language the expression has been written. This can be anything, including plain English.