19.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.

19.2.1. State Details Tabs

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

ToDoItem

Standard tab.

Properties

See Section 19.2.2, “State Property Toolbar” and Section 19.2.3, “Property Fields For State” below.

Documentation

Standard tab.

Style

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

[Caution]Caution

The Shadow field has no effect— in the V0.14 release of ArgoUML. There are no shadow effects provided for states on the diagram.

Source

Standard tab, containing just the name of the state.

[Note]Note

In the fullness of time this tab will contain code to implement the state (code for actions will be associated with the particular actions). This is not implemented in the current release of ArgoUML.

Constraints

Standard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.

Tagged Values

Standard tab. In the UML metamodel, State has the following standard tagged values defined.

  • derived (from the superclass, ModelElement). Values true, meaning the state is redundant—it can be formally derived from other elements, or false meaning it cannot.

    [Note]Note

    Derived states still have their value in analysis to introduce useful names or concepts, and in design to avoid re-computation.

    [Note]Note

    The UML Element metaclass from which all other artifacts are derived includes the tagged element documentation which is handled by the documentation tab under ArgoUML

19.2.2. State Property Toolbar

Go up

Navigate up through the package structure.

Delete

This deletes the state from the model

[Warning]Warning

This is a deletion from the model, not just the diagram. To delete a state from the diagram, but keep it within the model, use the main menu Remove From Diagram (or press the Delete key).

19.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.

Stereotype

Drop down selector. State has no stereotypes by default in the UML standard.

Navigate Stereotype

icon. If a stereotype has been selected, this will navigate to the stereotype property panel (see Section 15.4, “Stereotype”).

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 (or the top-level state 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.

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.

Incoming

Text area. Lists all the transitions that enter this state, including any internal transitions within the state (described below).

Button 1 click navigates to the selected entry.

Outgoing

Text area. Lists all the transitions that leave this state, including any internal transitions within the state (described below).

Button 1 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.

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.