W3C home > Mailing lists > Public > public-ws-chor@w3.org > January 2006

Re: WS-CDL and (polyadic) Pi-Calculus

From: Kohei Honda <kohei@dcs.qmul.ac.uk>
Date: Tue, 17 Jan 2006 17:06:21 +0000
Message-ID: <43CD240D.90307@dcs.qmul.ac.uk>
To: "Paul Bouche (HPI)" <paul.bouche@hpi.uni-potsdam.de>
CC: Steve Ross-Talbot <steve@pi4tech.com>, public-ws-chor@w3.org, Kohei Honda <kohei@dcs.qmul.ac.uk>

Hi Paul,

I think preceding mails have already answered many of your quesions.  As 
Steve wrote, the paper by
Carbone, Yoshida and me (referred to as [3]) is dealing with exactly 
that problem you mentioned ---
how the pi-calculus and CDL are related with each other.

Concerning types: the pi-calculus has the untyped version and the typed 
version. There are many
notions of types studied for the pi-calculus. As you wrote, various 
high-level (and low-level)
language constructs can be represented as processes, and when they are 
they arise as specific typed

Workunit combines loop, conditional and predicate-driven invocation into 
one. As a description
language, there is a design choice of what syntax is chosen over 
another. Apart from that,  the pi-calculus
tells us how these notions may be seamlessly integrated into 
communicating processes.  In that sense
it gives a reference point for design.  It does not pin point precisely 
one point in the design space, but
gives us a formal framework what we are dealing with.  Because of this 
general nature, the pi-calculus
can be used as a reference point in the design of CDL.

There is another dimension in comparing CDL and pi-calculus. In  [3], we 
add a high-level syntax to
the pi-calculus (such a pi-calculus is often called "applied 
pi-calculus") and compare a formalised
version of CDL and this applied pi-calculus.  In particular [3] 
discusses how the same  business protocols
can be described by CDL and pi equivalently but in a different fashion. 
It shows why having both
descriptions is useful in practice.

There are more about this connection, especially at the level of types, 
some of which will be discussed
in sequels to [3].  Thus the pi-calculus and CDL are related at 
different levels. The pi-calculus does
offer a formal underpinning, but CDL has its own original status as a 
descriptive language. All the more
because of that, passage between pi-calculus and CDL would be fruitful,  
bringing theories to practice
and practice to theories.

Best wishes,


Paul Bouche (HPI) wrote:
> Hi Steve,
> I am trying to answer the initial question "Is WS-CDL 'based' on 
> Pi-Calculus?" within the context of the aforementioned seminar at my 
> university. I will hold the talk tomorrow. If you are interested I 
> could I email you my slides or anyone else who expressed interest, yet 
> I would not be comfortable sending it to the public list.
> In answering that question I am trying to analyze the concrete 
> relationship of WS-CDL and Pi, ie what concepts in WS-CDL come from Pi.
> Thx,
> Paul
> Steve Ross-Talbot wrote:
>> Hi Paul,
>> I am referring to [3] when talking about formal treatments. [1] was 
>> an  early thought about how to do it and has given rise to [3]. 
>> Whereas [2]  is Nick's partial treatment which is now subsumed by [3] 
>> and what will  follow in Q22006 (Quarter 2 2006).
>> You are correct that workunits are not influenced by pi-calculus. 
>> They  are more data-flow influenced. But they are representable in pi 
>> and  have a formal treatment in GC and through to the EPC. And yes pi 
>> is not  typed as such, although there is the notion of sorts which is 
>> much the  same.
>> What is it that you are trying to do with respect to WS-CDL?
>> Cheers
>> Steve T
>> On 17 Jan 2006, at 11:32, Paul Bouche ((HPI)) wrote:
>>> Hi,
>>> thanks Ingo and Steve for your answers.
>>> The IMHO goes for all I am about to say.
>>> Ingo, channels and sending of channels, I clearly see as inspired 
>>> from  Pi, but the work unit concept, all the concepts finalizer, 
>>> exception,  roleType, participantType, bahaviour and state mangement 
>>> concepts I  don't see how the were inspired from Pi. Those are added 
>>> and more  high-level than Pi. The grouping concepts for activities 
>>> are clearly  those of Pi: Seqeunce, Parallel, Choice. Yet there is 
>>> a  while-loop-grouping construct which is also not found in Pi. 
>>> Surely  all these concepts can be expressed with Pi-Calculus with 
>>> more or less  effort. The exchange interaction concepts also is 
>>> clearly inspired by  Pi. Pi does not differentiate between 
>>> variables, channelTypes,  channelType instances, names of channels, 
>>> tokens etc. This is another  high-level addition. Also from my 
>>> knowledge Pi-Calculus is not typed  at all, it does not even have a 
>>> data flow centric concept but it is  all process centric or 
>>> oriented.  This orientation I cannot clearly  see in WS-CDL. Yet 
>>> this may also not be possible because of the goals  for WS-CDL, and 
>>> also because of that high-level constructs had to be  added.
>>> Steve are you refering to [1], [2] and [3] when you talk about 
>>> "Global  Calculus"? What does "Q22006" mean - 12/22/2006 - which 
>>> would be  December 12th 2006?
>>> Thank you for you inputs!
>>> Paul
>>> [1] Carbone, Honda, Yoshida, "Programming interaction with Types" 
>>> ,   http://www.w3.org/2002/ws/chor/5/06/F2FJune14.pdf
>>> [2] Kavantzas, "Aggregating Web Service: Choreography and WS-CDL",  
>>> http://lists.w3.org/Archives/Public/www-archive/2004Aug/att-0017/WS- 
>>> CDL-April2004.ppt
>>> [3] Honda, Yoshida, et. al. "A Theoretical Basis of  
>>> Communication-Centred Concurrent Programming",  
>>> http://lists.w3.org/Archives/Public/public-ws-chor/2005Nov/att-0015/ 
>>> part1_Nov25.pdf
>>> Steve Ross-Talbot wrote:
>>>> Deal Paul,
>>>> Yes the channels where inspired by pi-calculus. They are a channel 
>>>> or  port pairing. The work of our invited experts looks at 
>>>> providing a  new calculus called CG (Global Calculus). When we 
>>>> project  participants we do so to an EPC (End Point Calculus) which 
>>>> is  pi-calculus with session types. The session information comes 
>>>> from  the identity tokens described as part of a channel type. This 
>>>> EPC is  what we use to enforce liveness and other relevant 
>>>> properties  (bi-simulation etc).
>>>> The plan is to publish the finished treatment of GC and EPC 
>>>> sometime  in Q22006 as a working note.
>>>> Hope this helps
>>>> Steve T
Received on Tuesday, 17 January 2006 17:06:32 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:34 UTC