In Cameo I've worked out the following small example (see the attachment). Here I have two opaque actions that concurrently perform a Python program, with 'value' a shared integer property.
I assumed the two actions to happen atomically, i.e., one after the other. For example, I've found that "Action is a named element which represents a single atomic step within activity" (https://www.uml-diagrams.org/activity-diagrams-actions.html). However, both actions seem to be able to happen at exactly the same time. That is, both 'left' and 'right' can be printed in a simulation of this example.
Is this interleaving intended? If so, is there any (obvious) way to make both these actions atomic, so that this example prints only 'left' or 'right', but never both?
