This 11 pages paper by Piotr Nienaltowski, Volkan Arslan and Bertrand Meyer is a very concise introduction about the SCOOP model that I commented on my previous post. Click here to get a copy of the paper.
Summary:
- Based on the concepts of Design by Contract
- Additional keyword to the language: separate
- Minimalist mechanism
- Full use of object-oriented techniques
- Avoids deadlocks
- 2-level architecture: platform-independent (SCOOP) and platform-specific (low-level concurrency/threading mechanism)
- Many processors (abstractions) provide threads of control for the application
- The separate keyword basically indicates that the object, class or function will be handled by a different processor
- There are Separateness Consistency Rules
- Preconditions that involve separated entities force the client object to wait until they are satisfied
- Lockings are automatic and controlled by the mechanism
- Separated calls are scheduled to when the necessary locks are acquired and wait conditions are satisfied
- Can handle distributed computation when processors are mapped to different physical resources
- Distribution is configured through the Concurrency Control File but only done at runtime