- From: Ron Ten-Hove <Ronald.Ten-Hove@Sun.COM>
- Date: Mon, 24 Nov 2003 10:57:17 -0800
- To: Andrew Berry <andyb@whyanbeel.net>
- Cc: public-ws-chor@w3.org
- Message-id: <3FC2548D.4080501@sun.com>
Andy, Hennesy and Riely <http://citeseer.nj.nec.com/cache/papers/cs/8736/http:zSzzSzwww.infosys.tuwien.ac.atzSzResearchzSzAgentszSzarchivezSz98TR-resources.pdf/hennessy98resource.pdf> have published the distributed pi-calculus D?. This introduces named locations and channels connecting locations. Other researchers are expanding on this work. September's ACM Transactions on Programming Languages and Systems has a paper on something termed The Receptive Distributed ?-Calculus, which is quite interesting. The pi-calculus is evolving to address some of the issues you raised, but "classic" pi-calculus is not the silver bullet some would have us believe it is. It is a useful model. Cheers, -Ron Andrew Berry wrote: > > As I've stated previously, I have many doubts about the suitability of > pi calculus for modelling distributed computation. Greg suggested in a > previous email that pi calculus is more powerful than other > formalisms, in particular having: > >> 1. completeness -- i.e. Turing complete >> 2. compositionality -- the model is an algebra, the practical advantage >> of which is that large(r) programs are built from small(er) ones >> 3. concurrency -- the model has an explicit account of autonomous >> execution >> 4. cost -- the model has an explicit account of resources like time and >> space > > > While I'm not a sufficiently experienced theorist to dispute the > utility of these properites, my argument against pi calculus is based > on fundamental problems in the operational semantics that cannot > easily be overcome through adding to a framework based on pi > calculus. There are workarounds, but the cumulative effect of > applying those workarounds weakens the model significantly in my > opinion. Specifically: > > 1. Locality is a fundamental concept. Any reasoning about partial > state, composition and communication must recognise locality. > Previous email on this topic has discussed the issues. > 2. Causality is a fundamental concept. In particular, it must be > possible to determine and specify that two occurences are causally > related or unrelated. The interleaved concurrency model of pi > calculus requires that either A happened before B or B happened before > A. In a distributed system, this is simply not the case. When > reasoning about or auditing the execution of a distributed process, > the distinction is very important. > 3. Time is an essential part of the model. While reasonably accurate > synchronisation of time is possible in a co-operative environment, the > reality is that time is only loosely synchronised in a distributed > setting with autonomous participants. A non-linear model of time tied > to locality is preferable. > > I cannot point at a widely-recognised model for distributed > computation that addresses these issues adequately. My own work > proposes a model but is limited in scope and has not been pursued to > an extent that allows us to reason about distributed computations > specified in terms of the model. There is a fairly solid basis for > reasoning about its partially-ordered model in event structures > (Winskel) but again this has not yet been pursued. > > So where do we go? It is possible that the approximation of a > distributed computation provided by pi calculus is sufficient for the > purposes of a CDL when augmented with semantics for locality etc. It > is also possible that it is insufficient or unworkable: the gaps that > have already been identified are significant. Until proven in this > context, I think it would be dangerous to assume pi calculus will work > and not explore alternatives. > > Ciao, > > AndyB >
Received on Monday, 24 November 2003 14:20:38 UTC