- From: Kohei Honda <kohei@dcs.qmul.ac.uk>
- Date: Wed, 01 Nov 2006 15:19:16 +0000
- To: 'WS-Choreography List' <public-ws-chor@w3.org>
- CC: Gary Brown <gary@pi4tech.com>, Steve Ross-Talbot <steve@pi4tech.com>, Marco Carbone <carbonem@doc.ic.ac.uk>, Nobuko Yoshida <yoshida@doc.ic.ac.uk>, Kohei Honda <kohei@dcs.qmul.ac.uk>
Since there is going to be a confcall today, it is worth clarifying why I am positive about the previous proposal about having an explicit "initiation" message, in spite of its apparent unpopularity. Currently when a participant, say Alice, starts a conversation with another, say Bob, and if this is part of choreography, the only way to say this is invocation of the same service as before (suppose you repeatedly interact with a directory server during your main conversation) is to use perform and subchoreography. The type structure as used in the working note, especially how endpoint projection is performed, uses this idea crucially. (I gave examples in my previous mail). I once thought of allowing users to specify this initial message, but at that time we have not finished the theory in the working note: so I was not too sure to boldly present this idea. However I now have a stronger reason to have a notion of session in global descriptions, to do a good EPP. Then Gary mentioned this previous proposal (which may be based on a similar operational understanding, if not about types): I found it great. Here are my practical assessments. (1) We cannot make explicit interleaving of sub-conversations (sub-choreographies) with "perform": but if subchoreographies are self-contained (i.e. until it returns, no interleaving of communication exist) then it is enough just to have a subchoreography. (2) I think interleaving cases will arise rather often (such as using directory services several times and you need another series of conversation for refining a query in the same conversation with that directory service). In such cases having an initiating message gives a clearer structure, just as perform gives a clearer structure to description. In other words this gives a more flexible version of perform. (3) However if we forget structuring, the sequences (traces) of interaction can still be represented without this initiation message specified. (4) For EPP of the cases of (2), one measure is to use XML's (or CDL's?) comments for specifying additional information to say some interaction is initial. (5) Having this may be convenient for having correspondence with e.g. BPEL, via EPP or its converse. One reason I wish to put it is that, with this, we have all information necessary to embed the theory in the working note in CDL. However there are a lot to discuss here, for example whether EPP is a must for CDL (which we believe: however we do need more discussions on the engineering positioning of EPP). All in all, I think it may be harmless to have "initial". At the same time, I can see Monica and Yves and Martin also found this an alien element in the present CDL description disciplines and styles. That is also important observations for this version of the language. The rest, therefore, I wish to leave to your discussions, today or later. A fully fledged global language was first given in the form of CDL 1.0, as far as I know: it is natural many important design choices and features still remain to be discussed and examined, including its theoretical basis and execution models. In the coming years, we shall learn many things about the design and use of global languages. kohei
Received on Wednesday, 1 November 2006 15:19:31 UTC