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.