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.
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 |
---|---|
The |
Source
Standard tab, containing just the name of the state.
![]() | 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 |
---|---|
Derived states still have their value in analysis to introduce useful names or concepts, and in design to avoid re-computation. |
![]() | Note |
---|---|
The UML |
Go up
Navigate up through the package structure.
Delete
This deletes the state from the model
![]() | 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 |
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 |
---|---|
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.