Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Verifying Concurrent Processes Using Temporal Logic (Lecture Notes in Computer Science) (v. 129)

Buy

Concurrent processes can exhibit extremely complicated behavior, and neither informal reasoning nor testing is reliable enough to establish their correctness. In this thesis, we develop a new technique for the verification of parallel programs. The technique is stated in terms of axioms and inference rules, and it is used to prove safety and liveness properties of parallel programs. Safety properties are assertions that must be satisfied by the system state at all times; they are analogous to partial correctness. Liveness properties refer to events that will occur in the future, such as program termination or the eventual receipt of a message. In addition to the formal proof rules, we present several heuristics to aid in the preparation of correctness proofs.

We model a parallel program as a set of interacting modules (processes and monitors), and we exploit this modularity in the verification process. First we prove properties of the low-level modules directly from their code. We then combine the specifications of the low-level modules to prove properties of higher-level modules, without again referring to the code. Eventually, we prove properties of the entire program.

We discuss the application of this verification technique to two classes of parallel programs: network protocols and resource allocators. Most previous approaches to verifying network protocols have been based upon reachability arguments for finite-state models of the protocols. Only protocols of limited complexity can be verified using the finite-state model, because of the com- binatorial explosion of the state space as the complexity of the protocol in- creases. In contrast, our approach allows us to abstract information from the details of the implementation, so that the proof need not grow unmanageably as the protocol size increases.

The discussion of resource allocation centers around Hoare's structured paging system, which is a complex hierarchical program. With this example, we demonstrate that many of the techniques used in program verification can be used for specification as well.

The thesis also describes a number of tools that have been useful in proving concurrent programs. Two of the most important are history variables and temporal logic. We employ history variables to record the interaction between the modules that constitute a program. Temporal logic serves as a convenient notation for stating and proving liveness properties.

(HTML tags aren't allowed.)

Practical AVR Microcontrollers: Games, Gadgets, and Home Automation with the Microcontroller Used in the Arduino (Technology in Action)
Practical AVR Microcontrollers: Games, Gadgets, and Home Automation with the Microcontroller Used in the Arduino (Technology in Action)
The microcontroller unit (MCU) is the ultimate electronics tinker-toy, and in this book you’re going to see how to tinker away with it to your heart’s delight! My intended audience for this book is those who like to learn hands-on. Learning by doing and seeing has always been my preferred way to learn: If it’s yours...
Handbook of Natural Language Processing, Second Edition
Handbook of Natural Language Processing, Second Edition

As the title of this book suggests, it is an update of the first edition of the Handbook of Natural Language Processing which was edited by Robert Dale, Hermann Moisl, and Harold Somers and published in the year 2000. The vigorous growth of new methods in Natural Language Processing (henceforth, NLP) since then, strongly suggested that...

Navigational Surgery of the Facial Skeleton
Navigational Surgery of the Facial Skeleton

Computer-assisted techniques in the surgery of the facial skeleton including the skull base are depicted for the very first time in this atlas of navigational surgery. Experienced surgeons as well as trainees will benefit from the detailed and well-illustrated information on the use of computer technology in clinical routine, accompanied by...


Data Protection and Information Lifecycle Management
Data Protection and Information Lifecycle Management

The Definitive Guide to Protecting Enterprise Data

Your enterprise data is your most critical asset. If it's compromised, your business can be destroyed. Don't let that happen-leverage today's state-of-the-art strategies, best practices, and technologies and protect your critical information. In...

Foundations of Dependable Computing: Paradigms for Dependable Applications
Foundations of Dependable Computing: Paradigms for Dependable Applications
Foundations of Dependable Computing: Paradigms for Dependable Applications, presents a variety of specific approaches to achieving dependability at the application level. Driven by the higher level fault models of Models and Frameworks for Dependable Systems, and built on the lower level abstractions implemented in a third companion book...
Handbook of Wireless Local Area Networks: Applications, Technology, Security, and Standards
Handbook of Wireless Local Area Networks: Applications, Technology, Security, and Standards

Consisting of 25 articles contributed by expert authors from around the world, this handbook begins with a detailed introduction that provides an overview of LAN technologies, performance, security, and security protocols. It then delves further into WLAN technology, covering space-time processing, WLAN and cellular convergence, and a...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy