Asynchronous programming is a popular way of exploiting multi-core and distributed systems and is mainly about using only asynchronous events as the means for coordination of concurrently running computations. In the actor-based model of asynchronous programming computation is driven by the asynchronous communication of events (also called messages). In this paper we introduce and evaluate a new Scala library for actor-based programming that models messages as asynchronous method calls, provides static typing of messages, integrates futures with actors and supports cooperative scheduling inside an actor. The main challenge, next to designing an easy-to-use API, is the development of an efficient and scalable implementation of this library with regard to careful thread management and communication overhead.

Additional Metadata
Keywords Actors, Cooperative Scheduling, Futures, Java, Object Orientation, Scala, Static Typing
Persistent URL dx.doi.org/10.1109/CSE.2018.00010
Conference 21st IEEE International Conference on Computational Science and Engineering, CSE 2018
Citation
Serbanescu, V.N, de Boer, F.S, & Jaghouri, M.M. (2018). ASCOOP: Actors in scala with cooperative scheduling. In 21st IEEE International Conference on Computational Science and Engineering, CSE 2018 (pp. 19–28). doi:10.1109/CSE.2018.00010