Re: On the way to the bank ....

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