Synopses & Reviews
Here, one of the leading figures in the field provides a comprehensive survey of the subject, beginning with prepositional logic and concluding with concurrent programming. It is based on graduate courses taught at Cornell University and is designed for use as a graduate text. Professor Schneier emphasises the use of formal methods and assertional reasoning using notation and paradigms drawn from programming to drive the exposition, while exercises at the end of each chapter extend and illustrate the main themes covered. As a result, all those interested in studying concurrent computing will find this an invaluable approach to the subject.
Synopsis
Concurrent computing is gaining popularity as it becomes increasingly feasible to implement distributed computing across networks of workstations. Written by one of the subject's leading figures, this is a comprehensive survey of the subject beginning with prepositional logic and concluding with concurrent programming. The book emphasizes the use of formal methods and assertional reasoning using notation and paradigms drawn from programming. Exercises are included at the end of each chapter, making the book an invaluable approach to the subject.
Synopsis
Much software today is structured as concurrent programs. This graduate-level text offers a self-contained and in-depth treatment of the subject. Formal methods and assertional reasoning drive the exposition. Not only are derivation and reasoning about concurrent programs discussed, but the assertional approach provides a compelling way to motivate and understand the more traditional concerns in concurrent programming.
Description
Includes bibliographical references (p. [435]-449) and index.
Table of Contents
Contents: Introduction.- Formal Logic.- Temporal Logic.- Notation and Logic for Sequential Programming.- Concurrency and Inteference.- Saftey Properties: Invariance.- Safety Properties involving Past terms.- Verifying arbitrary temporal logic properties.- Programming with fine-grained atomic actions.- Semaphores, locks, and conditional critical regions.- Message passing and distributed programming.- Putting it together.