Choreography lifeline Proposal (was RE: Proposal: To remove the initiate flag on the Interation)

MessageAs I've promised here is the updated proposal/text for the Choreography Life-line Section:


***Updated Life Line Completion Proposal***

New Choreography Life-line Section Text

A Choreography life-line expresses the progression of a collaboration 
through enabled activities and enclosed performed Choreographies.

Initially, the collaboration MUST be established between parties, 
then work MAY be performed within it and finally it MAY complete. 

A Choreography is initiated, establishing a collaboration when an  
Interaction, explicitly marked as an Choreography initiator, is 
performed. Before this point there is no observable association between 
any of the parties. Two or more Interactions MAY be marked as Choreography 
initiators, indicating alternatives for establishing a collaboration. In 
this case, the first performed interaction will establish the collaboration 
and the other interactions will enlist with the already established 
collaboration. An initiating interaction MAY be defined within a root 
Choreography or within either a Locally or a Globally defined enclosed 
Choreography. In either case the collaboration is established when the 
initiating interaction is performed.

A Choreography completes successfully when there are no more enabled 
activities within it. Alternatively, a Choreography completes successfully 
if its complete condition, as defined by the optional complete attribute 
within the choreography element, is matched by evaluating to "true". 
A complete condition is considered for matching while the Choreography is 
enabled. The complete condition MUST BE matched in all Roles that participate
in the Choreography. Once the complete condition of a a Choreography is matched 
then all activities in the Choreography are disabled, and the Choreography 
completes as if there were no more enabled activities within it. A Choreography 
complete condition is an implied complete condition for each enclosed Choreography
and the semantics are as if the complete condition was defined in each enclosed 
Choreography. Hence, each enclosed Choreography completes successfully.





--
Nick
  ----- Original Message ----- 
  From: Furniss, Peter 
  To: Nickolas Kavantzas ; Gary Brown ; public-ws-chor@w3.org 
  Sent: Tuesday, October 26, 2004 2:10 PM
  Subject: Choreography lifeline( was RE: Proposal: To remove the initiate flag on the Interation)


  Nick proposed:

    *Choreography Life-line*
    A Choreography life-line expresses the progression of a collaboration through 
    enabled activities and enclosed performed Choreographies.

    Initially, the collaboration MUST be established between parties, then work MAY be
    performed within it and finally it MAY complete. 

    A Choreography is initiated, establishing a collaboration when an  
    Interaction, explicitly marked as an Choreography initiator, is performed. 
    Before this point there is no observable association between any of the parties. 
    Two or more Interactions MAY be marked as Choreography initiators, indicating 
    alternatives for establishing a collaboration. In this case, the first performed 
    interaction will establish the collaboration and the other interactions will enlist
    with the already established collaboration. 
    An initiating interaction MAY be defined within a root Choreography or within either
    a Locally or a Globally defined enlosed Choreography. In either case the collaboration is 
    established when the initiating intaraction is performed.

    A Choreography completes successfully when there are no more matched Work
    Unit(s) performing work within it and there are no enabled Work Unit(s)
    within it. Alternatively, a Choreography completes successfully if its
    complete condition, as defined by the optional complete attribute within the
    choreography element, evaluates to "true". In this case, the actions,
    including enclosed Choreographies, within the explicitly completed
    Choreography are completed abnormally before the Choreography completes. 

    <PRF>
    I think we may need to be more explicit on what "actions .. are completed abnormally" means ?

    In the collision example, the losing interaction will be represented by a message that is
    winging its way to the supplier, who reached PO-State=completed when he sent the completion
    message and now thinks the choreography is over. That losing interaction is apparently 
    invalid. Endpoint projections will need to recognise that they should silently ignore the
    message if and when it does arrive. (and, in general, it will be very difficult to work out
    where things have progressed to - if the place-order choreography was performed as an
    element of a larger, the supplier may be well into the order-delivery stage (another sub-choreography)
    before the now-irrelevant cancel turns up.

    What happens if other actions are juggling with variables - do they stop dead ? In fact,
    such a choreography is possibly ill-formed - it should (like Nick's example) set its
    variables consistently at the end. (coordination will help you )

    Actually, "abnormally" isn't really right anyway - we certainly don't want them throwing
    exceptions etc.

    Also the Life-line section needs to say something about a choreography's "life after death" - or rather
    finalization after completion, and perhaps briefly, exceptions. That relates to the coordination 
    stuff that Bob is drafting, so this is just a placeholder comment.


    Peter
Choreology Anti virus scan completed

Received on Monday, 15 November 2004 21:44:49 UTC