Instead of gap being a field on every ActionStep, it should be a separate UntilStep that wraps an ActionStep.
This is because the semantics of an empty gap before an action and that of an action itself are now distinct: in collection sequences, the presence of the former prevents any progress on any lifeline until the action occurs. (It occurs to me that this is similar to the UML strict operator; maybe we can encode the latter in terms of the former.)
Instead of
gap
being a field on everyActionStep
, it should be a separateUntilStep
that wraps anActionStep
.This is because the semantics of an empty gap before an action and that of an action itself are now distinct: in collection sequences, the presence of the former prevents any progress on any lifeline until the action occurs. (It occurs to me that this is similar to the UML
strict
operator; maybe we can encode the latter in terms of the former.)