SCOOP defines a way for an object oriented program to be written without the concept of threads, locks, or other typical multiprogramming methods.
This allows the compiler or runtime environment to optimize the amount of concurrency as well as eliminate typical design flaws such as deadlock.
The model was first designed in the early 1990s and published in 1993 in the Communications of the ACM[1] An updated version was described in chapter 30 of the book Object-Oriented Software Construction.
A SCOOP processor is the abstract notion of an autonomous thread of control that handles the execution of operations on one or more objects.
In the Eiffel Software implementation, if SCOOP is not enabled, the separate keyword is ignored and sequential processing is assumed.