Concurrency provides a thoroughly updated approach to the basic concepts and techniques behind concurrent programming. Concurrent programming is complex and demands a much more formal approach than sequential programming. In order to develop a thorough understanding of the topic Magee and Kramer present concepts, techniques and problems through a variety of forms: informal descriptions, illustrative examples, abstract models and concrete Java examples. These combine to provide problem patterns and associated solution techniques which enable students to recognise problems and arrive at solutions.
New features include:
- New chapters covering program verification and logical properties.
- More student exercises.
- Supporting website contains an updated version of the LTSA tool for modelling concurrency, model animation, and model checking.
- Website also includes the full set of state models, java examples, and demonstration programs and a comprehensive set of overhead slides for course presentation.
‘I love this book! It is beautifully written and the combined FSP/Java approach to model-based development is leading-edge. The supporting materials, including the LTSA software and the lecture slides, are superb.’ (
Scott Smolka, SUNY at Stony Brook) This book provides a systematic and practical approach to designing, analyzing and implementing concurrent programs, using both state models and Java programs to introduce and illustrate key concepts and techniques. Topics covered include:
- threads and interaction
- interference, exclusion and synchronization
- deadlock, safety and liveness properties
- message passing
- concurrent software architectures
- dynamic and timed systems.
Established as a key learning resource for computer science graduate and undergraduate students, this second edition includes new coverage of Program Verification and Logical Properties. The accompanying website contains an updated version of the LTSA tool for modeling concurrency, model animation and model checking. The website also includes the full set of state models, Java examples and demonstration programs and a comprehensive series of overhead slides for course presentation.
Ideal for classroom use or self-study, this book provides readers with the means to understand the fundamentals and practice of concurrency.