Search code examples
umlactionactivity-diagram

How does UML activity diagram instantiate action


let's consider a very simple situation where an action is still running when a second input token (e.g. an object token) arrives. Of course, we assume that no stream property is assigned. My question is that in this case, would the second token wait until the currently running action is finished, or a new action instant would be created and thus two instants of the action will be running? (I've read something in the OMG specification and it seems to be the second case, but there are some other books describing the execution as the first one, so I got confused to this point.)


Solution

  • In the case of control tokens, the situation is clearly defined. All offered tokens are accepted when the action is getting activated. So when it is running, it does not accept any further control token, by default. But there is a property named isLocallyReentrant, and if this is true, then the action is running concurrently.

    In the case of object token the UML semantics are bit less specifc and keep many explicitly points open. SysML adds here a few important details. In UML there is a property isControlType of Pins and object nodes, which, if set to true, imply same behaviour as for control tokens. Otherwise, it there are some statements in the standard that can be interpreted as if the behaviour is what can be intuitively expected, i.e., the second objecto token is processed afterwards.