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.

Editor(s):

Lightfoot, David E.

Szyperski, Clemens A.

Published in:

Modular Programming Languages, 4-22

Presented at:

Joint Modular Languages Conference, Jesus College, Oxford, England, 13–15 September 2006

Year: 2006

Other identifiers:

View record in Web of Science DAR: 9589

Laboratories:

Note: The status of this file is: Anyone