Tags and keywords
video_sim
UML-2.5.1: 'As an ActivityNode may be the source for multiple ActivityEdges, the same token can be offered to multiple targets. However, the same token can only be accepted at one target at a time (unless it is copied, whereupon it is not the same token, see ForkNodes ... and ExecutableNodes ...).'
In the Activity Diagram and model shown above, because (unlike an ExecutableNode) there is no implicit fork (no copy of the token is made), the InitialNode is offering THE SAME control token on both outgoing edges:
So it is not determined whether x or y executes! The JoinNode attempt must then "fail", because it can't be reached via both, as shown in the attached simulation mini-video.
We see in the next slides some options for handling this correctly.