- Taschenbuch: 176 Seiten
- Verlag: Cambridge University Press (20. Mai 1999)
- Sprache: Englisch
- ISBN-10: 0521658691
- ISBN-13: 978-0521658690
- Größe und/oder Gewicht: 15,2 x 1 x 22,9 cm
- Durchschnittliche Kundenbewertung: Schreiben Sie die erste Bewertung
- Amazon Bestseller-Rang: Nr. 70.092 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
- Komplettes Inhaltsverzeichnis ansehen
Communicating and Mobile Systems: The Pi-Calculus (Englisch) Taschenbuch – 20. Mai 1999
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Wenn Sie dieses Produkt verkaufen, möchten Sie über Seller Support Updates vorschlagen?
'… may well become the standard work on the π-calculus.' Martin Hoffman, Zentralblatt MATH
Über das Produkt
Robin Milner introduces a new way of modelling communication that reflects its central position in computing. Everything is introduced by means of examples but the aim of the book is to develop the π-calculus, a theory whose scope includes the internet just as much as programs, algorithms and programming languages.Alle Produktbeschreibungen
|5 Sterne (0%)|
|4 Sterne (0%)|
|3 Sterne (0%)|
|2 Sterne (0%)|
|1 Stern (0%)|
Dieses Produkt bewerten
Die hilfreichsten Kundenrezensionen auf Amazon.com
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.
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.