This classroom-tested textbook provides an accessible introduction to the design, formal modeling, and analysis of distributed computer systems. The book uses Maude, a rewriting logic-based language and simulation and model checking tool, which offers a simple and intuitive modeling formalism that is suitable for modeling distributed systems in an attractive object-oriented and functional programming style.
Topics and features:
- Introduces classical algebraic specification and term rewriting theory, including reasoning about termination, confluence, and equational properties
- Covers object-oriented modeling of distributed systems using rewriting logic, as well as temporal logic to specify requirements that a system should satisfy
- Provides a range of examples and case studies from different domains, to help the reader to develop an intuitive understanding of distributed systems and their design challenges
- Examples include classic distributed systems such as transport protocols, cryptographic protocols, and distributed transactions, leader election, and mutual execution algorithms
- Contains a wealth of exercises, including larger exercises suitable for course projects, and supplies executable code and supplementary material at an associated website
This self-contained textbook is designed to support undergraduate courses on formal methods and distributed systems, and will prove invaluable to any student seeking a reader-friendly introduction to formal specification, logics and inference systems, and automated model checking techniques.
Dr. Peter Csaba Ölveczky is a Professor in the Department of Informatics at the University of Oslo, Norway.
Autorentext
Dr. Peter Csaba Ölveczky is a Professor in the Department of Informatics at the University of Oslo, Norway.
Inhalt
Introduction
Part I: Equational Specifications and Their Analysis
Equational Specification in Maude
Operational Semantics of Equational SpecificationsTermination
ConfluenceEquational Logic
Models of Equational Specifications
Part II: Specification and Analysis of Distributed Systems in Maude
Modeling Distributed Systems in Rewriting Logic
Executing Rewriting Logic Specifications in Maude
Concurrent Objects in Maude
Modeling Communication in Maude
Modeling and Analyzing Transport Protocols
Distributed Algorithms
Analyzing a Cryptographic Protocol
System Requirements
Formalizing and Checking Requirements
Real-Time and Probabilistic SystemsAppendix A: Mathematical Preliminaries