Customer Reviews

4 Reviews
5 star:
4 star:
3 star:    (0)
2 star:    (0)
1 star:    (0)
Average Customer Review
Share your thoughts with other customers
Create your own review
Most Helpful First | Newest First

13 of 14 people found the following review helpful
5.0 out of 5 stars Optimal as a starter in pi-calculus, January 7, 2003
Pietro Braione (Milano, MI Italy) - See all my reviews
This review is from: Communicating and Mobile Systems: The Pi Calculus (Paperback)
How can we describe communicating mobile systems? How can we state that a communicating system "behaves as", and therefore "can be replaced with", another one? This short book (about 150 pages plus bibliography, TOC and index) gives an answer to these questions. The books is in two parts: The first presents CCS, the simpler formalism from which pi-calculus originated, which does not model information exchange between communicating systems. From hence the more complex pi-calculus is presented. The aim is presenting the theory of equivalences between communicating processes, based on bisimulation. First a language for processes is introduced, with its formal syntax and its semantics, then a theory of behavioral equivalence is developed via the bisimilarity concept, and observation equivalence between processes is introduced as a particular flavour of bisimilarity. Finally is proved how a process can be freely replaced by an equivalent one in any context without affecting the overall behavior.
If you are a student or researcher in the field of formal methods for describing and reasoning on communicating systems the book is definitely a must: It introduces quickly many key concepts of pi-calculus, bisimulation and observational semantics. It is also well written, ideal for students. Its plus is the strong link between CCS and pi-calculus, and the fact that, coming after a long experience with the zillions of variants of the pi-calculus, this presents a very clean and self-contained variant. This is also its downside: Some concepts are not introduced, like early and late variants of strong bisimulations. Two semantics are presented, labelled transition and (unlabelled) reduction systems, but without explaining why, nor any equivalence semantics is given for the reduction system. As a result, it seems that reduction semantics is there just as an exercise, but that we do not really need it. More aware readers would possibly prefer other books, like e.g. Sangiorgi and Walker, which appears as a very comprehensive account of pi and its variants.
Also note that the book's purpose is presenting a theory of equivalence between communicating systems, not applications of this theory (the examples just serve the purpose to enlighten the concepts). This implies, for example, that it is not a textbook on how you can write and prove correctness of concurrent/distributed software, nor a collection of algorithms.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

6 of 6 people found the following review helpful
4.0 out of 5 stars Gives helpful insights into the workings and foundations of the pi-calculus, April 10, 2006
Verified Purchase(What's this?)
This review is from: Communicating and Mobile Systems: The Pi Calculus (Paperback)
Process algebras, of which the pi-calculus is an example, have been the subject of intense interest in the last decade, primarily because of their applications. These applications have concentrated mostly in business process modeling, the modeling of concurrent processes, and computational biology. This short book is an introduction to pi-calculus from the standpoint of Robin Milner, its originator. The length of the book should not dissuade interested individuals from reading it, as there is much to be gained from its perusal, due to the insights that the author grants into the formalism and workings of the pi-calculus.

The book is divided into two parts, with the first part being a general overview of how to model or describe concurrent communicating systems, and the second an overview of the pi-calculus. In the first part, the author wants to make a distinction between models of computing that involve `computation', and those that involve `interactional' behavior. The former is done using Turing machines and the lambda calculus, while the latter is illustrated in the pi-calculus. To get to the pi-calculus, the author wants first to generalize the classical theory of automata to situations where the automata run concurrently and interact with each other. He emphasizes that interactive behavior is best represented by a non-deterministic automaton which cannot be equated (behaviourally) with a deterministic automaton.

In order to justify this assertion more rigorously, the author discusses the notion of `bisumulation' of nondeterministic sequential processes, as essentially a warm-up for the treatment of concurrent processes. This notion defines an equivalence relation called `bisimilarity' which respects the nondeterminism of these processes. When dealing with concurrent processes, the makes a distinction between actions that are externally observable from those which are internal (interactions between the components themselves). In addition, one needs a refined notion of when concurrent processes are equivalent in some sense, since their effects or behaviors, whether observable or not, may essentially be equivalent. Thus the author discusses the notion of `structural congruence' and that of `strong equivalence.' The latter is a generalization of the notion of bisimulation, but as it turns out one can show that every concurrent system is strongly congruent to a sequential one. This and the fact that strong congruence is still sensitive to the amount of interaction between internal processes motivates the author to define `weak bisimulation'.

The pi-calculus is viewed as a `calculus of mobile processes.' Introduced in 1992 by the author, it views the movement of a process as due entirely to the movement of its links, i.e. in a virtual space of linked processes. The emphasis in the pi-calculus is on certain patterns of behavior that are respected by a given family of systems, and not on `type systems' in the usual programming paradigm. Data is to be represented by a name, the latter of which is essentially a communication channel. The author first defines the pi-calculus for the case where a message consists of exactly one name. Readers familiar with the earlier work of the author will find the notation he uses familiar, but those who are not will find it somewhat peculiar, and it takes some getting used to. This is due partially to the fact that a name can be bound in an input action but can be free in an output action. The pi-calculus does have a diagrammatic representation, and this is elucidated upon in the book. Data structures, so important in the usual computing paradigms, are viewed in the pi-calculus as a special kind of process. Several examples are given on how to apply the pi-calculus to some of the usual situations encountered in programming. The paradigms of object-oriented and functional programming can be realized in the pi-calculus as the author shows using a type system for the pi-calculus. Processes, as well as data, can be sent as messages. The type systems he uses involve as expected the `sorts' and `sortings' that enable the classification of the sorts of information that can be transmitted in an interaction.

So is the pi-calculus a different computing paradigm that is to be distinguished from Turing computability or the lambda calculus? One should probably not think of it as such, since the author shows in the book that the lambda calculus can be expressed in the pi-calculus formalism. In addition, one should not expect that the pi-calculus processes require something other than a Turing machine for their computation. It would indeed be a surprise if this were the case, but as it stands now there is no indication that there are processes computed from the standpoint of the pi-calculus that cannot be computed from the standpoint of Turing machines. The Church-Turing thesis therefore remains in effect for the pi-calculus.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

16 of 20 people found the following review helpful
4.0 out of 5 stars good overview of pi, but a bit thick on formalism at times, March 30, 2000
By A Customer
This review is from: Communicating and Mobile Systems: The Pi Calculus (Paperback)
This is a very good overview of pi-calculus, It starts off well with a review of automata theory and then extends it to communication and concurrency. It focuses more on the principles than on practical aspects of using it for real systems. It uses good examples throughout, and with the formalistic presentation it requires careful attention of the reader. It is hard read at times but worth it. However, it is not for a casual reader, but for the really motivated.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

1 of 3 people found the following review helpful
5.0 out of 5 stars Bravo, pi-calculus here I come, February 5, 2006
Pascal Perez (Stanford University, CA) - See all my reviews
This review is from: Communicating and Mobile Systems: The Pi Calculus (Paperback)
An excellent overview of pi-calculus. This book is interesting, concise, precise, formal... in short: perfect. A must read.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Most Helpful First | Newest First


Communicating and Mobile Systems: The Pi Calculus
Communicating and Mobile Systems: The Pi Calculus by Robin Milner (Paperback - June 13, 1999)
$60.00 $47.68
In Stock
Add to cart Add to wishlist
Search these reviews only
Rate and Discover Movies
Send us feedback How can we make Amazon Customer Reviews better for you? Let us know here.