Mathematical Techniques for Analyzing Concurrent and Probabilistic Systems (Crm Monograph Series)
The book consists of two sets of lecture notes devoted to slightly different methods of analysis of concurrent and probabilistic computational systems. The first set of lectures develops a calculus of streams (a generalization of the set of natural numbers) based on the coinduction principle coming from the theory of coalgebras. It is now well understood that the interplay between algebra (for describing structure) and coalgebra (for describing dynamics) is crucial for understanding concurrent systems. There is a striking analogy between streams and formula calculus reminiscent of those appearing in quantum calculus. These lecture notes will appeal to anyone working in concurrency theory but also to algebraists and logicians. The other set of lecture notes focuses on methods for automatically verifying probabilistic systems using techniques of model checking. The unique aspect of these lectures is the coverage of both theory and practice. The authors have been responsible for one of the most successful experimental systems for probabilistic model checking. These lecture notes are of interest to software engineers, real-time programmers, researchers in machine learning and numerical analysts who may well be interested to see how standard numerical techniques are used in a novel context. Both sets of lectures are expository and suitable for graduate courses in theoretical computer science and for research mathematicians interested in design and analysis of concurrent and probabilistic computational systems.