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 |
---|---|
The V0.14 release of ArgoUML does not provide support for a junction pseudostate. |
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 |
---|---|
The |
Source
Standard tab, containing just the name of the pseudostate.
![]() | 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 |
---|---|
Derived pseudostates 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 pseudostate from the model
![]() | 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 |
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 |
---|---|
ArgoUML does not enforce this naming convention. |
![]() | 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.