Closed seidewitz closed 11 months ago
@himi
Please note the change to Connector::getConnectorEnd
from returning just owned ends to returning both owned and inherited ends. I changed all calls to getConnectorEnd
in the PlantUML code to instead use TypeUtil.getOwnedEndFeaturesOf
in order to preserve the existing functionality.
This pull request fixes bugs in the implementation of several derived property computations.
Type::endFeature
to be allfeatures
of aType
that haveisEnd = true
. The propertyConnector::connectorEnd
redefinesendFeature
and inherits the same derivation. This was implemented correctly inType_endFeature_SettingDelegate
, butConnector_connectorEnd_SettingDelegate
had a separate derivation that only returned owned end features.referent
of anAssignmentActionUsage
would be the first non-parameter member of the action. This is different than the definition in the SysML specifiation (which is that thereferent
is the firstFeature
that is thememberElement
of anownedMembership
that is not anOwningMembership
), and it did not work properly when thereferent
was a parameter of a containing action rather than theAssignmentActionUsage
itself.IfActionUsage_ifArgument_SettingDelegate
presumed that theifArgument
expression was a boundFeatureValue
of theIfActionUsage::ifTest
parameter. However, this is not correct. TheifArgument
is not parsed using aFeatureValue
, but, rather, the argumentExpression
simply redefines theifTest
.TypeUtil::getSourceTypeOf
,TypeUtil::addTargetTypes
,ConnectorUtil::getSourceFeatureOf
andConnectorUtil::addTargetFeatures
did not correctly implement the derivations in the specification ofAssociation::sourceType/targetType
andConnector::sourceFeature/targetFeature
.The PR also changes existing calls in the code of
Connector::getConnectorEnd
toTypeUtil::getOwnedEndFeatureOf
, so that they produce functionally the same result as before the change togetConnectorEnd
as described in item 1 above.