Issue 18721: RemoveStructuralFeatureValueAction: Removal of links does not consider provided input value (fuml-rtf) Source: LieberLieber Software (Mrs. Tanja Mayerhofer, mayerhofer(at)big.tuwien.ac.at.) Nature: Clarification Severity: Minor Summary: In the case a RemoveStructuralFeatureValueAction is used to remove a link, the provided input value is not taken into account but only the object owning the defined association end. However, the UML standard states: “If the feature is an association end, the semantics are the same as for destroying links, the participants of which are the object owning the structural feature and the value being removed.” Thus, only links between the provided object (object pin) and value (value pin) should be considered. The following code could be a resolution to this issue: public class RemoveStructuralFeatureValueActionActivation extends fUML.Semantics.Actions.IntermediateActions.WriteStructuralFeatureActionActivation { public void doAction() { ... if (association != null) { LinkList links = this.getMatchingLinks(association, feature, value); >>> if(inputValue != null) { >>> Property oppositeEnd = this.getOppositeEnd(association, feature); >>> LinkList linksMatchingInputValue = this.getMatchingLinks(association, oppositeEnd, inputValue); >>> links = linksMatchingInputValue; } ... } } Resolution: Revised Text: Actions taken: May 16, 2013: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 16 May 2013 09:58:49 -0400 To: Subject: Issue/Bug Report X-Brightmail-Tracker: AAAAAA== X-Brightmail-Tracker: AAAAAA== ******************************************************************************* Name: Tanja Mayerhofer Employer: Vienna University of Technology mailFrom: mayerhofer@big.tuwien.ac.at Terms_Agreement: I agree Specification: Semantics of a Foundational Subset for Executable UML Models (FUML) Section: 8.6.3.2.12 RemoveStructuralFeatureValueActionActivation FormalNumber: ptc/2012-10-18 Version: 1.1 Doc_Year: Year Doc_Month: Month Doc_Day: Day Page: 306-309 Title: RemoveStructuralFeatureValueAction: Removal of links does not consider provided input value Nature: Clarification Severity: Minor CODE: 3TMw8 B1: Report Issue Remote Name: hopper.ifs.tuwien.ac.at Remote User: HTTP User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0 Time: 09:58 AM Description: In the case a RemoveStructuralFeatureValueAction is used to remove a link, the provided input value is not taken into account but only the object owning the defined association end. However, the UML standard states: .If the feature is an association end, the semantics are the same as for destroying links, the participants of which are the object owning the structural feature and the value being removed.. Thus, only links between the provided object (object pin) and value (value pin) should be considered. The following code could be a resolution to this issue: public class RemoveStructuralFeatureValueActionActivation extends fUML.Semantics.Actions.IntermediateActions.WriteStructuralFeatureActionActivation { public void doAction() { ... if (association != null) { LinkList links = this.getMatchingLinks(association, feature, value); >>> if(inputValue != null) { >>> Property oppositeEnd = this.getOppositeEnd(association, feature); >>> LinkList linksMatchingInputValue = this.getMatchingLinks(association, oppositeEnd, inputValue); >>> links = linksMatchingInputValue; } ... } }