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
restriction
   prefix
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
your
   description about P1 reducing to P2 in pi calculus, didn't you need to
first
   perform an apply followed by a communication in order for P1 to reduce to
P2?
4) your comment that the relationship between BPML and pi-calculus parallels
that
   between Java and lamda-calculus is very puzzling... did you mean to say
that
   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
lamda-calculus
   expression, which is functional, no side effects.

Thanks,
Joshua

>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
>Message-ID: <IGEJLEPAJBPHKACOOKHNEECLDCAA.arkin@intalio.com>
>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
its
>> 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
>P6=d!z.0

>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
and
>uses higher level constructs, lambda-calculus is a concise mathematical
>language, the translation is not always trivial, but mathematically
>provable!

... [deleted]

>arkin


>>
>> 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