Towards Aggregate Programming in Scala

   page       BibTeX_logo.png   
1st Workshop on Programming Models and Languages for Distributed Computing (PMLDC '16), pages 5:1–5:7
ACM, New York, NY, USA
17 July 2016

Recent works in the context of large-scale adaptive systems, such as those for the Internet of Things (IoT) scenario, promote aggregate programming, a development approach for distributed systems in which one programs the aggregate of computational devices instead of individual ones. This makes the resulting behaviour highly insensitive to network size, density, and topology, and as such, intrinsically robust to failures and changes to working conditions (e.g., location of computational load, communication technology, and computational infrastructure). In this paper we are concerned with how this approach can impact mainstream software development, and hence outline a Scala-based support of aggregate programming, leveraging Scala advanced type system, DSL support, and actors mechanisms.

keywordsDSL, Scala, aggregate programming, complex adaptive systems, distributed platform