This is the introductory paper by R. Milner on pi-calculus:
http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-85
The page has also a link to the companion paper which goes deeper into theory.
--
ZeljkoVrba
I was hoping to find a nice, easy intro to this here, but alas not. All I've got so far is this:
http://www-ics.ee.ic.ac.uk/~frank/surp98/report/gdj1/pi-calculus.html
and a pdf of a paper on the Polyadic Pi calculus, but it looks a bit heavy going...
--
DannyAyers
I highly recommend RobinMilner's book, "Communicating and Mobile Systems: the Pi-Calculus", ISBN 0521658691.
--
DaveHerman
Thanks - it's certainly well written, though the maths is pretty hard.
I just came across this page again while searching for a link for the book as the joint-scariest on my bookshelf, alongside DougLea's "Concurrent Programming in Java"
--
DannyAyers
Wikipedia entry:
http://en.wikipedia.org/wiki/Pi-calculus
Comparable to the
LambdaCalculus but where that is based on Functions,
PiCalculus is based on Processes and arose from modelling Mobile systems. Many strange connectives, example:
/\/-> (like a crooked arrow)
It can be used to specify languages similar to how
LambdaCalculus is used in
DenotationalSemantics - example with
PrologLanguage:
http://scholar.google.com/scholar?cluster=6035347962773538537
A
DenotationalSemantics of
PiCalculus itself is given in
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.1179.
A programming language based on it is
PictLanguage.
An example of the
DiningPhilosophers Problem in Nomadic Pict:
http://www.cs.put.poznan.pl/pawelw/npict/Philosophers/hall.pi
See also:
JoinCalculus,
ModelsOfComputation.
CategoryConcurrency