Issue 4711: ChildBegin on a subordinate node (ots-structs-ftf) Source: International Business Machines (Dr. Ian Robinson, ian_robinson@uk.ibm.com) Nature: Uncategorized Issue Severity: Summary: The final adopted specification of the Activity Service specification states, in section 2.2.1: "If the parent of a sub-Activity is not a root Activity (i.e., it is an interposed subordinate) then the distribution of the ChildLifetime signals is delegated upstream to the superior ActivityCoordinator." Since no service context would flow on a delegated process_signal_set request to an upstream ActivityCoordinator, then any Action registered in the upstream node with an interest in the ChildLifetime SignalSet would not be able to determine the identity of the child activity begun. Any solution to this problem needs to interoperable rather than dependent on implementation since the upstream ActivityCoordinator could be part of a foreign domain. 2 potential solutions are: 1. New methods on the ActivityCoordinator and and SignalSet interfaces: ActivityCoordinator::process_signal_set_with_data(in string ssName, in CompletionStatus cs, in any signalData); and SignalSet::get_signal_with_data(inout boolean lastSignal, in any signalData); The subordinate Coordinator-Action could build the ActivityInformation any required by the ChildLifetime SignalSet and pass this in the signalData on the upstream process_signal_set_with_data. 2. Change the specification to state that ChildLifetime signals are distributed from the node in which the child Activity begins. In the case where there are Actions registered with the parent in an upstream node on which the child does not execute, then these Actions are not informed of the event. (2) is simpler but compromises the ideal of location transparency. Resolution: see above Revised Text: Replace the following text in section 2.2.1: "If the parent of a sub-Activity is not a root Activity (that is, it is an interposed subordinate), then the distribution of the ChildLifetime signals is delegated upstream to the superior ActivityCoordinator." with: "ChildLifetime signals are distributed from the environment in which the child activity is started. If the parent of a sub-Activity is not a root Activity (that is, it is an interposed subordinate), then any Actions registered with the (upstream) superior ActivityCoordinator do not receive these signals and are unaware of the child activity." Actions taken: November 23, 2001: received issue March 10, 2004: closed issue Discussion: Resolution: Change the specification to state that ChildLifetime signals are distributed from the node in which the child Activity begins. In the case where there are Actions registered with the parent in an upstream node on which the child does not execute, then these Actions are not informed of the event. End of Annotations:===== Importance: Normal Subject: ChildBegin on a subordinate node To: ots-structs-ftf@omg.org Cc: issues@omg.org, "Alex Mulholland" X-Mailer: Lotus Notes Release 5.0.5 September 22, 2000 Message-ID: From: "Ian Robinson" Date: Fri, 23 Nov 2001 14:55:18 +0000 X-MIMETrack: Serialize by Router on d06ml007/06/M/IBM(Release 5.0.8 |June 18, 2001) at 23/11/2001 15:15:10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-UIDL: #h'!!aBQd9'[,!!D3#!! An issue for a future RTF. The final adopted specification of the Activity Service specification states, in section 2.2.1: "If the parent of a sub-Activity is not a root Activity (i.e., it is an interposed subordinate) then the distribution of the ChildLifetime signals is delegated upstream to the superior ActivityCoordinator." Since no service context would flow on a delegated process_signal_set request to an upstream ActivityCoordinator, then any Action registered in the upstream node with an interest in the ChildLifetime SignalSet would not be able to determine the identity of the child activity begun. Any solution to this problem needs to interoperable rather than dependent on implementation since the upstream ActivityCoordinator could be part of a foreign domain. 2 potential solutions are: 1. New methods on the ActivityCoordinator and and SignalSet interfaces: ActivityCoordinator::process_signal_set_with_data(in string ssName, in CompletionStatus cs, in any signalData); and SignalSet::get_signal_with_data(inout boolean lastSignal, in any signalData); The subordinate Coordinator-Action could build the ActivityInformation any required by the ChildLifetime SignalSet and pass this in the signalData on the upstream process_signal_set_with_data. 2. Change the specification to state that ChildLifetime signals are distributed from the node in which the child Activity begins. In the case where there are Actions registered with the parent in an upstream node on which the child does not execute, then these Actions are not informed of the event. (2) is simpler but compromises the ideal of location transparency. Regards...Ian Ian Robinson, WebSphere Transactions Architecture IBM Hursley Lab Tel (Ext) +44-1962-818626 (Int) 7-248626 Fax +44-1962-818626 ian_robinson@uk.ibm.com Subject: Proposed resolution text for issue 4711 To: ots-structs-rtf@omg.org X-Mailer: Lotus Notes Release 5.0.7 March 21, 2001 From: "Ian Robinson" Date: Sat, 5 Apr 2003 21:15:15 +0100 X-MIMETrack: Serialize by Router on d06ml007/06/M/IBM(Release 5.0.9a |January 7, 2002) at 05/04/2003 21:45:20 Proposed resolution for issue 4711: Change the specification to state that ChildLifetime signals are distributed from the node in which the child Activity begins. In the case where there are Actions registered with the parent in an upstream node on which the child does not execute, then these Actions are not informed of the event. Proposed changes to specification: Replace the following text in section 2.2.1: "If the parent of a sub-Activity is not a root Activity (that is, it is an interposed subordinate), then the distribution of the ChildLifetime signals is delegated upstream to the superior ActivityCoordinator." with: "ChildLifetime signals are distributed from the environment in which the child activity is started. If the parent of a sub-Activity is not a root Activity (that is, it is an interposed subordinate), then any Actions registered with the (upstream) superior ActivityCoordinator do not receive these signals and are unaware of the child activity." Ian Robinson, Senior Technical Staff Member, WebSphere Transactions Architecture & Development, IBM Hursley Lab, UK Tel +44-(0)1962-818626 Tie: 724-8626 ian_robinson@uk.ibm.com From: "Mark Little" To: , "Ian Robinson" Subject: Re: Proposed resolution text for issue 4711 Date: Sun, 6 Apr 2003 20:42:20 +0100 X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-Newcastle-MailScanner: Found to be clean I agree with the proposed text. Mark. ----- Original Message ----- From: "Ian Robinson" To: Sent: Saturday, April 05, 2003 9:15 PM Subject: Proposed resolution text for issue 4711 > Proposed resolution for issue 4711: > > Change the specification to state that ChildLifetime signals are > distributed > from the node in which the child Activity begins. In the case where there > are > Actions registered with the parent in an upstream node on which the child > does > not execute, then these Actions are not informed of the event. > > > Proposed changes to specification: > Replace the following text in section 2.2.1: > "If the parent of a sub-Activity is not a root Activity (that is, it is an > interposed > subordinate), then the distribution of the ChildLifetime signals is > delegated upstream to > the superior ActivityCoordinator." > > with: > > "ChildLifetime signals are distributed from the environment in which the > child activity is started. > If the parent of a sub-Activity is not a root Activity (that is, it is an > interposed > subordinate), then any Actions registered with the (upstream) superior > ActivityCoordinator do > not receive these signals and are unaware of the child activity." > > Ian Robinson, > Senior Technical Staff Member, > WebSphere Transactions Architecture & Development, > IBM Hursley Lab, UK > Tel +44-(0)1962-818626 Tie: 724-8626 > ian_robinson@uk.ibm.com > > > Issue 4711 (Ian Robinson) Change the specification to state that ChildLifetime signals are distributed from the node in which the child Activity begins. In the case where there are Actions registered with the parent in an upstream node on which the child does not execute, then these Actions are not informed of the event. Proposed changes to specification: Replace the following text in section 2.2.1: "If the parent of a sub-Activity is not a root Activity (that is, it is an interposed subordinate), then the distribution of the ChildLifetime signals is delegated upstream to the superior ActivityCoordinator." with: "ChildLifetime signals are distributed from the environment in which the child activity is started. If the parent of a sub-Activity is not a root Activity (that is, it is an interposed subordinate), then any Actions registered with the (upstream) superior ActivityCoordinator do not receive these signals and are unaware of the child activity."