This site contains older material on Eiffel. For the main Eiffel page, see

Software Construction,
second edition:


or: concurrency for the rest of us

Bertrand Meyer, ISE


This text is taken from chapter 25 of the book Object-Oriented Software Construction, second edition, Prentice Hall, 1997.

For this particular chapter the version used is in fact not the final one, but a draft (close to the final version). It was made available a few months ago following discussions of concurrency on Usenet.

We apologize for the obvious formatting deficiencies (margin notes appearing as improperly clipped inserts, figures sometimes clipped too). This text is only intended to give an idea of the actual book, which is of course properly formatted, using two colors and many figures; the accompanying CD has everything under the same format as the book, with all cross-references transformed into clickable hyperlinks.

© Bertrand Meyer, 1997. Duplication and distribution prohibited.

    chapter table of contents.

This is an earlier draft of chapter 28 of the Object-Oriented Software Construction, second edition. This discussion also serves as a description of the concurrency mechanism (SCOOP) for ISE Eiffel.

The text presents a new approach to concurrent programming making it possible to program concurrent systems (in particular Internet and client-server applications) with great simplicity. Basically, you use the elementary mechanism of O-O computation: x.f (a): calling feature f on object x, also known as "passing the message f to x". Here x may be anywhere else on a network, in another thread, in another process etc., but the mechanism takes care of finding it for you.

The mechanism is fully compatible with inheritance, information hiding and other object-oriented techniques, and with the Eiffel ideas of Design by Contract. It handles synchronization, interruptions ("express messages") and many different forms of concurrency.

Version of: 23 April 1996.

Gaining early access to the technology

The approach described here is currently being implemented by ISE in collaboration with a number of corporate customers. ISE has established a special program for companies interested in gaining a strategic competitive advantage through early access to the technology. Corporations interested in this program may contact ISE for details.

Chapter table of Contents

28 [START HERE] Concurrency, distribution, client-server and the Internet

OOSC-2 presentation -- Table of contents -- Preface -- Ordering