ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Concurrency: State Models&Java Programs
Jeff Magee&Jeff Kramer
0 471 98710 7
Silvia de Beer
Appeared in:
This book combines the theoretical and practical side of concurrency. The book is aimed at students and software professionals who want to learn about concurrency. The concurrency concepts like processes, semaphores, monitors, mutual exclusion, deadlock, safety and liveness properties are explained by simple classic examples. The book stresses the importance of modelling concurrent programs. State Models are drawn using the Labelled Transition System (LTS). An algebraic notation Finite State Processes (FSP) is used to support the reasoning about concurrent processes. To apply the concepts in practice, all models are implemented using Java threads. The last 5 chapters of the book deal with issues like resource allocation, message passing and timed systems and contain more advanced examples.

The book comes with a CD-ROM. The CD-ROM contains the LTS analysis tool that allows experimenting with the state diagrams and FSP notations. Properties of a model can easily be checked. All examples are implemented as interactive applets and provided on the CD- ROM.

I found the book extremely instructive because of the combination of theory and practice. The book is very clearly written. The UML class diagrams, which support the Java implementations, are well thought through and display correct design. The exercises at the end of each chapter are useful to get to grips with the concurrency concepts and modelling.