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 control program. To support programming whole computational collectives, we propose the abstraction of a distributed collective process (DCP), which can be used to define at once the ensemble formation logic and its collective task. We implement the abstraction in the eXchange Calculus (XC), a core language based on neighbouring values (maps from neighbours to values) where state management and interaction is handled through a single primitive, exchange. Then, we discuss the features of the abstraction, its suitability for different kinds of distributed computing applications, and provide a proof-of-concept implementation of a wave-like process propagation.

Audrito G., Casadei R., Damiani F., Torta G., Viroli M. (2023). Programming Distributed Collective Processes for Dynamic Ensembles and Collective Tasks. Springer Science and Business Media Deutschland GmbH [10.1007/978-3-031-35361-1_4].

Programming Distributed Collective Processes for Dynamic Ensembles and Collective Tasks

Casadei R.
;
Viroli M.
2023

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 control program. To support programming whole computational collectives, we propose the abstraction of a distributed collective process (DCP), which can be used to define at once the ensemble formation logic and its collective task. We implement the abstraction in the eXchange Calculus (XC), a core language based on neighbouring values (maps from neighbours to values) where state management and interaction is handled through a single primitive, exchange. Then, we discuss the features of the abstraction, its suitability for different kinds of distributed computing applications, and provide a proof-of-concept implementation of a wave-like process propagation.
2023
Coordination Models and Languages
71
89
Audrito G., Casadei R., Damiani F., Torta G., Viroli M. (2023). Programming Distributed Collective Processes for Dynamic Ensembles and Collective Tasks. Springer Science and Business Media Deutschland GmbH [10.1007/978-3-031-35361-1_4].
Audrito G.; Casadei R.; Damiani F.; Torta G.; Viroli M.
File in questo prodotto:
File Dimensione Formato  
paper23-coord-xc-processes.pdf

Open Access dal 15/06/2024

Tipo: Postprint
Licenza: Licenza per accesso libero gratuito
Dimensione 543.41 kB
Formato Adobe PDF
543.41 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/955656
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 2
  • ???jsp.display-item.citation.isi??? ND
social impact