Prev Next

Fork

Description

A Fork/Join used in UML Activity diagrams as modeled using Sparx Systems Enterprise Architect. A Fork/Join used in UML Activity diagrams as modeled using Sparx Systems Enterprise Architect.

The Fork element is used in both Activity and StateMachine diagrams. With respect to StateMachine diagrams, a Fork pseudostate signifies that its incoming transition comes from a single state, and it has multiple outgoing transitions. These transitions must occur concurrently, requiring the use of concurrent regions, as depicted here in the Composite State. Unlike Choice or Junction pseudostates, Forks must not have triggers or guards. This diagram demonstrates a Fork pseudostate dividing into two concurrent regions, which then return to the End State via the Join pseudostate.

Using a Fork/Join in a StateMachine diagram modeled in Sparx Systems Enterprise Architect.

Learn more

OMG UML Specification:

Forks in Activity Diagrams

The OMG Unified Modeling Language specification, (v2.5.1, p.388) states:

Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers.

Forks in State Machine Diagrams

The OMG Unified Modeling Language specification, (v2.5.1, p.313) states:

(A) fork Pseudostates serve to split an incoming Transition into two or more Transitions terminating on Vertices in orthogonal Regions of a composite State. The Transitions outgoing from a fork Pseudostate cannot have a guard or a trigger.