Issue 13307: Issue: Sending offers from ForkNodeActivation::fire (fuml-ftf) Source: Model Driven Solutions (Mr. Ed Seidewitz, ed-s(at)modeldriven.com) Nature: Uncategorized Issue Severity: Summary: At the end of the ForkNodeActivation::fire operation, offers are sent on all outgoing edges. However, the loop used to do this repeats the logic already in the inherited sendOffers operation, except that the sending is not indicated to be done concurrently, as it should be. Proposed resolution: Replace the loop: for (int i = 0; i < outgoingEdges.size(); i++) { ActivityEdgeInstance outgoingEdge = outgoingEdges.getValue(i); outgoingEdge.sendOffer(forkedTokens); } with: this.sendOffers(forkedTokens); Resolution: Replace the offending loop as proposed Revised Text: In the method for ForkNodeActivation::fire, replace the loop: for (int i = 0; i < outgoingEdges.size(); i++) { ActivityEdgeInstance outgoingEdge = outgoingEdges.getValue(i); outgoingEdge.sendOffer(forkedTokens); } with: this.sendOffers(forkedTokens); Actions taken: January 20, 2009: received issue July 23, 2010: closed issue Discussion: End of Annotations:===== ubject: Issue: Sending offers from ForkNodeActivation::fire Date: Tue, 20 Jan 2009 15:12:47 -0500 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Issue: Sending offers from ForkNodeActivation::fire thread-index: Acl7O3ZS9QbgMuYfQH6+R/anzXqBDg== From: "Ed Seidewitz" To: Cc: Specification: Semantics of a Foundation Subset for Executable UML Models, FTF . Beta 1 (ptc/08-11-03) Section: 8.5.2.2.10 (ForkNodeActivation) Summary: At the end of the ForkNodeActivation::fire operation, offers are sent on all outgoing edges. However, the loop used to do this repeats the logic already in the inherited sendOffers operation, except that the sending is not indicated to be done concurrently, as it should be. Proposed resolution: Replace the loop: for (int i = 0; i < outgoingEdges.size(); i++) { ActivityEdgeInstance outgoingEdge = outgoingEdges.getValue(i); outgoingEdge.sendOffer(forkedTokens); } with: this.sendOffers(forkedTokens);