- From: Furniss, Peter <Peter.Furniss@choreology.com>
- Date: Tue, 26 Oct 2004 23:10:11 +0100
- To: "Nickolas Kavantzas" <nickolas.kavantzas@oracle.com>, "Gary Brown" <gary@enigmatec.net>, <public-ws-chor@w3.org>
- Message-ID: <221369570DEDF346AE42821041345E89730CC9@imap.choreology.com>
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 Tuesday, 26 October 2004 22:10:59 UTC