Publications » AggregateComputingSFM2016

Aggregate Programming: From Foundations to Applications

Jacob Beal, Mirko Viroli
We live in a world with an ever-increasing density of computing devices, pervading every aspect of our environment. Programming these devices is challenging, due to their large numbers, potential for frequent and complex network interactions with other nearby devices, and the open and evolving nature of their capabilities and applications. Aggregate programming addresses these challenges by raising the level of abstraction, so that a programmer can operate in terms of collections of interacting devices. In particular, field calculus provides a safe and extensible model for encapsulation, modulation, and composition of services. On this foundation, a set of resilient “building block” operators support development of APIs that can provide resilience and scalability guarantees for any service developed using them. We illustrate the power of this approach by discussion of several recent applications, including crowd safety at mass public events, disaster relief operations, construction of resilient enterprise systems, and network security.
Keywords: Aggregate programming; Pervasive computing; Field calculus; Distributed systems; Domain-specific languages
Formal Methods for the Quantitative Evaluation of Collective Adaptive Systems, Lecture Notes in Computer Science 9700, pages 233--260, 2016.
Marco Bernardo, Rocco De Nicola, Jane Hillston (eds.), Springer
@inproceedings{AggregateComputingSFM2016,
  author    = {Jacob Beal and
               Mirko Viroli},
  title     = {Aggregate Programming: From Foundations to Applications},
  booktitle = {Formal Methods for the Quantitative Evaluation of Collective Adaptive
               Systems - 16th International School on Formal Methods for the Design
               of Computer, Communication, and Software Systems, {SFM} 2016, Bertinoro,
               Italy, June 20-24, 2016, Advanced Lectures},
  pages     = {233--260},
  year      = {2016},
  url       = {http://dx.doi.org/10.1007/978-3-319-34096-8_8},
  doi       = {10.1007/978-3-319-34096-8\_8},
  editor    = {Marco Bernardo and
               Rocco De Nicola and
               Jane Hillston},
  series    = {Lecture Notes in Computer Science},
  volume    = {9700},
  publisher = {Springer},
  year      = {2016},
  isbn      = {978-3-319-34095-1}
}