Book contents
- Frontmatter
- Preface
- Contents
- An introduction to process algebra
- Two simple protocols
- Proving mutual exclusion with process algebra
- Process algebra as a tool for the specification and verification of CIM-architectures
- A process creation mechanism in process algebra
- Correctness proofs for systolic algorithms: palindromes and sorting
- Verification of an algorithm for log-time sorting by square comparison
- On the Amoeba protocol
- Process algebra semantics of POOL
- Some observations on redundancy in a context
- A modular approach to protocol verification using process algebra
- Index of concepts
- Index of names
- Index of symbols and notation
On the Amoeba protocol
Published online by Cambridge University Press: 03 December 2009
- Frontmatter
- Preface
- Contents
- An introduction to process algebra
- Two simple protocols
- Proving mutual exclusion with process algebra
- Process algebra as a tool for the specification and verification of CIM-architectures
- A process creation mechanism in process algebra
- Correctness proofs for systolic algorithms: palindromes and sorting
- Verification of an algorithm for log-time sorting by square comparison
- On the Amoeba protocol
- Process algebra semantics of POOL
- Some observations on redundancy in a context
- A modular approach to protocol verification using process algebra
- Index of concepts
- Index of names
- Index of symbols and notation
Summary
The Amoeba distributed operating system supports the transaction as its communication primitive. The protocol that the Amoeba system uses to carry out sequences of transactions reliably and efficiently is analyzed in terms of process algebra. The design goals are formulated as process algebra equations and it is established that one of them is not met. This can be repaired by adding an extra transition. Subsequently it is verified that the revised version meets its specifications.
It has been observed that formal verification methods for mathematical proofs, computer programs, communication protocols and the like are usually illustrated by ‘toy’ examples and that such proofs tend to be discouragingly long. In order to demonstrate that it is feasible to verify a ‘real-life’ communication protocol by means of process algebra, we picked one from the literature.
In his Ph.D. thesis, Mullender investigates issues he considered while developing the Amoeba distributed operating system. In Section 3.2.4 of a transaction protocol is described to which we will refer as the Amoeba protocol. In the preceding sections of the design goals are described that this protocol is supposed to satisfy. He does not give a formal verification that his protocol meets this criteria. In fact, it turns out that one of them is not met. Note that this only applies to the simplified version of the protocol that appears in, the actual implementation uses a much more complicated version in which this mistake is not found.
Section 1 of this article gives the minimum background information necessary for understanding the rest of the article.
In Section 2 the design goals are formulated in English and in terms of process algebra.
- Type
- Chapter
- Information
- Applications of Process Algebra , pp. 147 - 172Publisher: Cambridge University PressPrint publication year: 1990