Issue 14526: Flow final nodes should be included (fuml-rtf) Source: Model Driven Solutions (Mr. Ed Seidewitz, ed-s(at)modeldriven.com) Nature: Uncategorized Issue Severity: Summary: Specification: Semantics of a Foundational Subset for Executable UML Models (ptc/2008-11-03) Subclause: 7.4.2 IntermediateActivities Flow final nodes are currently excluded from the fUML subset. However, such nodes can be useful to explicitly consume tokens without terminating an activity. Since their semantics would be very easy to add to the execution model, it should be considered to add them to the fUML subset Resolution: Agreed. Revised Text: In Subclause 7.4.2.1 Overview, remove the following paragraphs: From Control Nodes (see Figure 7.22): • FlowFinalNode. Flow final nodes are not included in fUML because it is generally not necessary to explicitly terminate an individual flow in an activity. (Activity final nodes are included in fUML in order to terminate the entire activity.) In Figure 7.22, Control Nodes, add the following class as a subclass of FinalNode: FlowFinalNode After Subclause 7.4.2.2.9 FinalNode, insert the following subclause (and renumber subsequent subclauses appropriately). 7.4.2.2.10 FlowFinalNode Generalizations • “FinalNode” on page 57 Attributes None Associations None Additional Constraints None In Subclause 8.2.3.2.1 ExecutionFactoryL2, in the instantiateVistor operation (as corrected by the resolution to Issue 17211), after the lines else if (element instanceof ActivityFinalNode) { visitor = new ActivityFinalNodeActivation(); } add the lines else if (element instanceof FlowFinalNode) { visitor = new FlowFinalNodeActivation(); } In Subclause 8.5.2.1, Figure 8.27 Control Node Activations, add the following class as a subclass of ControlNodeActivation: FlowFinalNodeActivation + fire ( incomingTokens: Token [*] ) After Subclause 8.5.2.2.9 DecisionNodeActivation, add the following subclause (and renumber subsequent subclauses appropriately). 8.5.2.2.10 FlowFinalNodeActivation A flow final node activation is a control node activation for a node that is a flow final node. Generalizations • “ControlNodeActivation” on page 202 Attributes None Associations None Operations [1] fire ( in incomingTokens : Token [0..*] ) // Consume all incoming tokens. Debug.println("[fire] Flow final node " + this.node.name + "..."); for (int i = 0; i < incomingTokens.size(); i++) { Token token = incomingTokens.getValue(i); token.withdraw(); } Actions taken: October 6, 2009: received issue January 7, 2013: closed issue Discussion: The FTF agrees that this is a problem that needs fixing but, due to lack of time, decided to defer its resolution to a future RTF working on this specification. Revised Text: None. Disposition: Deferred End of Annotations:===== ubject: Flow final nodes should be included Date: Tue, 6 Oct 2009 18:55:05 -0400 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Flow final nodes should be included thread-index: AcpG2AvHxBmdBoKTSnObfOjfOvXxKg== From: "Ed Seidewitz" To: Specification: Semantics of a Foundational Subset for Executable UML Models (ptc/2008-11-03) Subclause: 7.4.2 IntermediateActivities Flow final nodes are currently excluded from the fUML subset. However, such nodes can be useful to explicitly consume tokens without terminating an activity. Since their semantics would be very easy to add to the execution model, it should be considered to add them to the fUML subset.