Introduction to Choreographies
Introduction to Choreographies (Cambridge University Press) is the first rigorous and systematic introduction to theory of choreographic languages, aimed at expressing coordination plans for concurrent and distributed systems (choreographies).
It focuses on languages for defining choreographies, a structural approach to semantics of choreographies, and the relation between choreographies and models of distributed processes. It also covers how choreographies can aid with guaranteeing important safety and liveness properties.
Publisher website: https://www.cambridge.org/academic/subjects/computer-science/programming-languages-and-applied-logic/introduction-choreographies
Author website: https://www.fabriziomontesi.com/introduction-to-choreographies/
In concurrent and distributed systems, processes can complete tasks together by playing their parts in a joint plan. The plan, or protocol, can be written as a choreography: a formal description of overall behaviour that processes should collaborate to implement, like authenticating a user or purchasing an item online. Formality brings clarity, but not only that. Choreographies can contribute to important safety and liveness properties.
This book is a rigorous and systematic introduction to theory of choreographies for students, researchers, and professionals in computer science and applied mathematics. It covers languages for writing choreographies and their semantics, and principles for implementing choreographies correctly.
The text treats the study of choreographies as a discipline in its own right, following a systematic approach that starts from simple foundations and proceeds to more advanced features in incremental steps. Each chapter includes examples and exercises aimed at helping with understanding the theory and its relation to practice.