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.

Additional Metadata
Keywords Active objects, Cooperative scheduling, Future, Social networks, Streaming
Persistent URL dx.doi.org/10.1016/j.scico.2019.102341
Journal Science of Computer Programming
Citation
Azadbakht, K, de Boer, F.S, Bezirgiannis, N, & de Vink, E.P. (2019). A formal actor-based model for streaming the future. Science of Computer Programming, 186. doi:10.1016/j.scico.2019.102341