19.8. Pseudostate

A pseudostate encompasses a number of different transient vertices on a state machine diagram. They are used, typically, to connect multiple transitions into more complex state transitions paths. For example, by combining a transition entering a fork pseudostate with a set of transitions exiting the fork pseudostate, we get a compound transition that leads to a set of concurrent target states. Pseudostates do not have the properties of a full state and serve only as a connection point for transactions (but with some semantic value). Within the UML metamodel, Pseudostate is a sub-class of StateVertex.

The representation of a pseudostate on a statechart diagram in ArgoUML depends on the particular kind of pseudostate: initial, deepHistory, shallowHistory, join, fork, junction and choice. ArgoUML does not allow you to place a pseudostate directly, but only through tools for the specific types of pseudostate. These are described in separate sections below (see Section 19.9, “Initial State”, Section 19.11, “Junction”, Section 19.12, “Branch”, Section 19.13, “Fork”, Section 19.14, “Join”, Section 19.15, “Shallow History” and Section 19.16, “Deep History”).

[Caution]Caution

The V0.14 release of ArgoUML does not provide support for a junction pseudostate.

19.8.1. Pseudostate Details Tabs

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

ToDoItem

Standard tab.

Properties

See Section 19.8.2, “Pseudostate Property Toolbar” and Section 19.8.3, “Property Fields For Pseudostate” 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 pseudostate.

[Note]Note

In the fullness of time this tab will contain any code to implement the pseudostate. 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, Pseudostate has the following standard tagged values defined.

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

    [Note]Note

    Derived pseudostates 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.8.2. Pseudostate Property Toolbar

Go up

Navigate up through the package structure.

Delete

This deletes the pseudostate from the model

[Warning]Warning

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

19.8.3. Property Fields For Pseudostate

Name

Text box. The name of the pseudostate. By convention pseudostate 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

Pseudostate names are not shown on the diagram and it is not usually necessary to give them a name.

Stereotype

Drop down selector. A Pseudostate 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 pseudostate. 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).

Incoming

Text area. Lists any incoming transitions for the pseudostate.

Button 1 double-click navigates to the selected transition.

Outgoing

Text area. Lists any outgoing transitions for the pseudostate.

Button 1 double-click navigates to the selected transition.