[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[moca] RE: RE : synchronous implementation of Pi calculus with choice?



Thanks for the reply.

I did mean distributed implementation.

My interest is that after six years of multi threaded and distributed
programming in C++ you think "there has to be a better way" . Having
read Robin Milner's truly excellent book (in terms of clarity of exposition
and accessibility from the point of view of a non expert) you have to think
something like a (sugared) Pi calculus is it.

The thing that struck me is the problem of implementing a language with
similar semantics as in the book , is exactly as you describe where you
may have multiple channels involved in multiple distributed choice
operations.

The interesting point is , does this describe the actual nature of those
hard
problems in distributed concurrent programming? Does the pi calculus just
describe
the actual problem most succinctly or are there equally descriptive
frameworks that as you say enjoy better properties ? Are all these
asynchronous
implementations sacrificing descriptive power for ease of implementation or
is the
full semantics unnecessary ?

Regards

Bill



-----Original Message-----
From: dalzilio [mailto:Silvano.DalZilio@xxxxxxxxxxxxxxx]
Sent: Tuesday, January 14, 2003 12:48 PM
To: bill@xxxxxxxxxx
Cc: moca@xxxxxxxxxxxxxxx
Subject: [moca] RE : synchronous implementation of Pi calculus with
choice?



Hi,

I guess you mean "distributed" implementation of the synchronous
pi-calculus! If you are only looking for an implementation that runs on a
single host, you can draw inspiration from the programming language Pict:
http://www.cis.upenn.edu/~bcpierce/papers/pict/Html/Pict.html. The
implementation is described in
http://www.cis.upenn.edu/~bcpierce/papers/pict-design.ps, as well as in the
PhD thesis of David N. Turner.

In the case of an implementation running on a distributed network of
computers, the problem is far more difficult. Indeed, it is not possible to
implement communications in the full pi-calculus (without restricting the
set of admissible behaviours) without solving global consensus between the
hosts. For example, in the synchronization between an output and an input on
a channel, say CHAN, all the locations containing communications on CHAN
plus the locations containing processes blocked on a choice operations with
those communications have to enter some kind of "critical section." This
fact implies that it is not possible to obtain an efficient implementation
of the full synchronous pi-calculus, and it has motivated the search for
subsets of Pi that enjoy better properties. One notable example is the
Join-calculus, see http://join.inria.fr/, and the work on TyCO that has been
recently mentioned on this list. You may find some relevant information on
implementing the pi-calculus in a recent article by Lucian Wischik:
http://www.wischik.com/lu/research/newdirs-implementing-pi.pdf

>From a more "business-oriented" perspective, two programming languages for
so-called process modelling boast that they are based on the pi-calculus,
and therefore they somehow count as implementations of Pi. It is BPML from
the BPMI consortium (http://www.ebpml.org/bpml2.htm) and XLANG from
Microsoft. The problem is that it is very difficult to understand the
semantics of these languages and even more difficult to identify which
restrictions have been made. I guess it is a trademarked secret! Finally, to
mention other outlandish implementations of Pi, you may be interested by
implementations of stochastic versions of the pi-calculus, in which
(informally) every process in a choice operation is assigned a probability
of interacting with its environment. The BioSPI system, see
http://www.wisdom.weizmann.ac.il/~aviv/, is working on such implementations.

I guess the conclusion of this post is that every application domain needs
its own implementation/subset of Pi. The contributors to this list may be of
greater helps if you told us more about your motivations...


Silvano.


=====================================================================
Silvano DAL ZILIO	           CNRS / LIF Marseille / Equipe MOVE
http://www.cmi.univ-mrs.fr/~dalzilio  Tel: +33 491 113 625  Fax: -602
    CMI, 39 rue F. Joliot-Curie, 13453 Marseille Cedex 13, FRANCE


> -----Original Message-----
> From: Bill at GLO Ltd [mailto:bill@xxxxxxxxxx]
> Sent: Tuesday, January 14, 2003 2:25 AM
> To: moca@xxxxxxxxxxxxxxx
> Subject: [moca] synchronous implementation of Pi calculus with choice?
>
> Hi
>
> Does anybody know of an implementation of the pi calculus that
> is synchronous and has the choice operator. There seem to be a few
> asynchronous implementations , with or without choice.
>
> What are peoples opinions of the relative merits of this , also if
> there is no such implementation , why not ? as this is the semantics
> as given by Milner.
>
>
> Regards
>
> Bill
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> The "models for mobility" mailing list     mailto:moca@xxxxxxxxxxxxxxx
>  http://www-sop.inria.fr/mimosa/personnel/Davide.Sangiorgi/moca.html




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The "models for mobility" mailing list     mailto:moca@xxxxxxxxxxxxxxx
 http://www-sop.inria.fr/mimosa/personnel/Davide.Sangiorgi/moca.html


  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The "models for mobility" mailing list     mailto:moca@xxxxxxxxxxxxxxx
 http://www-sop.inria.fr/mimosa/personnel/Davide.Sangiorgi/moca.html