Programming Distributed Collective Processes in the eXchange Calculus
Giorgio Audrito, Roberto Casadei, Ferruccio Damiani, Gianluca Torta, Mirko Viroli

TL;DR
This paper introduces a formal abstraction called distributed collective process in the eXchange Calculus to program and analyze collective behaviors in dense, multi-scale IoT-like networks, demonstrated through case studies.
Contribution
It formalizes the concept of distributed collective processes in the eXchange Calculus and provides an implementation, enabling programming of ensemble formation and collective tasks.
Findings
Formalization of distributed collective processes in XC
Implementation in the FCPP language
Successful case studies on message propagation and spatial monitoring
Abstract
Recent trends like the Internet of Things (IoT) suggest a vision of dense and multi-scale deployments of computing devices in nearly all kinds of environments. A prominent engineering challenge revolves around programming the collective adaptive behaviour of such computational ecosystems. This requires abstractions able to capture concepts like ensembles (dynamic groups of cooperating devices) and collective tasks (joint activities carried out by ensembles). In this work, we consider collections of devices interacting with neighbours and that execute in nearly-synchronised sense-compute-interact rounds, where the computation is given by a single program mapping sensing values and incoming messages to output and outcoming messages. To support programming whole computational collectives, we propose the abstraction of a distributed collective process, which can be used to define at once…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModular Robots and Swarm Intelligence · Distributed systems and fault tolerance · Scientific Computing and Data Management
