Books

Short works

Books : reviews

A. W. Roscoe.
The Theory and Practice of Concurrency.
Prentice-Hall. 1998

The Theory and Practice of Concurrency is a comprehensive text on Communicating Sequential Processes, allowing readers to advance from complete beginners to the state of the art both in the theory of CSP and in its practical application. It assumes only a basic mathematical knowledge of sets, sequences and functions.

The first part provides a foundation course on CSP suitable for an undergraduate or introductory graduate course. The second part covers the theory of CSP, demonstrating a variety of semantic approaches. The third part shows how issues such as security, real-time, fault tolerance, protocols, and distributed databases can be modelled and verified using CSP and its automated tools.

Jim Davies, A. W. Roscoe, Jim Woodcock, eds.
Millennial Perspectives in Computer Science: proceedings of the 1999 Oxford-Microsoft symposium in honour of Sir Tony Hoare.
Prentice-Hall. 2000

Contents

Samson Abramsky. Concurrent interaction games. 2000
Richard S. Bird, Jeremy Gibbons, Geraint Jones. Program optimisation, naturally. 2000
Dines Bjorner. Domain modelling. 2000
Richard P. Brent. The binary Euclidean algorithm. 2000
Stephen Brookes. Communicating Parallel Processes. 2000
Stephen Cameron. Computing with shapes. 2000
K. Mani Chandy, Michel Charpentier. Predicate transformers for composition. 2000
Ole-Johan Dahl. A note on monitor versions. 2000
Edsger W. Dijkstra. A formula is worth a thousand pictures. 2000
Mike J. C. Gordon. Linking higher order logic to binary decision diagrams. 2000
David Gries, Fred B. Schneider. Substitution of equals for equals. 2000
He Jifeng, Xu Qiwen. Advanced features of the duration calculus. 2000
Eric C. R. Hehner. Formalism and the variable. 2000
Michael Jackson. The real world. 2000
Cliff B. Jones. Compositionality, interference and concurrency. 2000
Donald E. Knuth. Dancing links. 2000
David May. The transputer revisited. 2000
Bertrand Meyer. Principles of language design and evolution. 2000
Robin Milner. Computing and communication-what's the difference?. 2000
Jayadev Misra. Generating-functions of interconnection networks. 2000
Carroll Morgan, Annabelle McIver, J. W. Sanders. Probably Hoare? Hoare probably!. 2000
Roger M. Needham. Distributed computing: opportunity, challenge, or misfortune?. 2000
C.-H. L. Ong, A. S. Murawski. A linear-time algorithm for verifying MLL proof nets. 2000
John C. Reynolds. Intuitionistic reasoning about shared mutable data structure. 2000
A. W. Roscoe, G. M. Reed, R. Forster. The successes and failures of behavioural models. 2000
J. Michael Spivey, Silvija Seres. The algebra of searching. 2000
Bernard Sufrin, Oege de Moor. Modeless structure editing. 2000
Antti Valmari. A chaos-free failures-divergences semantics. 2000
Niklaus Wirth. Records, modules, objects, classes, components. 2000
Jim Woodcock, Jim Davies, Christie Bolton. Abstract data types and processes. 2000
Zhou Chaochen, Dimitar P. Guelev, Zhan Naijun. A higher-order duration calculus. 2000

Peter Y. A. Ryan, Steve Schneider, Michael Goldsmith, Gavin Lowe, A. W. Roscoe.
The Modelling and Analysis of Security Protocols: the CSP approach.
Addison Wesley. 2001

Security protocols are one of the most critical elements in enabling the secure communication and processing of information, ensuring its confidentiality, integrity, authenticity and availability. These protocols are vulnerable to a host of subtle attacks, so designing protocols to be impervious to such attacks has proved to be extremely challenging and error prone.

This book provides a thorough and detailed understanding of one of the most effective approaches to the design and evaluation of security critical systems, describing the role of security protocols in distributed secure systems and the vulnerabilities to which they are prey.

The authors introduce security protocols, the role they play and the cryptographic mechanisms they employ, and progress to detail their role in security architectures, e-commerce, e-cash and so on. Precise characterizations of key concepts in information security, such as confidentiality, authentication and integrity are discussed and a range of tools and techniques are described which will ensure that a protocol guarantees certain security services under appropriate assumptions.