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

[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