Programming Actor-Based Collective Adaptive Systems

   page       BibTeX_logo.png   
Alessandro Ricci, Philipp Haller (eds.)
Programming with Actors: State-of-the-Art and Research Perspectives, pages 94–122
Lecture Notes in Computer Science 10789
Springer International Publishing
2018

In recent years, we are witnessing a growing interest in large-scale situated systems, such as those falling under the umbrella of pervasive computing, Cyber-Physical Systems, and the Internet of Things. The actor model is a natural choice for designing and implementing such systems, thanks to the ability of actors to address distribution, autonomy of control, and asynchronous communication: namely, it is convenient to view the pervasive cyberspace as an environment densely inhabited by mobile situated actors. But how can an actor-centric development approach be fruitfully used to engineer a complex coordination strategy, where a myriad of devices/actors performs adaptive distributed sensing/processing/acting?

Aggregate computing has been proposed as an emerging paradigm that faces this general problem by adopting a global, system-level stance, allowing to specify and functionally compose collective behaviours by operating on diffused data structures, known as “computational fields”. In this paper, we develop on the idea of integrating the actor model and aggregate computing, presenting a software framework where declarative global-level system specifications are automatically turned into an underlying system of Scala/Akka actors carrying complex coordination tasks involving large sets of devices spread over the pervasive computing system.