Complex communicating computer systems—computers connected by data networks and in constant communication with their environments—do not always behave as expected. This book introduces behavioral modeling, a rigorous approach to behavioral specification and verification of concurrent and distributed systems. It is among the very few techniques capable of modeling systems interaction at a level of abstraction sufficient for the interaction to be understood and analyzed. Offering both a mathematically grounded theory and real-world applications, the book is suitable for classroom use and as a reference for system architects.
The book covers the foundation of behavioral modeling using process algebra, transition systems, abstract data types, and modal logics. Exercises and examples augment the theoretical discussion. The book introduces a modeling language, mCRL2, that enables concise descriptions of even the most intricate distributed algorithms and protocols. Using behavioral axioms and such proof methods as confluence, cones, and foci, readers will learn how to prove such algorithms equal to their specifications. Specifications in mCRL2 can be simulated, visualized, or verified against their requirements. An extensive mCRL2 toolset for mechanically verifying the requirements is freely available online; this toolset has been successfully used to design and analyze industrial software that ranges from healthcare applications to particle accelerators at CERN. Appendixes offer material on equations and notation as well as exercise solutions.
About the Authors
Jan Friso Groote is Professor of Computer Science at the Eindhoven University of Technology, the Netherlands.
Mohammad Reza Mousavi is Professor of Computer Systems Engineering at the Center for Research on Embedded Systems at Halmstad University, Sweden.
"This book offers an excellent coverage of the foundations behind data-enriched process algebra and modal mu-calculus aimed at the rigorous modeling and verification of distributed systems. This clearly written textbook contains targeted examples and exercises and is highly recommended for readers who want to get acquainted with modern concurrency theory."—Joost-Pieter Katoen, RWTH Aachen University & University of Twente
"mCRL2 is one of the most expressive and analytically powerful process-algebra-based tool sets currently available. With the publication of the wonderfully written Modeling and Analysis of Communicating Systems, the tool set now has the comprehensive companion manuscript it deserves."—Scott A. Smolka, Professor of Computer Science, Stony Brook University
"mCRL2 is at the cutting edge of formal verification for distributed and concurrent systems. Groote and Mousavi provide an excellent and comprehensive guide into its underlying methods and applications. A truly insightful book."—Wan Fokkink, VU University Amsterdam, author of Distributed Algorithms
"Finally, the book that contains the full story of mCRL2, an extremely powerful specification formalism for concurrent, complex systems empowered by an extensive tool set. This book provides detailed and instructive information on the wide range of modeling and analysis possibilities of mCRL2 and is a must-read for anyone who cares about the correctness of computer systems."—Kim Guldstrand Larsen, Professor of Computer Science, Aalborg University; coauthor of Reactive Systems: Modelling, Specification and Verification