OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [wsbpel] Issue 6 - Proposal for vote

I think I like this.

But isn't the nested scope that fires the <complete
scope="ancestralScope"> still itself incomplete ? So it will get caught
in the cancellation. Or is it specially protected -  so "all
concurrently running activities in that scope will be cancelled" should
have added something like "except for the nested scope which generated
the completion (at any depth of nesting)". Otherwise the successful
nested scope will get cancelled just like its unsuccessful siblings.

(I'm assuming "cancelled" is following the rough consensus emerging on
issue 135 as a rename of forcibly terminated)


> -----Original Message-----
> From: Satish Thatte [mailto:satisht@microsoft.com] 
> Sent: 17 September 2004 18:20
> To: wsbpeltc
> Subject: [wsbpel] Issue 6 - Proposal for vote
> Please note that this proposal also subsumes Issue 142 as the 
> examples show.  Also note that everyone involved in the 
> discussion of Issue 6 has not had time to comment on the 
> merits of this proposal relative to alternatives.  I am 
> putting it up so that we can discuss it at the F2F. Early 
> comments are always welcome.
> Proposal for resolution of both Issues 6 and 142.
> Define a new activity of the form <complete 
> scope="ScopeName"?>.  The execution of this activity will 
> cause premature but successful completion of all enclosing 
> scopes upto and including the scope named in the optional 
> scope attribute.  In case the attribute is omitted, the 
> default value of the attribute is the name of the nearest 
> enclosing scope.  
> In case of premature but successful completion of a scope, 
> all concurrently running activities in that scope will be 
> cancelled.  A scope may optionally have a completion handler. 
>  A completion handler is syntactically similar to a 
> compensation handler (no parameters).  In case of premature 
> but successful completion of a scope the completion handler 
> is run if present.  The default completion handler does 
> nothing. The completion handler is run in the context of the 
> scope it is attached to, hence may use variables and 
> partnerLinks defined within that scope.
> The behavior of the completionHandler is treated as part of 
> the "forward work" of the scope.  Thus all fault handlers for 
> a scope are still available while the completion handler for 
> that scope is running.  In case of a fault in a completion 
> handler, the behavior is identical to the occurrence of a 
> fault in the main body of the scope.  
> Question: can the <complete/> activity be used in a 
> completionHandler? Or perhaps only in the named (final) one 
> in a completion process?
> Rationale:  This proposal defines a "break-like" feature 
> following the patterns of the rest of our interrupt 
> machinery, e.g., fault and cancel handlers.  It is possible 
> to use this to build declarative macros for a variety of 
> purposes including the various flow-based features that were proposed.
> Examples:
> Break: 
> Wrap a while loop with a scope S and use <complete 
> scope="S"/> to break from the loop.
> Continue:  
> Wrap the body of a while loop with a scope S and use 
> <complete scope="S"/> to continue with the next iteration of the loop.
> At least N of M activities in a flow:
> <scope name="N-of-M">
>   <completionHandler>
>   </completionHandler>
>   <flow>
>    ..
>      <sequence>
>        <original "activity that counts">
>        <update completion count variable V>
>        <switch>
>          <case using V, N out of M done?>
>            <complete scope="N-of-M"/>
>          </case>
>        </switch>
>      </sequence>
>     ..other activities in flow
>   </flow>
> </scope>
> Can we do exactly N of M using an isolation scope for the switch?
> Satish
> To unsubscribe from this mailing list (and be removed from 
> the roster of the OASIS TC), go to 
> http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/le
> ave_workgroup.php.

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]