19.10. Final State

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

19.10.1. Final State Details Tabs

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]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 final state.

[Note]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]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]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.10.2. Final State Property Toolbar

Go up

Navigate up through the package structure.

Delete

This deletes the final state from the model

[Warning]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 Remove From Diagram (or press the Delete key).

19.10.3. Property Fields For Final State

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]Note

ArgoUML does not enforce this naming convention.

[Tip]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.