Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Concurrent programming
Schiper A., Halsted Press, New York, NY, 1989. Type: Book (9789780470213469)
Date Reviewed: Jul 1 1990

Concurrent programming deals with the problem of synchronizing and controlling more or less independent tasks that use common resources. Typical examples are the readers/writers problem and producer-consumer couplings. Good textbooks in this area are virtually nonexistent, so any attempt at filling this gap is welcome. Unfortunately, Schiper’s book is not the one we are waiting for. It is too informal and relies too heavily on pictures and implementation details to be used as a textbook for a serious computer science course.

The book introduces concurrent programming by describing a terminal interface for the PDP-11. This gives the author the opportunity to discuss such concepts as processes, interrupts, and mutual exclusion. Next he addresses the question of how to formulate concurrent processes in a program notation. Schiper does this in a number of ways: with shared variables and busy waiting, with interrupt masking, with locks, and with semaphores. He prefers to use semaphores but considers them inferior to monitors, the next synchronization mechanism introduced. His judgment in this is, however, based on the fact that he does not use the split binary semaphore [1], which would easily solve the problems for which he prefers monitors.

The monitor is the synchronization mechanism of PORTAL, the programming language in which most of the programs in the book are written. The author also provides short introductions to Modula-2 and to Ada’s rendezvous mechanism. The book concludes with the design of a chronometer and gives programs for it in all three languages.

All programs are presented informally, often by trial and error. The design does not start with a precise specification but with a purported solution. The author then shows that this solution can exhibit some erroneous behavior and changes the program to remedy that and obtain the next solution. Timing diagrams are sometimes used, but not invariants or proofs. Programs are never derived from specifications. All developments in the science of programming seem to have passed the author by completely.

On the positive side, the book has well-chosen exercises and many worked-out programs. These features do not, however, outweigh its defects. I cannot recommend this book as a textbook, and I am still waiting for a good text on concurrent programming.

Reviewer:  Martin Rem Review #: CR114075
1) Dijkstra, E. W. A tutorial on the split binary semaphore. In Theoretical Foundations of Programming Methodology, M. Broy and G. Schmidt (Eds.), D. Reidel Publishing, Boston, MA, 1982, 555–564.
Bookmark and Share
 
Concurrent Programming (D.1.3 )
 
 
Concurrent Programming Structures (D.3.3 ... )
 
 
Process Management (D.4.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Concurrent Programming": Date

Type: Journal
Jul 1 1985
Resources in parallel and concurrent systems
, ACM Press, New York, NY, 1991. Type: Book (9780897914000)
Jun 1 1992
Concurrent programming
Andrews G., Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1991. Type: Book (9780805300864)
Jun 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy