Asynchronous Actor-based programming has gained increasing attention as a model of concurrency and distribution. The Abstract Behavioral Specification (ABS) language is an actor-based programming language that has been developed for both the modeling and formal analysis of distributed systems. In ABS, actors are modeled as concurrent objects that communicate by asynchronous method calls. Return values are also communicated asynchronously via return statements and so-called futures. Many modern distributed software applications require a form of continuous interaction between their components which consists of streaming data from a server to its clients. In this paper, we extend the ABS language in order to support the streaming of data. We introduce the notion of “future-based data streams” by augmenting the syntax, type system, and operational semantics of ABS. As a proof of concept, we further discuss a prototype implementation for supporting future-based data streams on top of ABS, and discuss the impact of the use of these data streams in ABS on the performance in the implementation of a distributed application for the generation of social networks.

, , , ,
Science of Computer Programming
Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands

Azadbakht, K., de Boer, F., Bezirgiannis, N., & de Vink, E. (2019). A formal actor-based model for streaming the future. Science of Computer Programming, 186, 102341:1–102341:22. doi:10.1016/j.scico.2019.102341