android-activityumlactivity-diagram

activity diagram - number of tokens outgoing flows centralbuffer node


I am wrestling with the following question for days. I just cannot find an answer in the UML specification. What happens if you have a centralbuffer objectnode with one value (token) and 2 outgoing objectflows. Will the centralbuffer give this one value to one object flow, or because it is also an implicit forknode, will the centralbuffer copy the valuetoken to both outgoing edges?


Solution

  • The answer is in the UML specification. A CentralBufferNode is an ObjectNode, and it is written in the § 15.4.3.1 Object Nodes of formal/2017-12-05 :

    a token may traverse only one of the outgoing edges

    furthermore in § 15.4.3.3 Central Buffer Nodes :

    When an offer for a token is accepted by a downstream object node, that token is removed from the CentralBufferNode and moved to the accepting object node, as for any object node.