W3C home > Mailing lists > Public > public-ws-chor@w3.org > February 2003

RE: Yet Another Choreography Specification

From: Jianhua Zhu <jzhu@silkvalleytech.com>
Date: Mon, 03 Feb 2003 08:49:31 -0800
To: public-ws-chor@w3.org
Message-id: <KEELLHDILJCDGPIFLJMJEEKMCAAA.jzhu@silkvalleytech.com>

Thanks that is very helpful. I have a few follow-on questions:

1) do you have a guideline in mapping processes, events, and actions in BPML
   to names in pi calculus; it seems to be quite arbitrary in your example
2) a similar question regarding parameters and properties to names in a
3) don't mean to be picky about your word usage, but since we are dealing
with a
   formal system, imprecise words may lead to confusion.  in particular,  in
   description about P1 reducing to P2 in pi calculus, didn't you need to
   perform an apply followed by a communication in order for P1 to reduce to
4) your comment that the relationship between BPML and pi-calculus parallels
   between Java and lamda-calculus is very puzzling... did you mean to say
   anything computable in Java is also computable in lamda-calculus, and
vice versa,
   or you really did mean that any one java method can be reduced to a pure
   expression, which is functional, no side effects.


>From: "Assaf Arkin" <arkin@intalio.com>
>To: <ed.peters@webMethods.com>, <abarros@dstc.edu.au>, <ChBussler@aol.com>,
<bill.flood@sybase.com>, <public->>ws-chor@w3.org>
>Cc: <W.M.P.v.d.Aalst@tm.tue.nl>, <m.dumas@qut.edu.au>,
<l.aldred@qut.edu.au>, <a.terhofstede@qut.edu.au>
>Date: Fri, 31 Jan 2003 10:18:34 -0800
>Subject: RE: Yet Another Choreography Specification

>> -----Original Message-----
>> From: public-ws-chor-request@w3.org
>> [mailto:public-ws-chor-request@w3.org]On Behalf Of Ed Peters
>> Sent: Friday, January 31, 2003 7:52 AM
>> To: 'Assaf Arkin'; abarros@dstc.edu.au; ChBussler@aol.com;
>> bill.flood@sybase.com; public-ws-chor@w3.org
>> Cc: W.M.P.v.d.Aalst@tm.tue.nl; m.dumas@qut.edu.au; l.aldred@qut.edu.au;
>> a.terhofstede@qut.edu.au
>> Subject: RE: Yet Another Choreography Specification
>> Assaf,
>> Thanks very much for these pointers.  I wonder, are there any
>> resources that
>> might bridge the gap between theoretical treatments of pi-calculus and
>> manifestation in or influence on the BPML specification?  I've
>> read numerous
>> papers on pi-calculus, and I've pored through the BPML spec many
>> times, and
>> I'm afraid I'm missing the connection.

>pi-calculus is a mathematical model. If you can reduce the process
>definition into its pi-calculus form you can use pi-calculus to analyze it.
>I'll illustrate by an example selected for its simplicity (taken from a
>document I am writing about the design of BPML).

>For the sake of this example I am using the 'pi' primitive (which refers to
>some internal operation, say an assign) and equality test introduced in
>later texts since they simplify the discussion. I am showing two systems
>talking to each other:

>P = P1 | P7

>P1 = v(b,c,x,y,z) a!(w,b,c).P2 P2=P3+P4 P3=b(x).0 P4=c(y).P5 P5=pi.P6

>P7 = v(w,v,x,y,z) !P8 P8=!a(w).P9 P9=pi.P10 P10=?v=0.P11 - P12 P11=b!x.0
>P12=c!y.P13 P13=d(z).0

>property b,c

>process P1
>  parameter w
>  property w,x,y,z
>  action operation=a output=w,b,c
>  choice P2
>    event P3
>      action operation=b input=x
>      empty
>    event P4
>      action operation=c input=y
>      . . . (determine z here)
>      action operation=d output=z
>             locate=d

>property d

>process P7
>  property v,w,x,y,z
>  event P8
>  action P8 operation=a input=w
>  ... determine v
>  switch
>    case P11
>      condition v=0
>      action operation=b output=x
>             locate=b
>    default P12
>      action operation=c output=y
>             locate=c
>      action operation=d input=z,d
>In workflow terms you would say that activity P2 is enabled when process P1
>starts, is executed after the action and is disabled after it is executed
>(since it cannot be repeated in this context).

>In pi-calculus you would reduce P1 to P2 by performing an action, then
>reduce P2 after receiving one of the two inputs. If you run a trace of the
>BPML process on the one hand and the pi-calculus process on the other hand,
>you will see how processes get reduced in the same way.

>The fact that both languages reduce in exactly the same way is what makes
>pi-calculus so appealing as a formal model.

... [deleted]

>You have to remember that the relationship between BPML and pi-calculus is
>the same as the relationship between Java and lambda-calculus. Every Java
>method can be reduced into a lambda-calculus form, and some of the
>similarity is very obvious (you can easily see that a method is a function,
>setting variables is the same). But where Java is a programming language
>uses higher level constructs, lambda-calculus is a concise mathematical
>language, the translation is not always trivial, but mathematically

... [deleted]


>> Regards,
>> Ed
Received on Monday, 3 February 2003 13:51:59 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:29:54 UTC