Re: WS-CDL or abstract BPEL

Dear Tonny,

As one of the authors of the draft, I will add some words to Monica's
message, from a different angle.

I think there are two levels when thinking about the question you
raised.  First there is an engineering level.  As you know well,
a cryptographic protocol is often written as follows.

  A-->T:  {A, B}_KA
  T--->A:  {KAB,  {KAB}_KB}_KA
  .....

This is a global notation, and captures what is happening very well.
A global description certainly gives an intuitive, clear perspective
which local (end-point) description may not offer, so that it does
have a clear status at an engineering level (we mentioned this point
briefly in Page 8 of the draft).

In the context of WS/SOA, we need a descriptive framework which
can express arbitrary complex business protocols. In other words,
we need a fully-fledged descriptive language for global description.
In my personal view, CDL is an original trial, offering a first effective
solution to this problem.

For implementation, a global description needs be decomposed into
executable end-point programs. Since these programs can be
written in different languages, this may also underline the need
to have a descriptive language which is neutral to individual
execution languages.

* * *

Another level is theoretical. The question we wish to answer is
what is a general, well-structured way to express a class of
complex interaction-based behaviour, as found in business
protocols. If you read Section 4 of the draft, you can find a global
description whose specification may not be easily mapped to a local
behaviour (e.g. Fig 14, page 20).  We also have examples of local
behaviour not easily mappable to clean global description. Thus
having a global formalism gives a constraint on what may count
as "good" local description, and vice versa. A formal result on
this point will appear in Part II of the draft, coming soon.

A simple way to understand this point may be as follows. If there
is a local description of a business protocol which cannot be cleanly
mapped to a global one, then it lacks clarity.  If you have a global
description that cannot be mapped to a feasible local description,
then it lacks executability (and would be hard to analyse). Having
these two frameworks of description are essential, not only for
convenience but also for intrinsic reasons: they together suggest a
good way to structure interaction behaviour.

* * *

I hope this answers your question.

Best wishes,

kohei

* Our earlier presentation also touches this topic.

     http://www.w3.org/2002/ws/chor/5/06/F2FJune14.pdf

   given in the WG's F2F in June this year.

>
>
> In the paper linked to above (i.e. the paper by Marco Carbone Kohei  
> Honda and Nobuko Yoshida) two formal calculi are described: a  
> 'global' calculus that models business processes from a global  
> perspective and the pi-calculus that models the same processes as a  
> set of local endpoint behaviors. The global calculus is similar to WS- 
> CDL and the main point of the paper is that processes modeled with  
> the global calculus (WS-CDL) can be translated to the pi-calculus.
>
> Reading the paper made me wonder: Why is a global description of the  
> service collaboration as in WS-CDL better than a set of local  
> descriptions that each describes the behavior of the participating  
> services (e.g. as a set of abstract BPEL descriptions)? Would a set  
> of abstract BPEL descriptions for each of the collaborating services  
> and a global WS-CDL description for the collaboration as a whole not  
> just be different representations of the same thing? If not, what  
> expressive power is added by the global WS-CDL description compared  
> to a set of abstract BPEL descriptions for each end point.
>
> Also, many complicated network protocols, e.g. TCP, have been  
> specified just fine by descriptions of endpoint behavior such as  
> state machines. Why is a global specification needed?
>
>
> Best Regards
>
> Tonny
>
>

Received on Thursday, 1 December 2005 19:26:14 UTC