Concurrent systems are generally understood in terms of behavioral notions. Models for Concurrency analyzes the subject in terms of events and their temporal relationship rather than on global states. It presents a comprehensive analysis of model theory applied to concurrent protocols, and seeks to provide a theory of concurrency that is both intuitively appealing and rigorously based on mathematical foundations.
The book is divided into three main sections. The first introduces the required concepts from model theory, details the structures that are used to model concurrency, gives an in-depth description and explanation of the semantics of a simple language that allows concurrent execution of sequential programs, and deals with the question of resolving executions into higher-level and lower-level granularities. The second and third sections apply the theory developed to practical examples, and an exposition of the producer/consumer problem with details of two solutions is given. The author also deals with message passing, as opposed to shared memory.
PART I 1. System Executions 2. Semantics of Concurrent Protocols
PART II 1. On the Producer/Consumer Problem 2. Circular Buffers
PART III 1.Specification of Channels 2. A Sliding Window Protocol 3. Elements of Model Theory 4. Broadcasting and Causal Ordering 5. Uniform Deliveries