Issue 18696: Clarification about Interactions owning Actions and about the semantics of Actions owned by Interactions (uml25-ftf) Source: NASA (Dr. Nicolas F. Rouquette, nicolas.f.rouquette(at)jpl.nasa.gov) Nature: Uncategorized Issue Severity: Summary: In UML 2.5, the summary of the Actions chapter in 16.1 refers to the possibility of an Interaction owning an Action and makes several points: (1) Actions are contained in Behaviors, specifically Activities (as ExecutableNodes, see Clause 15) and Interactions (see Clause 17). These Behaviors determine when Actions execute (2) and what inputs they have (3). However, the abstract syntax and semantics of Actions are very dependent on Activities (4), because they specialize elements and semantics from Activities to accept inputs and provide outputs and to define Actions that coordinate other Actions (Structured Actions, see sub clause 16.11). (1) is reflected in figure 17.1 (2) is under-specified. 17.12, ActionExecutionSpecification states: An ActionExecutionSpecification is a kind of ExecutionSpecification representing the execution of an Action. 17.5.3 semantics of Action Execution Specification states: ActionExecutionSpecification is used for interactions specifying messages that result from actions, which may be actions owned by other behaviors. The semantics of ActionExecutionSpecification should be described in 1 place; suggest 17.12. (3) is a problem because 17.12 + 17.5.3 are insufficient to explain the semantics of ActionExecutionSpecification. Depending on who owns the Action and of the context classifier for the Action vs. the Interaction, several cases need to be distinguished. An ActionExecutionSpecification refers to an Action owned by the owning Interaction An ActionExecutionSpecification refers to an Action owned by an Activity whose context classifier is different than the context classifier of the owning Interaction An ActionExecutionSpecification refers to an Action owned by an Activity whose context classifier is also the context classifier of the owning Interaction The first case is severely under-specified. The last two cases are more complicated because the semantics of ActionExecutionSpecification depends on the semantics of Action owned by an Activity. In all 3 cases, it is unclear how the message notation in Interactions relates to the input/output pins of actions referred to via an ActionExecutionSpecification. Resolution: Revised Text: Actions taken: May 7, 2013: received issue Discussion: End of Annotations:===== m: "Rouquette, Nicolas F (313K)" To: "issues@omg.org" CC: "uml25-ftf@omg.org" Subject: Clarification about Interactions owning Actions and about the semantics of Actions owned by Interactions Thread-Topic: Clarification about Interactions owning Actions and about the semantics of Actions owned by Interactions Thread-Index: AQHOS1CoEn3RjAC/hUCtreSFc+4cGg== Date: Tue, 7 May 2013 18:28:24 +0000 Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.2.4.120824 x-originating-ip: [128.149.137.114] X-Source-Sender: nicolas.f.rouquette@jpl.nasa.gov X-AUTH: Authorized X-Virus-Scanned: amavisd-new at omg.org X-Brightmail-Tracker: AAAAAA== X-Brightmail-Tracker: AAAAAA== In UML 2.5, the summary of the Actions chapter in 16.1 refers to the possibility of an Interaction owning an Action and makes several points: (1) Actions are contained in Behaviors, specifically Activities (as ExecutableNodes, see Clause 15) and Interactions (see Clause 17). These Behaviors determine when Actions execute (2) and what inputs they have (3). However, the abstract syntax and semantics of Actions are very dependent on Activities (4), because they specialize elements and semantics from Activities to accept inputs and provide outputs and to define Actions that coordinate other Actions (Structured Actions, see sub clause 16.11). (1) is reflected in figure 17.1 (2) is under-specified. 17.12, ActionExecutionSpecification states: An ActionExecutionSpecification is a kind of ExecutionSpecification representing the execution of an Action. 17.5.3 semantics of Action Execution Specification states: ActionExecutionSpecification is used for interactions specifying messages that result from actions, which may be actions owned by other behaviors. The semantics of ActionExecutionSpecification should be described in 1 place; suggest 17.12. (3) is a problem because 17.12 + 17.5.3 are insufficient to explain the semantics of ActionExecutionSpecification. Depending on who owns the Action and of the context classifier for the Action vs. the Interaction, several cases need to be distinguished. An ActionExecutionSpecification refers to an Action owned by the owning Interaction An ActionExecutionSpecification refers to an Action owned by an Activity whose context classifier is different than the context classifier of the owning Interaction An ActionExecutionSpecification refers to an Action owned by an Activity whose context classifier is also the context classifier of the owning Interaction The first case is severely under-specified. The last two cases are more complicated because the semantics of ActionExecutionSpecification depends on the semantics of Action owned by an Activity. In all 3 cases, it is unclear how the message notation in Interactions relates to the input/output pins of actions referred to via an ActionExecutionSpecification. - Nicolas. From: Østein Haugen To: Tom Rutt , "Wendland, Marc-Florian" , "uml25-ftf@omg.org" CC: Østein Haugen Subject: RE: Do you have insight into resolving this Action owned by Interaction issue Thread-Topic: Do you have insight into resolving this Action owned by Interaction issue Thread-Index: AQHOVmVR5w/xb+QYh0CHtfOUkPOmopkY9K/g Date: Mon, 27 May 2013 12:31:02 +0000 Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [78.91.100.120] X-Virus-Scanned: amavisd-new at omg.org X-MIME-Autoconverted: from quoted-printable to 8bit by amethyst.omg.org id r4RCVBwP017050 Tom, Marc-Florian, Nicolas and the UML 2.5 gang This issue relates to several of the fundamentals of how Interactions relate to other parts of UML. Here are some points which may not actually solve the issue, but that should be taken as starting point for the discussion. 1. The semantics of Interactions is based on a different semantics domain than actions (and activities). The semantics of Interactions are that of sets of traces, where each trace is a sequence of OccurrenceSpecifications. The consequence of that is that for the semantics of Interactions an Action is represented only as one OccurrenceSpecification in the traces. It does not really matter what the action does. This may sound weird, but it works. Often, but not always, the values of data are not that important and normally are only significant in situations of alternative interaction fragments. Interactions certainly cares very little for Pins. 2. Actions on Lifelines are important because they give intuitive information about that something is done internally inside the object represented by that lifeline. If you want to be more formal and check the correspondence between an interaction and a set of (say) state machines, such an action can often be recognized from within a transition of a state machine. Do remember that Interactions always tell a partial story (while state machines tell the complete story). 3. How the Action on lifeline is metamodeled originally was unfortunately a product of my incompetence at the time in metamodeling, and I am sure improvements are still possible. Regards, Oystein -----Original Message----- From: Tom Rutt [mailto:tom@coastin.com] Sent: 21. mai 2013 22:54 To: Østein Haugen; Wendland, Marc-Florian; Tom Rutt; uml25-ftf@omg.org Subject: Do you have insight into resolving this Action owned by Interaction issue http://www.omg.org/issues/uml25-ftf.open.html#Issue18696 Oystein, can you help with this issue -- ---------------------------------------------------- Tom Rutt email: tom@coastin.com; trutt@us.fujitsu.com Tel: +1 732 801 5744 Fax: +1 732 774 5133