20.2.  State

A state models a situation during which some (usually implicit) invariant condition holds for the parent class. This invariant may be a static situation such as an object waiting for some external event to occur, or some dynamic activity “in progress”.

A state is represented on a statechart diagram in ArgoUML as a rectangle with rounded corners, with a horizontal line separating the name at the top from the description of the behavior below. The description of the behavior includes the entry and exit actions and any internal transitions.

20.2.1.  State Details Tabs

The details tabs that are active for states are as follows.

ToDoItem

Standard tab.

Properties

See Section 20.2.2, “ State Property Toolbar and Section 20.2.3, “ Property Fields For State below.

Documentation

Standard tab.

Presentation

Standard tab. The values for the bounds of the state define the bounding box of the state.

Stereotype

Standard tab.

Tagged Values

Standard tab.

20.2.2.  State Property Toolbar

Go up

Navigate up through the package structure.

New Stereotype

This creates a new Stereotype (see Section 16.6, “ Stereotype) for the selected state, navigating immediately to the properties tab for that stereotype.

Delete

This deletes the state from the model

[Note]Note

This is a deletion from the model, not just the diagram. You can not just remove a state from the diagram, and keep it within the model, as is possible in other diagrams.

20.2.3.  Property Fields For State

Name

Text box. The name of the state. By convention state names start with a lower case letter and use bumpy caps to divide words within the name.

[Note]Note

ArgoUML does not enforce this naming convention.

Container

Text box. Shows the container of the state. This is the state hierarchy.

Button 1 double click on the entry will navigate to the composite state that contains this state. All states are at least contained by the otherwise hidden top-level state (named “top”) that is the root of the state containment hierarchy.

Entry-Action

Text box. Shows the name of the action (if any) to be executed on entry to this state.

[Note]Note

This field shows the name of the action, while on the diagram the expression of the action is shown.

Button 1 double-click navigates to the selected entry, button 2 gives a pop up menu with two entries:

  • New. Add a new Entry action of a certain kind. This menu has the following submenus to select the kind of action: Call Action, Create Action, Destroy Action, Return Action, Send Action, Terminate Action, Uninterpreted Action.

  • Delete From Model. Delete the Entry-Action.

Exit-Action

Text box. Shows the action (if any) to be executed on exit from this state.

Button 1 click navigates to the selected action, button 2 gives a pop up menu with two entries.

  • New. Add a new Exit action of a certain kind. This menu has the following submenus to select the kind of action: Call Action, Create Action, Destroy Action, Return Action, Send Action, Terminate Action, Uninterpreted Action.

  • Delete From Model. Delete the Exit-Action.

Do-Activity

Text box. Shows the action (if any) to be executed while being in this state.

Button 1 click navigates to the selected action, button 2 gives a pop up menu with two entries.

  • New. Add a new Do-Activity (action) of a certain kind. This menu has the following submenus to select the kind of action: Call Action, Create Action, Destroy Action, Return Action, Send Action, Terminate Action, Uninterpreted Action.

  • Delete From Model. Delete the Do-Activity.

Deferrable Events

Text box. Shows a list of events that are candidates to be retained by the state machine if they trigger no transitions out of the state (not consumed).

Button 1 click navigates to the selected event, button 2 on an event gives a pop up menu with the following entries.

  • Select. Allows to add already existing events to the list of deferred ones.

  • New. Add a new event of a certain kind. This menu has the following submenus to select the kind of event: Call Event, Change Event, Signal Event, Time Event.

  • Delete From Model. Delete the event.

Incoming

Text area. Lists all the transitions that enter this state.

Button 1 double click navigates to the selected entry.

Outgoing

Text area. Lists all the transitions that leave this state.

Button 1 double click navigates to the selected action.

Internal Transitions

Text area. Lists all the internal transitions of the state. Such transitions neither exit nor enter the state, so they do not cause a state change. Which means that the Entry and Exit actions are not invoked.

[Note]Note

This field shows the name of the transition, while on the diagram the name of the trigger is shown, separated with a / from the effect script.

Button 1 double-click navigates to the selected transition, button 2 gives a pop up menu with one entry.

  • New. Add a new internal transition.