Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Design and validation of computer protocols
Holzmann G. (ed), Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (9780135399255)
Date Reviewed: Jul 1 1992

With over two decades’ experience in the development, deployment, and user of computer networks, a large number of textbooks in this field have been written. Those on protocol design usually emphasize performance modeling and analysis in terms of such parameters as overhead, throughput, or delay. It is refreshing to see this new book, which takes the correctness of a protocol as its focus.

The book contains four parts. The first covers the basics of protocol design and the types of design problems to be dealt with. It provides a brief account of protocol structuring and design principles (chapter 2), error control (chapter 3), and flow control (chapter 4). Part 2 discusses formal protocol specification and modeling techniques. It presents a language called PROMELA, developed by the author for the description of protocol validation models (chapter 5) and the specification of protocol correctness requirements (chapter 6). The use of this language is illustrated by the design of a simple file transfer protocol (chapter 7), and PROMELA’s relationship to the finite state machine model is discussed (chapter 8). Part 3 gives an overview of conformance testing (chapter 9), protocol synthesis (chapter 10), and protocol validation techniques (chapter 11). In the final part, a set of PROMELA-based protocol design tools is described in detail. These include a protocol simulator called SPIN (chapter 12) and a protocol validator (chapter 13). These tools are applied to validate the PROMELA-specified file transfer protocol (chapter 14). In the appendices, complete source code for the tools is provided.

Because of the complexity of the interactions of concurrent processes in distributed systems, it is challenging to ensure that a protocol designed for such interactions is logically consistent and complete. It is even more difficult to prove that such a protocol is correct. Manual proofs are not only tedious and time consuming, they are inevitably susceptible to human errors. A central theme of the book is that automated tools are needed to aid the design task and that such tools are now ready to handle real-world protocols.

A key concept for the tool-based design discipline developed in the book is an implementation-independent validation model that expresses the essential characteristics of a protocol in terms of process interactions. Automated tools can interpret such validation models and uncover design flaws. The contents of the book are organized around this concept. The author leads the reader step by step through the issues of protocol validation by presenting the PROMELA language, showing how it can be used to specify the file transfer protocol, explaining the strategies to attack the state space explosion problem in the development of an automated validation tool system, and finally using this system to validate the file transfer protocol.

The book is well organized and the author has given an excellent description of his work, particularly the supertrace algorithm, and the tools that he developed. The author describes work done by others only in a cursory manner, however. Although the author ends each chapter with bibliographic notes to guide the reader to probe further, I would like a more in-depth tutorial survey of the state of the art in the subject. Despite this, I would recommend this book for both students and professionals in the field.

Reviewer:  W. S. Lai Review #: CR115004
Bookmark and Share
 
Protocol Verification (C.2.2 ... )
 
 
Data Communications (C.2.0 ... )
 
 
Performance of Systems (C.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Protocol Verification": Date
Improving round-trip time estimates in reliable transport protocols
Karn P., Partridge C. ACM Transactions on Computer Systems 9(4): 364-373, 1991. Type: Article
Aug 1 1992
Algebraic specification and verification of communication protocols
Koomen C. Science of Computer Programming 5(1): 1-36, 1985. Type: Article
Nov 1 1985
Fault-tolerant broadcasts
Schneider F., Gries D., Schlichting R. Science of Computer Programming 4(1): 1-15, 1984. Type: Article
Feb 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy