If a transition reaches a final state, it implies completion of the
activity associated with that composite state, or at the top level, of
the complete state machine. In the UML metamodel
FinalState
is a child of
State
.
![]() | Note |
---|---|
A final state is a true state (with all its attributes), not a pseudostate. |
Completion at the top level implies termination (i.e. destruction) of the owning object instance.
The representation of a final state on the diagram is a circle with a small disc at its center.
The details tabs that are active for final states are as follows.
ToDoItem
Standard tab.
Properties
See Section 19.10.2, “Final State Property Toolbar” and Section 19.10.3, “Property Fields For Final State” below.
Documentation
Standard tab.
Style
Standard tab.
![]() | Caution |
---|---|
The |
Source
Standard tab, containing just the name of the final state.
![]() | Note |
---|---|
In the fullness of time this tab will contain any code to implement the final state. This is not implemented in the V0.14 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,
Final State
has the following standard
tagged values defined.
derived
(from the
superclass, ModelElement
). Values
true
, meaning the final state is
redundant—it can be formally derived from other
elements, or false
meaning it
cannot.
![]() | Note |
---|---|
Derived final states still have their value in analysis and design 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 final state from the model
![]() | Warning |
---|---|
This is a deletion from the model
not just the diagram. To delete a
final state from the diagram, but keep it within the model, use
the main menu |
Name
Text box. The name of the final state. By convention final 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. |
![]() | Tip |
---|---|
Final state names are shown on the diagram but it is not usually necessary to give them a name. |
Stereotype
Drop down selector. Final 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 final 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 final 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 7 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.
Incoming
Text area. Lists any incoming transitions for the final state.
Button 1 click navigates to the selected transition, button 2 gives a pop up menu with one entry.
Open
. Navigate to the
selected transition.
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.