You are on page 1of 179
Laboratory for Foundations of Computer Science Department of Computer Science - University of Edinburgh A Calculus of Communicating Systems by Robin Milner (First published by Springer-Verlag as Vol.92 of Lecture Notes in Computer Science) LECS Report Series ECS-LFCS-86-7 ‘August 1986 LFCS Department of Computer Science University of Edinburgh The King's Buildings Edinburgh EH9 3Z A CALCULUS OF COMMUNICATING SYSTEMS Robin Milner University of Edinburgh 1986 (First published by Springer Verlag as Vol.92 of Lecture Notes in Computer Science) Preface ‘This work was originally published by Springer Verlag as Volume 92 of their Lecture Notes in Computer Science, in 1980. According to their normal practice with the Lecture Notes Series, that publication has been discontinued. I am grateful to Springer Verlag for including the work in their Series and for the resulting success in disseminating the ideas. Since many people still ask for the book, the Computer Science Department at Edinburgh has decided to reissue it. This is not a revised edition; the work is completely unchanged except that pages 129 and 130 are now in the right order—they somehow got swapped in the Springer Verlag version—and a few typographical errors have been corrected. However, the algebraic approach to communicating systems has burgeoned in the last five years or so, and the reader is entitled to be told how these develop- ments have affected the material of this book. The most important development is the discovery by David Park of the idea of bisimulation (1). The following para- graphs will not be immediately intelligible to beginning readers, but for those with some familiarity they will show the important technical consequences of this new idea. ‘The main effect of the bisimulation idea is twofold: (1) in the theoretical presentation of the two principal equivalence relations, strong equivalence (Chap- ter 8) and observation equivalence (Chapter 7), and (2) in the practical technique for proving two agents equivalent in either sense. The difference is as follows. In the case of strong equivalence (~) the definition in this book gives ~ as the limit Nkew ~é of a descending chain ~o,~1,...,~z,.-. of equivalence relations, where ~nii= F(~x), and where F is the monotonic function of binary relations over agents defined thus: (B,C) € F(R) iff, for every action 4 € AU {r} and value v 1. If BS, BY then, for some C’, C ; C! and (B',C) € R 2. If C “5 CO! then, for some B’, B “> BY and (B',C!) ER (~o is chosen as the universal relation, and then ~s is easily shown to decrease as k increases). Instead of this, we first define a strong bisimulation to be a relation R over agents such that R C F(R); then we define strong equivalence to be the largest strong bisimulation, which can be also seen to be the union of all strong bisimulations; that is, we define ~= U{R | R C ¥(R)}. Concerning proof technique, it becomes easier and more intuitively appealing to prove that two agents are equivalent. Instead of establishing B ~ C by proving B ~, C inductively for k (as frequently done in this book), we simply exhibit a relation R such that (B,C) € R, and prove that 2 is a strong bisimulation.

You might also like