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>

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 processes. 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, kohei 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.3.1
: Tuesday, 6 January 2015 21:01:09 UTC
*