Revises the computation of TransitionUsage::source to be consistent with the specification: "The source of a TransitionUsage is given by the memberElement of its first ownedMembership, which must be an ActionUsage." (Previously it had been implemented as the sourceFeature of the succession of the TransitionUsage.)
Revises SuccessionAsUsageAdapter::addSourceEnd to always set the sourceFeature of the succession of a TransitionUsage to the source of the TransitionUsage.
Adds a computeSource transformation to TransitionUsageAdapter, which physically adds an alias Membership to the "previous feature" of a TransitionUsage, so that this becomes its source if one has not been parsed explicitly.
Moves the getPreviousFeature method to UsageUtil and:
simplifies it to only search within the immediately owning Namespace
removes the allowance for a non-action ItemFlow as a previous feature
allows a FlowConnectionUsage that is a message connection to be a previous feature
As a result, warnings are no longer generated when the then succession shorthand is used on a message connection or when a "conditional succession" (parsed as a TransitionUsage) is used between message connections.
This pull request includes the following changes:
TransitionUsage::source
to be consistent with the specification: "Thesource
of aTransitionUsage
is given by thememberElement
of its firstownedMembership
, which must be anActionUsage
." (Previously it had been implemented as thesourceFeature
of thesuccession
of theTransitionUsage
.)SuccessionAsUsageAdapter::addSourceEnd
to always set thesourceFeature
of thesuccession
of aTransitionUsage
to thesource
of theTransitionUsage
.computeSource
transformation toTransitionUsageAdapter
, which physically adds an aliasMembership
to the "previous feature" of aTransitionUsage
, so that this becomes itssource
if one has not been parsed explicitly.getPreviousFeature
method toUsageUtil
and:Namespace
ItemFlow
as a previous featureFlowConnectionUsage
that is a message connection to be a previous featureAs a result, warnings are no longer generated when the
then
succession shorthand is used on a message connection or when a "conditional succession" (parsed as aTransitionUsage
) is used between message connections.