Activity's sub activities should be able to have mandatory multiplicity
Page 86, 3rd paragraph and page 86 constraint 3
Original Text
Combining the two aspects above, when an activity invokes other activities, they can be associated by a composition association, with the invoking activity on the whole end, and the invoked activity on the part end. If an execution of an activity on the whole end is terminated, then the executions of the activities on the part end are also terminated. The upper multiplicity on the part end restricts the number of concurrent synchronous executions of the behavior that can be invoked by the containing activity. The lower multiplicity on the part end is always zero, because there will be some time during the execution of the containing activity that the lower level activity is not executing.
p87 [3] The lower multiplicity at the part end must be zero.
Comment
While this is technically true, it is not in the spirit of UML. We can have classes/blocks with mandatory components, because the, even though there is always a delay between the creation of the owner and the part, because we assume the time is
1) small, and
2) the situation can be made undetectable by normal UML means.
The same situation can occur here, that we should allow the lower multiplicity to exclude zero, if the component activity is the first sub behavior to run (or tied for first) and that it is the last sub-behavior to end (or tied for last)
Type: Fix
Rewrite constraint
[3]) The lower multiplicity of the part end must be zero, if
a) An instance of the part is not always the first thing started (or concurrently initialized with the first thing stared) or
b) An instance of the part is not always the last thing terminated (or terminated concurrently terminated with the last thing terminated), or
c) It is possible at some point, for no instances of the part to exist.