Programming Distributed Collective Processes in the eXchange Calculus
Not on the map. Why?
Abstract (arXiv)
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 the ensemble formation logic and its collective task. We formalise the abstraction in the eXchange Calculus (XC), a core functional language based on neighbouring values (maps from neighbours to values) where state and interaction is handled through a single primitive, exchange, and provide a corresponding implementation in the FCPP language. Then, we exercise distributed collective processes using two case studies: multi-hop message propagation and distributed monitoring of spatial properties. Finally, we discuss the features of the abstraction and its suitability for different kinds of distributed computing applications.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 11 of its 84 references that are in the map. First posted on arXiv 20 Jan 2024.
Builds on
11 of 84 references.
References · 11
- 2022Macroprogramming: Concepts, State of the Art, and Opportunities of Macroscopic Behaviour Modellingcited by 8
- 2017Engineering Resilient Collective Adaptive Systems by Self-Stabilisationcited by 6
- 2014Specifying and Verifying Properties of Space - Extended Versioncited by 4
- 2016Model Checking Spatial Logics for Closure Spacescited by 4
- 2017Programming the Interactions of Collective Adaptive Systems by Relying on Attribute-based Communicationcited by 4
- 2016Asynchronous Distributed Execution Of Fixpoint-Based Computational Fieldscited by 3
- 2017Edge-Fog Cloud: A Distributed Cloud for Internet of Things Computationscited by 3
- 2018Dolphin: a task orchestration language for autonomous vehicle networkscited by 3
- 2020Time-Fluid Field-Based Coordination through Programmable Distributed Schedulerscited by 3
- 2023Artificial Collective Intelligence Engineering: a Survey of Concepts and Perspectivescited by 3
- 2022Aggregate Processes as Distributed Adaptive Services for the Industrial Internet of Thingscited by 2
Built on by
Not cited yet.