20.20.  Synch State

A synch state is for synchronizing concurrent regions of a state machine. It is used in conjunction with forks and joins to insure that one region leaves a particular state or states before another region can enter a particular state or states. The firing of outgoing transitions from a synch state can be limited by specifying a bound on the difference between the number of times outgoing and incoming transitions have fired. In the UML metamodel Synch is a child of StateVertex.

A synch state is shown as a small circle with the upper bound inside it. The bound is either a positive integer or a star ('*') for unlimited. Synch states are drawn on the boundary between two regions when possible.

20.20.1.  Synch State Details Tabs

The details tabs that are active for Synch states are as follows.

ToDoItem

Standard tab.

Properties

See Section 20.20.2, “ Synch State Property Toolbar and Section 20.20.3, “ Property Fields For Synch State below.

Documentation

Standard tab.

Presentation

Standard tab.

Stereotype

Standard tab, containing the stereotypes of the Synch state. In the UML metamodel, Synch State has no standard stereotypes defined.

Tagged Values

Standard tab. In the UML metamodel, Synch State has no standard tagged values defined.

20.20.2.  Synch State Property Toolbar

Go up

Navigate up through the package structure.

New Stereotype

This creates a new Stereotype (see Section 16.6, “ Stereotype) for the selected synch state, navigating immediately to the properties tab for that stereotype.

Delete from Model

This deletes the synch state from the model

[Warning]Warning

This is a deletion from the model not just the diagram.

20.20.3.  Property Fields For Synch State

Name

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

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

Container

Text box. Shows the container of the Synch 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).

Bound

Editable text box. Shows the Bound of the Synch state. Which is a positive integer or the value unlimited (represented by a "*") specifying the maximal count of the SynchState. The count is the difference between the number of times the incoming and outgoing transitions of the synch state are fired.

Incoming

Text area. Lists any incoming transitions for the final state.

Button 1 double-click navigates to the selected transition.

Outgoing Transitions

Text area. Lists any outgoing transitions for the final state.

Button 1 double-click navigates to the selected transition.