Issue 18362: Problem with ActivityExecution::terminate (fuml-rtf) Source: Ivar Jacobson International AB (Mr. Ed Seidewitz, eseidewitz(at)ivarjacobson.com) Nature: Uncategorized Issue Severity: Summary: Specification: Semantics of a Foundational Subset for Executable UML Models (fUML), v1.1, RTF Beta (ptc/2012-10-18) Subclauses: 8.5.2.2.2 ActivityExecution The ActivityExecution::terminate operation calls terminateAll on the activationGroup for the activity execution. However, the activationGroup attribute is not set unless the execute operation has been called. If an activity is started asynchronously, then it will be instantiated as an activity execution within a classifier behavior execution, but, since this execution is asynchronous to the invoker of the activity, it is possible for the invoker to destroy (and so terminate) the activity instance before the activity execution is actually executed. That is, it is, in fact, possible for the terminate operation to be called on an activity execution without the execute operation ever having been called. In order to avoid a possible error, the terminate operation should check that the activationGroup is not null before calling terminateAll on it. Resolution: Revised Text: Actions taken: December 30, 2012: received issue Discussion: End of Annotations:===== m: Ed Seidewitz To: "issues@omg.org" Date: Sun, 30 Dec 2012 19:05:11 -0500 Subject: Problem with ActivityExecution::terminate Thread-Topic: Problem with ActivityExecution::terminate Thread-Index: Ac3m6UvZuShPtr02Sd2OAR/2geMFxg== 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.226]|10.1.50.226|outbound.mailprotector.net|0.0|0.0|0|||0|0|0|0 X-Mailprotector-Results: null_ptr clean X-Mailprotector-Score: 40 X-Mailprotector-IP-Analysis: 0, 10.1.50.226, Ugly c=0.632495 p=-0.987041 Source White X-Mailprotector-Scan-Diagnostics: 0-0-0-7374-c X-Mailprotector-ID: 64bbc1b3-a0ec-4f1a-b443-79886eb52081 Specification: Semantics of a Foundational Subset for Executable UML Models (fUML), v1.1, RTF Beta (ptc/2012-10-18) Subclauses: 8.5.2.2.2 ActivityExecution The ActivityExecution::terminate operation calls terminateAll on the activationGroup for the activity execution. However, the activationGroup attribute is not set unless the execute operation has been called. If an activity is started asynchronously, then it will be instantiated as an activity execution within a classifier behavior execution, but, since this execution is asynchronous to the invoker of the activity, it is possible for the invoker to destroy (and so terminate) the activity instance before the activity execution is actually executed. That is, it is, in fact, possible for the terminate operation to be called on an activity execution without the execute operation ever having been called. In order to avoid a possible error, the terminate operation should check that the activationGroup is not null before calling terminateAll on it.