Association for Computing Machinery
Synchronous coordination systems, such as reo, exchange data via indivisible actions, while distributed systems are typically asynchronous and assume that messages can be delayed or get lost. To combine these seemingly contradictory notions, the authors introduce the dreams framework. Coordination patterns in dreams are described using a synchronous model based on the reo language, whereas global system behavior is given by the runtime composition of autonomous actors communicating asynchronously. Dreams also exploits the use of actors in the composition of coordination patterns to allow asynchronous communication whenever possible, increasing the scalability of the implementation.