Source: oose Innovative Informatik eG ( Axel Scheithauer)
The specification says about InterruptibleActivityRegions:
AcceptEventActions in the region that do not have incoming edges are enabled only when a token enters the region, even if the token is not directed at the AcceptEventAction.
If taken literally, this would mean, that AcceptEventActions stay enabled after the token leaves the region. This seems to make no sense. If they start with the arrival of a token, they also should stop on the departure of it.
I believe that the sentence was meant to read "while a token is in the region".
Change the sentence to
AcceptEventActions in the region that do not have incoming edges are enabled only while other contained Actions are either enabled for execution or currently executing. That means, as soon as the first Action in the region becomes enabled, all AcceptEventActions without incoming edges become enabled as well. And as soon as the last Action has finished execution, the AcceptEventActions become disabled.
This also means, that not the whereabouts of the token are relevant, but the status of the Actions. I'm aware, that this could be regarded as a change, since the token is technically still in the InterruptibleActivityRegion, as long it has not been accepted by the next Action. However the suggested semantics would be in line with the completion semantics of Activities and StructuredActivityNodes.
The sentence "even if the token is not directed at the AcceptEventAction" seems superfluous and I have left it out. How could a token be directed at an Action without incoming edges?
Reported: UML 2.5 — Tue, 9 Apr 2019 16:55 GMT
Updated: Tue, 9 Apr 2019 16:55 GMT