Actors with coroutine support in Java
In this paper, we introduce a Java library for actors integrated seamlessly with futures and supporting coroutines. Coroutines allow actors to suspend the execution of a message and possibly schedule other messages before resuming the suspended continuation. As such coroutines enhance actors as a major building block for constructing software components. The library is used together with a compiler to generate code from an application model into an executable program in Java. A formal description of the translation process is provided together with the most important library methods. We highlight the importance of having a scalable and efficient implementation by means of some typical benchmarks which model a large number of tasks, coroutines and actors.
|Keywords||Actors, Asynchronous programming, Coroutines, Futures, Java, Object-orientation|
|Series||Lecture Notes in Computer Science|
|Conference||International Conference on Formal Aspects of Component Software|
Serbanescu, V.N, de Boer, F.S, & Jaghoori, M.M. (2018). Actors with coroutine support in Java. In Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence (pp. 237–255). doi:10.1007/978-3-030-02146-7_12