Fwd: Expressiveness of CDL

Tried to send the slides but they are too big. I shall put them on the  
archive and place a link to this list.
This is why the email is somewhat late getting to the list.

Cheers

Steve T

From: Steve Ross-Talbot <steve@pi4tech.com>
>> Date: 20 June 2006 20:59:19 BST
>> To: "Decker Gero" <Gero.Decker@student.hpi.uni-potsdam.de>
>> Cc: <public-ws-chor@w3.org>
>> Subject: Re: Expressiveness of CDL
>>
>> Dear Decker,
>>
>> rather than respond to your somewhat lengthy email on how CDL relates  
>> to pi-calculus I would point you to some links which are public and  
>> readily accessible on the CDL mailing list (which is public). These  
>> links are the initial work done on the global calculus which can be  
>> seen as a mini-CDL and the end point calculus which is somewhat akin  
>> to pi with session types. These two calculii form the basis of CDL  
>> and will be published as a working note within the WG fairly soon.  
>> Much work has been done by all of our invited experts on this work  
>> and much work continues to be done on understanding type patterns and  
>> properties that one might infer from both calculii.
>>
>> I would suggest you look at:
>>
>> 	http://lists.w3.org/Archives/Public/public-ws-chor/2005Nov/0014.html
>>
>> As a researcher you should find the public list a wealth of  
>> information. As a working group of W3C we do try very hard to make  
>> all that we do public all of the time.
>>
>> We as a WG would be most interested in your work on behalf of SAP.  
>> They used to be supportive of our work and were indeed active members  
>> but drifted off some time ago. We would welcome any comments and  
>> contributions you wish to make and encourage you to liaise with SAP  
>> in your efforts.
>>
>> And I enclose a short presentation that both Kohei and I did at  
>> Cambridge University as Robin Milner's guests.
>>
>> Cheers and good luck
>>
>> Steve Ross-Talbot
>>
>>
>>
>>
>> On 20 Jun 2006, at 06:28, Decker Gero wrote:
>>
>>>
>>> Hello everyone,
>>>
>>> I am currently working on my Master thesis (at SAP Research  
>>> Brisbane) about service choreographies und therefore I am very  
>>> interested in the activities of the CDL working group.
>>>
>>> I have a couple of questions regarding CDL:
>>>
>>> - It is claimed that CDL is based on pi-calculus which has proven to  
>>> be extremely expressive. Sequence, parallelism, choice and message  
>>> exchanges are enough to express common scenarios in the BPM domain.  
>>> E.g. the workflow patterns and the service interaction patterns  
>>> could be fully formalized. A trick in these formalizations is that  
>>> each control flow construct is encoded using a set of processes that  
>>> exchange messages for synchronization purposes. In CDL I do not see  
>>> how I can do that.
>>>
>>> - Let us take a look at an example to clarify my question:  
>>> Participant A receives a number of messages via channel b. After  
>>> three messages have been received or a message has been received  
>>> over channel c A continues by sending a message over channel d. In  
>>> pi-calculus I could write:
>>>     A = (^h) (b(m1).b(m2).b(m3).'h.0 | c(m4).'h.0 | h.'d.0)
>>> ^h is a private name, b() a message receipt and 'h a message send. I  
>>> introduced h to coordinate the two parallel processes. How does this  
>>> work in CDL? In BPEL there is the notion of control links which  
>>> seems quite powerful.
>>>
>>> - Another example would be (inspired by  
>>> http://bpt.hpi.uni-potsdam.de/twiki/pub/Public/PiHypeExample/ 
>>> PiHypeExample.pdf): there are seven interactions a, b, c, d, e, f,  
>>> g, h. a must happen before b and e, b must happen before c, c must  
>>> happen before d and f, d must happen before h, e must happen before  
>>> f, f must happen before g and g must happen before h. Assuming a  
>>> participant who is the sender in all these interactions and for each  
>>> interaction there is a channel with the name of the interaction, the  
>>> pi-calculus formalization for A would look as follows:
>>>    A = (^x1,x2,x3,x4,x5,x6) ('a.('x1.0|'x2.0) |  
>>> x1.'b.'c.('x3.0|'d.'x4.0) | x2.'e.'x5.0 | x3.x5.'f.'g.'x6.0 |  
>>> x4.x6.'h.0)
>>> How can I express this example in CDL?
>>>
>>> - How can I express scenarios where a participant A communicates  
>>> with participants B1, B2, B3, ... which are all of the same role but  
>>> only bound at runtime? E.g. like in the Single-transmission  
>>> multilateral interaction patterns  
>>> (http://sky.fit.qut.edu.au/~dumas/ServiceInteractionPatterns/ 
>>> Multilateral..html).
>>>
>>> - Concerning parallel interactions: Is it allowed that two  
>>> interactions that do not have any preceding interactions happen in  
>>> parallel? If so are there any restrictions concerning correlation  
>>> information or which participant is involved in these initial  
>>> interactions?
>>>
>>> - I read about some "global calculus". What is the current status?  
>>> Although I like pi-calculus I am also very interested in a calculus  
>>> that does not focus on interacting processes but rather  
>>> communication from a global perspective. A similar expressiveness  
>>> like pi-calculus would be desirable though.
>>>
>>> Best regards
>>> Gero
>>>
>>>
>>>
>>>

Received on Wednesday, 21 June 2006 22:00:29 UTC