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.
ToDoItemStandard tab.
PropertiesSee Section 19.10.2, “Final State Property Toolbar” and Section 19.10.3, “Property Fields For Final State” below.
DocumentationStandard tab.
StyleStandard tab.
![]() | Caution |
|---|---|
The | |
SourceStandard 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. | |
ConstraintsStandard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.
Tagged ValuesStandard 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
upNavigate up through the package structure.
DeleteThis 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 | |
NameText 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. | |
StereotypeDrop 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”).
ContainerText 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-ActionText 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.
IncomingText 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 TransitionsText 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.