A Scala Library for Actor-Based Cooperative Scheduling

Actor-based models of computation in general assume a run-to-completion mode of execution of the messages. The Abstract Behavioral Specification (ABS) Language extends the Actor-based model with a high-level synchronization mechanism which allows actors to suspend the execution of the current message and schedule in a cooperative manner another queued message. We introduce and evaluate a new library in Scala inspired by ABS that provides static typing of message passing, integrates futures with actors and supports cooperative scheduling. The main challenge is the development of an efficient and scalable implementation of cooperative scheduling.

hosted by