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.

### Contents

Glossary; Part I. Communicating Systems: 1. Introduction; 2. Behaviour of automata; 3. Sequential processes and bisimulation; 4. Concurrent processes and reaction; 5. Transitions and strong equivalence; 6. Observation equivalence: theory; 7. Observation equivalence: examples; Part II. The π-Calculus: 8. What is mobility? 9. The π-calculus and reaction; 10. Applications of the π-calculus; 11. Sorts, objects and functions; 12. Commitments and strong bisimulation; 13. Observation equivalence and examples; 14. Discussion and related work; Bibliography; Index.

### Reviews

"The monograph is short, self-contained, and extremely readable. It covers all the important points in enough detail for the subtleties involved to be understood, while still being general enough that the material is applicable to other concurrent calculi variants..." Professor Riccardo Pucella, Cornell University

"The presentation is remarkably self-contained and clear...an excellent reference for researchers in the field." Mathematical Reviews