TY - JOUR
T1 - A formal actor-based model for streaming the future
AU - Azadbakht, Keyvan
AU - de Boer, Frank S.
AU - Bezirgiannis, Nikolaos
AU - de Vink, Erik
PY - 2020/2/1
Y1 - 2020/2/1
N2 - 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.
AB - 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.
KW - Active objects
KW - Cooperative scheduling
KW - Future
KW - Social networks
KW - Streaming
UR - http://www.scopus.com/inward/record.url?scp=85074105883&partnerID=8YFLogxK
U2 - 10.1016/j.scico.2019.102341
DO - 10.1016/j.scico.2019.102341
M3 - Article
AN - SCOPUS:85074105883
SN - 0167-6423
VL - 186
JO - Science of Computer Programming
JF - Science of Computer Programming
M1 - 102341
ER -