Part III
Implicit Parallelism

In coarse-grained concurrent applications, such as the simplified Asteroids game illustrated in Chapter section 6, the main motivation is not necessarily to achieve parallel execution but rather to correctly and safely model components that are “logically autonomous”. These kinds of asynchronous, event-driven systems are the obvious candidates for capsule-oriented design. However, the capsule abstraction also adapts easily to other styles of parallel programming, while retaining Panini’s advantages of abstracting away the concurrency control mechanisms and ensuring data confinement.