What happens with the tokens in a wrong activity diagram like this? in the fork node, two tokens are generated, then one goes through a, an another one through b, and what then? Does it stop, because there is not a join node? Or will two tokens go further after each other through C? Or does diagram not start at all?
A fork node duplicates tokens. When any node is offered all the tokens it needs to start, it does so. A merge node can offer its duplicated tokens whenever an input token is offered. That means c
can execute once for each duplicated token and then offer a token to d
. However, when the final node is reached, the larger activity ends, so there is a race condition that makes the number of times c
and d
run indeterminate.