APICe » Publications » Towards a Foundational API for Resilient Distributed Systems Design

Towards a Foundational API for Resilient Distributed Systems Design

Matteo Francia, Danilo Pianini, Jacob Beal, Mirko Viroli
Engineering resilient distributed systems remains extremely challenging, particularly in mapping from collective specifications to individual device behavior. Aggregate programming aims to address this problem using a computational field abstraction to provide inherent guarantees of resilience, scalability, and safe composition. These capabilities are provided, however, by an expressive but terse set of operators too low-level for pragmatic use in complex systems development. We thus present an API to raise the level of abstraction, thereby providing an accessible and user-friendly interface for construction of complex resilient distributed systems. In particular, we capture and organize a large, heterogeneous collection of algorithms and use patterns into a unified framework, including methods for common tasks such as leader election, distance and state estimation, and gossip-based information dissemination. We demonstrate how the expressiveness of this library reduces the abstraction gap required to engineer scenarios of large-scale pervasive computing, while introducing the novel multiInstance pattern enabling an unanticipated composition of computational fields.
2nd {IEEE} International Workshops on Foundations and Applications of Self* Systems, FAS*W@SASO/ICCAC 2017, Tucson, AZ, USA, September 18-22, 2017, pages 27--32, 2017
@inproceedings{FranciaECAS17,
  author    = {Matteo Francia and
               Danilo Pianini and
               Jacob Beal and
               Mirko Viroli},
  title     = {Towards a Foundational {API} for Resilient Distributed Systems Design},
  booktitle = {2nd {IEEE} International Workshops on Foundations and Applications
               of Self* Systems, FAS*W@SASO/ICCAC 2017, Tucson, AZ, USA, September
               18-22, 2017},
  pages     = {27--32},
  year      = {2017},
  url       = {http://doi.ieeecomputersociety.org/10.1109/FAS-W.2017.116},
  doi       = {10.1109/FAS-W.2017.116},
  timestamp = {Mon, 23 Oct 2017 12:54:11 +0200},
  biburl    = {http://dblp.org/rec/bib/conf/saso/FranciaPBV17},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}