- From: <kohei@dcs.qmul.ac.uk>
- Date: Tue, 18 Jul 2006 16:27:42 +0100 (BST)
- To: "Steve Ross-Talbot" <steve@pi4tech.com>
- Cc: "'WS-Choreography List'" <public-ws-chor@w3.org>, "Matthew Rawlings" <matthew@stickledown.com>, carbonem@dcs.qmul.ac.uk, yoshida@doc.ic.ac.uk
Hi Steve, and all, I admit: (1) I have been not sure about this. (2) But I have left this as is since I felt one of them would be dropped in the end if one has no use. It was not our desire to make this a language without redundancy: such things can be determined after experience, as far as a basic stratum, the operational part, is all right (and on this we could examine in detail recently: a report on this later). Now I would tell what we did in our formalism (this has been presented in several venues already, including in a theory conference: the long(est) version will be published here soon). We have a "participant", say Alice. And Alice will have several input channels. So to speak, there are several processes inside Alice. Alice can receive with channel, channel2, channel3, etc. And moreover she can also have an active thread which is already interacting. Now Alice *can* be a participant of a different business protocol (i.e. choreography). Whether this is OK or not, it depends on endpoint projection and a simple conformance checking. To make a long story short, this needs only a participant, no role. This seems to conform to what Mr.Rawling observed. I should say these declarations in general are (A) often essentially redundant (at least some part). (B) very useful, for documentation, service finding, etc. Now WS-CDL is being used in real scenes (and note this is historical: all my best wishes to those who can judge the value of this tool!) so it may be nice to have a rethinking of how much these info may be in fact needed, based on the experience, as well as criticisms and observations from the advanced users. >From the current use of WS-CDL, I think basic declarations are in general on the plus side. However inessential declaration can be confusing in addition to being cumbersome so we may as well cut off the latter. I hope I can think about other concrete items when I am back to London and think about it. Best wishes, kohei > > I was speaking with Matthew Rawlings who chairs the ISO WG4 group about > WS-CDL. He is the same person who asked why can't we have Participant > with no roles. > > The fundamental reason why Matthew asked the question (which he will > submit further clarity for) concerns RoleTypes and ParticipantType. > We all know that ParticipantTypes are important because they support > the type system. But they do so indirectly because of the roles that > they > aggregate. RoleType names are used in ParticipantTypes and in locating > variables and in cdl:functions. But supposing I want to express a > behavior (which we might call a role) that can be implemented in > several ParticipantTypes. This is the same as the Buyer/Seller problem > that > we have wrestled with before where several participants can provide the > same behavior. Today we cannot share roles. The problem is almost > certainly because our ParticipantType is more of an instance than a > type and the RoleType is very much a type. They are wrongly mixed. > > Any ideas on how we can resolve the problem and so make it easier for > choreographies to be expressed? I accept that WS-CDL as is is infact > complete to express all that we might wish to do but it is less than > optimal at doing so. > > Cheers > > Steve T > > >
Received on Tuesday, 18 July 2006 15:27:56 UTC