Conference paper

Event-Based Programming without Inversion of Control

The actor computation model is especially suited for concurrent and distributed computations. Actors are basically concurrent processes which communicate through asynchronous message passing. When combined with pattern matching for messages, actor-based process models have been proven to be very effective. To the best of our knowledge, event-based actors are the first to (1) allow reactive behavior to be expressed without inversion of control, and (2) support arbitrary blocking operations in reactions, at the same time. Our actor library is written in Scala and outperforms other state-of-the-art actor languages with respect to message passing speed and memory consumption by several orders of magnitude. Our implementation is able to make use of multi-processors and multi-core processors because reactions can be executed simultaneously on multiple processors.

Related material