Issue 17312: DecisionNodeActivation can send offers to multiple outgoing edges (fuml-rtf) Source: LieberLieber Software (Mrs. Tanja Mayerhofer, mayerhofer(at)big.tuwien.ac.at.) Nature: Clarification Severity: Minor Summary: In the method DecisionNodeActivation.fire(TokenList), a token offer is sent to each outgoing edge for which the guard evaluates to true resulting in the execution of multiple successor nodes. Only one successor node should receive an offer also if the guards of several outgoing edges evaluate to true. Resolution: In Subclause 12.3.22 DecisionNode of the UML Superstructure specification, it says: “Notice that the semantics only requires that the token [offered to a decision node] traverse one edge, rather than be offered to only one edge. Multiple edges may be offered the token, but if only one of them has a target that accepts the token, then that edge is traversed. If multiple edges accept the token and have approval from their targets for traversal at the same time, then the semantics is not defined.” Thus, it is correct that an incoming token to a decision node is offered on all outgoing edges for which the guard is satisfied. In fUML, if multiple downstream targets then try to accept the offered token at the same time, the semantics is the same as in any case of contention for a token. Only one of the targets can actually accept the token – since a decision node does not duplicate tokens, there is only one token to be accepted. Which of the targets actually gets the token is indeterminate, however. Revised Text: None. Disposition: Closed, No Change Revised Text: Actions taken: April 16, 2012: received issue January 7, 2013: closed issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 16 Apr 2012 08:52:56 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Tanja Mayerhofer Employer: Vienna University of Technology mailFrom: mayerhofer@big.tuwien.acat Terms_Agreement: I agree Specification: Semantics of a Foundational Subset for Executable UML Models Section: 8.5.2.2.9 FormalNumber: formal/2011-02-01 Version: 1.0 Doc_Year: 2011 Doc_Month: February Doc_Day: 01 Page: 205, 206 Title: DecisionNodeActivation can send offers to multiple outgoing edges Nature: Clarification Severity: Minor CODE: 3TMw8 B1: Report Issue Description: In the method DecisionNodeActivation.fire(TokenList), a token offer is sent to each outgoing edge for which the guard evaluates to true resulting in the execution of multiple successor nodes. Only one successor node should receive an offer also if the guards of several outgoing edges evaluate to true. From: Ed Seidewitz To: "Mayerhofer Tanja (mayerhofer@big.tuwien.ac.at)" CC: "issues@omg.org" , "fuml-rtf@omg.org" Date: Mon, 16 Apr 2012 13:56:49 -0400 Subject: RE: issue 17312 -- fUML RTF issue Thread-Topic: issue 17312 -- fUML RTF issue Thread-Index: Ac0b5OrkgCtPT0nmRj+SPVxo7NMIrQAFHu4w Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US X-Mailprotector-Decision: deliver X-Mailprotector-Connection: TLSv1|[10.1.50.225]|10.1.50.225|outbound.mailprotector.net|0|0|0|new|ugly|0|0|0|0 X-Mailprotector-Results: null_ptr clean X-Mailprotector-Score: 40 X-Mailprotector-IP-Analysis: 0, 10.1.50.225, Ugly c=0 p=0 Source New X-Mailprotector-Scan-Diagnostics: 0-0-0-14375-c X-Mailprotector-ID: d5df4e50-494e-4e62-ac03-2fc0bc15dc9a Tanya . You have to be careful here about the difference between offers and tokens. In Subclause 12.3.22 DecisionNode of the UML Superstructure specification, it says: .Notice that the semantics only requires that the token [offered to a decision node] traverse one edge, rather than be offered to only one edge. Multiple edges may be offered the token, but if only one of them has a target that accepts the token, then that edge is traversed. If multiple edges accept the token and have approval from their targets for traversal at the same time, then the semantics is not defined.. Thus, it is correct that an incoming token to a decision node is offered on all outgoing edges for which the guard is satisfied. In fUML, if multiple downstream targets then try to accept the offered token at the same time, the semantics is the same as in any case of contention for a token. Only one of the targets can actually accept the token -- since a decision node does not duplicate tokens, there is only one token to be accepted. Which of the targets actually gets the token is indeterminate, however. -- Ed From: Juergen Boldt [mailto:juergen@omg.org] Sent: Monday, April 16, 2012 11:23 AM To: issues@omg.org; fuml-rtf@omg.org Subject: issue 17312 -- fUML RTF issue From: webmaster@omg.org Date: 16 Apr 2012 08:52:56 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Tanja Mayerhofer Employer: Vienna University of Technology mailFrom: mayerhofer@big.tuwien.acat Terms_Agreement: I agree Specification: Semantics of a Foundational Subset for Executable UML Models Section: 8.5.2.2.9 FormalNumber: formal/2011-02-01 Version: 1.0 Doc_Year: 2011 Doc_Month: February Doc_Day: 01 Page: 205, 206 Title: DecisionNodeActivation can send offers to multiple outgoing edges Nature: Clarification Severity: Minor CODE: 3TMw8 B1: Report Issue Description: In the method DecisionNodeActivation.fire(TokenList), a token offer is sent to each outgoing edge for which the guard evaluates to true resulting in the execution of multiple successor nodes. Only one successor node should receive an offer also if the guards of several outgoing edges evaluate to true. Juergen Boldt Director, Member Services 140 Kendrick Street, Building A Suite 300 Needham, MA 02494 USA Tel: 781 444 0404 x 132 fax: 781 444 0320 www.omg.org