Source: oose Innovative Informatik eG ( Axel Scheithauer)
The specification says about the state machine transition selection algorithm:
The set of Transitions that will fire are the Transitions in the Regions of the current state configuration that satisfy the following conditions:
- All Transitions in the set are enabled. [see 22.214.171.124.2 Enabled Transitions]
- There are no conflicting Transitions within the set. [see 126.96.36.199.3 Conflicting Transitions]
- There is no Transition outside the set that has higher priority than a Transition in the set. [see 188.8.131.52.4 Firing priorities]
Remarks in square brackets are from me to show that each line refers to a definition given further up.
From the name of this section I would expect, that it describes the complete algorithm. However one part is missing:
- Only Transitions that occur in mutually orthogonal Regions may be fired simultaneously.
This sentence is from the section on conflicting Transitions. In my humble opinion part of it belongs to the selection algorithm and not to the definition of conflicting transitions.
reprase the sentence in "conflicting Transitions":
Transitions in mutually orthogonal Regions are not conflicting.
Add a point to "transition selection algorithm" that explains, that only one transition per region may fire. This may seem obvious to you, but I think it needs to be stated explicitely. I know, there are other sentences which support this interpretation. But the algorithm section is the one place where all should come together.
Reported: UML 2.5 — Tue, 14 Feb 2017 11:40 GMT
Updated: Tue, 14 Feb 2017 11:40 GMT