Compositional Verification of Concurrent and Real-Time Systems


Book Description

With the rapid growth of networking and high-computing power, the demand for large-scale and complex software systems has increased dramatically. Many of the software systems support or supplant human control of safety-critical systems such as flight control systems, space shuttle control systems, aircraft avionics control systems, robotics, patient monitoring systems, nuclear power plant control systems, and so on. Failure of safety-critical systems could result in great disasters and loss of human life. Therefore, software used for safety critical systems should preserve high assurance properties. In order to comply with high assurance properties, a safety-critical system often shares resources between multiple concurrently active computing agents and must meet rigid real-time constraints. However, concurrency and timing constraints make the development of a safety-critical system much more error prone and arduous. The correctness of software systems nowadays depends mainly on the work of testing and debugging. Testing and debugging involve the process of de tecting, locating, analyzing, isolating, and correcting suspected faults using the runtime information of a system. However, testing and debugging are not sufficient to prove the correctness of a safety-critical system. In contrast, static analysis is supported by formalisms to specify the system precisely. Formal verification methods are then applied to prove the logical correctness of the system with respect to the specification. Formal verifica tion gives us greater confidence that safety-critical systems meet the desired assurance properties in order to avoid disastrous consequences.




Specification and Compositional Verification of Real-Time Systems


Book Description

The research described in this monograph concerns the formal specification and compositional verification of real-time systems. A real-time programminglanguage is considered in which concurrent processes communicate by synchronous message passing along unidirectional channels. To specifiy functional and timing properties of programs, two formalisms are investigated: one using a real-time version of temporal logic, called Metric Temporal Logic, and another which is basedon extended Hoare triples. Metric Temporal Logic provides a concise notationto express timing properties and to axiomatize the programming language, whereas Hoare-style formulae are especially convenient for the verification of sequential constructs. For both approaches a compositional proof system has been formulated to verify that a program satisfies a specification. To deduce timing properties of programs, first maximal parallelism is assumed, modeling the situation in which each process has itsown processor. Next, this model is generalized to multiprogramming where several processes may share a processor and scheduling is based on priorities. The proof systems are shown to be sound and relatively complete with respect to a denotational semantics of the programming language. The theory is illustrated by an example of a watchdog timer.




Concurrent and Real-time Systems


Book Description

The CSP approach has been widely used in the specification, analysis and verification of concurrent and real-time systems, and for understanding the particular issues that can arise when concurrency is present. It provides a language which enables specifications and designs to be clearly expressed and understood, together with a supporting theory which allows them to be analyzed and shown to be correct. This book supports advanced level courses on concurrency covering timed and untimed CSP. The first half introduces the language of CSP, the primary semantic models (traces, failures, divergences and infinite traces), and their use in the modelling, analysis and verification of concurrent systems. The second half of the book introduces time into the language, brings in the timed semantic model (timed failures) and finally presents the theory of timewise refinement which links the two halves together. Accompanying website: http://www.cs.rhbnc.ac.uk/books/concurrency Containing the following: -Exercises and solutions -Instructors resources - Example CSP programs to run on FDR and ProBe -Links to useful sites Partial Contents: Part I: The Language of CSP; Sequential Processes; Concurrency; Abstraction and Control Flow; Part II: Analyzing Processes; Traces; Specification and Verification with Traces; Stable Failures; Specification and Verification with Failures; Failures, Divergences, and Infinite Traces; Part III: Introducing Time; The Timed Language; Timed transition systems; Part IV: Timed Analysis; Semantics of Timed CSP; Timed Specification and Verification; Timewise Refinement; Appendix A: Event-based Time; A.1 Standard CSP and $tock$; A.2 Translating from Timed CSP; A.3 Notes; Appendix B: Model-checking with FDR; B.1 Interacting with FDR; B.2 How FDR Checks Refinement; B.3 Machine readable CSP; Index of Processes.




Automated Technology for Verification and Analysis


Book Description

This book constitutes the refereed proceedings of the 11th International Symposium on Automated Technology for Verification and Analysis, ATVA 2013, held at Hanoi, Vietnam, in October 2013. The 27 regular papers, 3 short papers and 12 tool papers presented together with 3 invited talks were carefully selected from73 submissions. The papers are organized in topical, sections on analysis and verification of hardware circuits, systems-on-chip and embedded systems, analysis of real-time, hybrid, priced/weighted and probabilistic systems, deductive, algorithmic, compositional, and abstraction/refinement techniques for analysis and verification, analytical techniques for safety, security, and dependability, testing and runtime analysis based on verification technology, analysis and verification of parallel and concurrent hardware/software systems, verification in industrial practice, and applications and case studies.




Successful Evolution of Software Systems


Book Description

In today's fast-changing, competitive environment, having an up-to-date information system (IS) is critical for all companies and institutions. Rather than creating a new system from scratch, reengineering is an economical way to develop an IS to match changing business needs. Using detailed examples, this practical book gives you methods and techniques for reengineering systems for flexibility and reliability. It helps you reengineer a system to continue to provide for business critical missions as well as achieve a smooth transformation to an up-to-date software technology environment. What's more, it shows you how to redevelop a flexible system that can evolve to meet future business objectives, reduce start time and save money in the reengineering process.




Specifying Message Passing and Time-Critical Systems with Temporal Logic


Book Description

Free radicals, which are key intermediates in many thermal, photochemical and radiation processes, are important for a proper understanding of fundamental natural processes and the successful development of organic syntheses. After about one decade volume II/18 serves as a supplement and extension to volume II/13 and covers rate constants and other kinetic data of free radical reactions in liquids. Furthermore II/18 contains new chapters on reactions of radicals in excited states and of carbenes, nitrenes and analogues. Selected species in aqueous solutions for which other compilations are available were deliberately omitted as before, and for the same reason electron transfer equilibria of organic radicals were not covered.




Knowledge Engineering and Agent Technology


Book Description

The use of Knowledge Engineering and Agent Technology (KEAT) for application development is now recognized as an alternative to conventional software techniques in many application domains. From the background of the IFIP IT&KNOWS conference held in late 1998, this volume aims to discuss the role and the perspectives of domain models and corresponding reasoning processes in the different application fields under a common perspective to create conceptual bases and methods to develop and to improve the use of this type of approach in the context of information technology.




Real-Time Systems


Book Description

The first book to provide a comprehensive overview of the subject rather than a collection of papers. The author is a recognized authority in the field as well as an outstanding teacher lauded for his ability to convey these concepts clearly to many different audiences. A handy reference for practitioners in the field.




Real-Time: Theory in Practice


Book Description

In the past decade, the formal theory of specification, verfication and development of real-time programs has grown from work of a few specialized groups to a real "bandwagon". Many eminent research groups have shifted their interests in this direction. Consequently, research in real-time is now entering established research areas in formal methods, such as process algebra, temporal logic, and model checking. This volume contains the proceedings of a workshop dedicated to the theory of real-time with the purpose of stepping back and viewing the results achieved as well as considering the directions of ongoing research. The volume gives a representative picture of what is going on in the field worldwide, presented by eminent, active researchers. The material in the volume was prepared by the authors after the workshop took place and reflects the results of the workshop discussions.




Concurrency Verification


Book Description

An advanced 2001 textbook on verification of concurrent programs using a semantic approach which highlights concepts clearly.