-
Key: OTS-21
-
Legacy Issue Number: 4346
-
Status: closed
-
Source: International Business Machines ( Dr. Ian Robinson)
-
Summary:
In order to write a portable application or application framework that uses
the Activity service, and in order for Activity service implementations to
fully interoperate, the ordering and semantics of completion processing
need to be more explictly defined than is presently the case.
I describe below what is intended and implied by the current specification,
but which I believe needs to be more explictly stated to avoid
implementations applying different interpretations.1. Current::complete_with_status(cs) is called
2. This drives ActivityCoordinator::complete_activity(completion_ss_name,
cs). This may be a remote call and there is a separate issue as to whether
context is propagated on this; it depends on the ActivityPolicyValue of the
ActivityCoordinator.
3. The preComplete synchronization signal is distributed. Activity context
must be available on the thread when the Actions process this signal.
4. The completion signals are distributed to registered Actions. The
presence or not of Activity context with these flows is not defined. I
don't think the presence of Activity context hurts and is consistent with
the behaviour during synchronization preComplete. OTS is a little different
because Synchronization is a TO (OTSPolicy=ADAPTS) whereas Resource is not
(OTSPolicy=FORBIDS). One advantage of keeping the context available during
completion processing is that the PropertyGroups are available.
5. The childComplete processing occurs in any parent Activity. Logically,
the parent coordinator process_signal_set method is called and the
SignalSet implementation gets the information it needs from the current
Activity (which is the completing activity, still active on the thread) to
build the ActivityInformation structure.
6. The context is logically suspended. Any PropertyGroups are called with
suspended() and then with completed().
7. The postComplete synchronization signal is sent.
8. Any remaining Activity service objects for the completing Activity are
cleaned up.
9. The call returns to the client.In some respects, it would be better if (5) and (6) could be reversed but
this cannot be the case if the child activity context needs to be on the
thread for the parent to perform the childComplete processing. -
Reported: OTS 1.0b1 — Fri, 15 Jun 2001 04:00 GMT
-
Disposition: Resolved — OTS 1.0
-
Disposition Summary:
Change the text so it make things clearer
-
Updated: Fri, 6 Mar 2015 20:57 GMT
OTS — Order of processing during Activity completion.
- Key: OTS-21
- OMG Task Force: Additional Structures for OTS FTF