Just found the date of the User's Guide: 12/13/2006. to clarify, that is the date the file was created. The EA User Guide contains this diagram at EA.chm::/forkjoin.htm
So that I can be clear on this, is a join bar symbolic of a state in which the Action 'Fill order' puts the order there and the forking action 'Ship Order' and 'Send Invoices' have to acquire/request it?? It's a pull, rather than flow? No switch is needed or implied?
My references here say, Refer to Fig. 263 (UML 2.0 Superstructure, p. 340), The OMG UML specification (UML 2.0 Superstructure, p. 471) 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."
Tokens arriving at a fork are duplicated across the outgoing edges. If at least one outgoing edge accepts the token,
duplicates of the token are made and one copy traverses each edge that accepts the token. The outgoing edges that did not
accept the token due to failure of their targets to accept it, keep their copy in an implicit FIFO queue until it can be
accepted by the target. The rest of the outgoing edges do not receive a token (these are the ones with failing guards). This
is an exception to the rule that control nodes cannot hold tokens if they are blocked from moving downstream (see
“Activity (from BasicActivities, CompleteActivities, FundamentalActivities, StructuredActivities)” on page 328).
But UML 2.1 spec is slightly different: When
an offered token is accepted on all the outgoing edges, duplicates of the token are made and one copy traverses each edge.
No duplication is necessary if there is only one outgoing edge, but it is not a useful case.
If guards are used on edges outgoing from forks, the modelers should ensure that no downstream joins depend on the
arrival of tokens passing through the guarded edge. If that cannot be avoided, then a decision node should be introduced
to have the guard, and shunt the token to the downstream join if the guard fails. See example in Figure 12.44 on page 342.