Abstraction, Refinement and Proof for Probabilistic Systems [electronic resource] /
McIver, Annabelle.author.
Morgan, Charles Carroll.author.
Probabilistic techniques are increasingly being employed in computer programs and systems because they can increase efficiency in sequential algorithms, enable otherwise nonfunctional distribution applications, and allow quantification of risk and safety in general. This makes operational models of how they work, and logics for reasoning about them, extremely important. Abstraction, Refinement and Proof for Probabilistic Systems presents a rigorous approach to modeling and reasoning about computer systems that incorporate probability. Its foundations lie in traditional Boolean sequential-program logic—but its extension to numeric rather than merely true-or-false judgments takes it much further, into areas such as randomized algorithms, fault tolerance, and, in distributed systems, almost-certain symmetry breaking. The presentation begins with the familiar "assertional" style of program development and continues with increasing specialization: Part I treats probabilistic program logic, including many examples and case studies; Part II sets out the detailed semantics; and Part III applies the approach to advanced material on temporal calculi and two-player games. Topics and features: * Presents a general semantics for both probability and demonic nondeterminism, including abstraction and data refinement * Introduces readers to the latest mathematical research in rigorous formalization of randomized (probabilistic) algorithms * Illustrates by example the steps necessary for building a conceptual model of probabilistic programming "paradigm" * Considers results of a large and integrated research exercise (10 years and continuing) in the leading-edge area of "quantitative" program logics * Includes helpful chapter-ending summaries, a comprehensive index, and an appendix that explores alternative approaches This accessible, focused monograph, written by international authorities on probabilistic programming, develops an essential foundation topic for modern programming and systems development. Researchers, computer scientists, and advanced undergraduates and graduates studying programming or probabilistic systems will find the work an authoritative and essential resource text.
Description based upon print version of record.
Includes bibliographical references (p. [345]-355) and indexes.
Probabilistic guarded commands and their refinement logic -- to pGCL: Its logic and its model -- Probabilistic loops: Invariants and variants -- Case studies in termination: Choice coordination, the dining philosophers, and the random walk -- Probabilistic data refinement: The steam boiler -- Semantic structures -- Theory for the demonic model -- The geometry of probabilistic programs -- Proved rules for probabilistic loops -- Infinite state spaces, angelic choice and the transformer hierarchy -- Advanced topics: Quantitative modal logic and game interpretations -- Quantitative temporal logic: An introduction -- The quantitative algebra of qTL -- The quantitative modal ?-calculus, and gambling games.
Probabilistic techniques are increasingly being employed in computer programs and systems because they can increase efficiency in sequential algorithms, enable otherwise nonfunctional distribution applications, and allow quantification of risk and safety in general. This makes operational models of how they work, and logics for reasoning about them, extremely important. Abstraction, Refinement and Proof for Probabilistic Systems presents a rigorous approach to modeling and reasoning about computer systems that incorporate probability. Its foundations lie in traditional Boolean sequential-program logic—but its extension to numeric rather than merely true-or-false judgments takes it much further, into areas such as randomized algorithms, fault tolerance, and, in distributed systems, almost-certain symmetry breaking. The presentation begins with the familiar "assertional" style of program development and continues with increasing specialization: Part I treats probabilistic program logic, including many examples and case studies; Part II sets out the detailed semantics; and Part III applies the approach to advanced material on temporal calculi and two-player games. Topics and features: * Presents a general semantics for both probability and demonic nondeterminism, including abstraction and data refinement * Introduces readers to the latest mathematical research in rigorous formalization of randomized (probabilistic) algorithms * Illustrates by example the steps necessary for building a conceptual model of probabilistic programming "paradigm" * Considers results of a large and integrated research exercise (10 years and continuing) in the leading-edge area of "quantitative" program logics * Includes helpful chapter-ending summaries, a comprehensive index, and an appendix that explores alternative approaches This accessible, focused monograph, written by international authorities on probabilistic programming, develops an essential foundation topic for modern programming and systems development. Researchers, computer scientists, and advanced undergraduates and graduates studying programming or probabilistic systems will find the work an authoritative and essential resource text.
Software engineering.
Probabilities.
Computer programming.
Computer logic.
Programming languages (Electronic computers).
Mathematical logic.
Software Engineering/Programming and Operating Systems.
Probability Theory and Stochastic Processes.
Programming Techniques.
Logics and Meanings of Programs.
Programming Languages, Compilers, Interpreters.
Mathematical Logic and Formal Languages.
Texts and monographs in computer science