Programming Distributed Collective Processes in the eXchange Calculus

📅 2024-01-20
🏛️ arXiv.org
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Programming collective adaptive behaviors in dense, heterogeneous IoT device clusters remains challenging due to the complexity of dynamic ensemble formation and decentralized task coordination. Method: This paper introduces the *Distributed Collective Process* abstraction, unifying ensemble formation and collaborative task execution within a single formal process model. It integrates ensemble logic and collective tasks into the eXchange Calculus (XC) framework, where the *exchange* primitive uniformly captures both state evolution and device interaction. Based on XC, we design FCPP—a functional core language supporting multi-hop message propagation and decentralized spatial property monitoring. Results: Evaluation demonstrates that the abstraction achieves high expressiveness, formal verifiability, and scalability across device counts. It provides a programmable, compositional, and analyzable paradigm for modeling collective behavior in edge intelligence systems.

Technology Category

Application Category

📝 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 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.
Problem

Research questions and friction points this paper is trying to address.

Programming collective adaptive behavior in IoT ecosystems
Abstractions for dynamic device groups and joint tasks
Formalizing distributed processes in eXchange Calculus
Innovation

Methods, ideas, or system contributions that make the work stand out.

Distributed collective process abstraction
eXchange Calculus functional language
FCPP language implementation
🔎 Similar Papers
No similar papers found.