Re: Expressiveness of CDL

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. 
>
>   
CDL represents the global model where each interaction effectively 
represents a synchronization between the sending role and the receiving 
role - what you are referring to are the endpoint projections. If you 
project a choreography onto the relevant participants, you would obtain 
a description of "a set of processes that exchange messages for 
synchronization purposes".


> - 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.
>   
In CDL, blocking workunits can be used in a similar way to control links 
in BPEL. 'h' could be represented simply as a boolean variable on which 
the blocking workunit would wait, and then once the relevant messages 
had been received, the variable could be set, triggering the waiting 
workunit.
> - 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?
>   
Again I would expect this type of problem to be expressed as a set of 
concurrent blocking workunits.
> - 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).
>   
Represent the interactions with the role as a sub-choreography - then 
perform the choreography multiple times one for each real participant. 
The specific runtime binding details would be non-observable, as CDL is 
only a description and not executable.
> - 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?
>   
You will need to be more specific - are these two interactions on the 
same channel instance? Possibly would be better with a concrete example.
> - 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 08:32:48 UTC