Differing from other data communications books, this one emphasizes the logic behind the design process. It discusses design principles in order to provide guidelines for the design of protocols that are logically consistent. For courses in data communications, operating systems, or protocol design. This volume discusses the fundamental problems of designing logically consistent methods of communication between multiple computer processes. Standard protocol design problems, such as error control and flow control, are covered in detail, but also structured design methods and the construction of formal validation models. The book contains complete listings and explanations of new protocol validation and design tool called SPIN. Author is in charge of protocol design at Bell Labs. Professionals who bought Tanenbaum's COMPUTER NETWORKS, 2/E and Comer's TCP/IP will buy this. This is the first book to cover automated protocol design and validation tools extensively.