- From: Nickolas Kavantzas <nickolas.kavantzas@oracle.com>
- Date: Mon, 15 Nov 2004 13:43:47 -0800
- To: "Furniss, Peter" <Peter.Furniss@choreology.com>, "Gary Brown" <gary@enigmatec.net>, <public-ws-chor@w3.org>
- Message-ID: <006b01c4cb5c$30028dc0$48af2382@us.oracle.com>
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