by Milner, Robin
Publisher:Cambridge University Press
Communication is a fundamental and integral part of computing, whether between different computers on a network, or between components within a single computer. In this book Robin Milner introduces a new way of modelling communication that reflects its position. He treats computers and their programs as themselves built from communicating parts, rather than adding communication as an extra level of activity. Everything is introduced by means of examples, such as mobile phones, job schedualers, vending machines, data structures, and the objects of object-oriented programming. But the aim of the book is to develop a theory, the pi-calculus, in which these things can be treated rigorously. The pi-calculus differs from other models of communicating behaviour mainly in its treatment of mobility. The movement of a piece of data inside a computer program is treated exactly the same as the transfer of a message--or indeed an entire computer program--across the internet. One can also describe networks which reconfigure themselves. The calculus is very simple but powerful; its most prominent ingredient is the notion of a name. Its theory has two important ingredients: the concept of behavioural (or observational) equivalence, and the use of a new theory of types to classify patterns of interactive behaviour. The internet, and its communication protocols, fall within the scope of the theory just as much as computer programs, data structures, algorithms and programming languages. This book is the first textbook on the subject; it has been long-awaited by professionals and will be welcome by them, and their students.