Engineering self-organising systems - e.g., robot swarms, collectives of wearables, or distributed infrastructures - has been investigated and addressed through various kinds of approaches: devising algorithms by taking inspiration from nature, relying on design patterns, using learning to synthesise behaviour from expectations of emergent behaviour, and exposing key mechanisms and abstractions at the level of a programming language. Focussing on the latter approach, most of the state-of-the-art languages for self-organisation leverage a round-based execution model, where devices repeatedly evaluate their context and control program fully: this model is simple to reason about but limited in terms of flexibility and fine-grained management of sub-activities. By inspiration from the so-called functional reactive paradigm, in this paper we propose a reactive self-organisation programming approach that enables to fully decouple the program logic from the scheduling of its sub-activities. Specifically, we implement the idea through a functional reactive implementation of aggregate programming in Scala, based on the functional reactive library Sodium. The result is a functional reactive self-organisation programming model, called FRASP, that maintains the same expressiveness and benefits of aggregate programming, while enabling significant improvements in terms of scheduling controllability, flexibility in the sensing/actuation model, and execution efficiency.

Self-Organisation Programming: A Functional Reactive Macro Approach

Casadei, Roberto;Aguzzi, Gianluca;Pianini, Danilo;Viroli, Mirko
2023

Abstract

Engineering self-organising systems - e.g., robot swarms, collectives of wearables, or distributed infrastructures - has been investigated and addressed through various kinds of approaches: devising algorithms by taking inspiration from nature, relying on design patterns, using learning to synthesise behaviour from expectations of emergent behaviour, and exposing key mechanisms and abstractions at the level of a programming language. Focussing on the latter approach, most of the state-of-the-art languages for self-organisation leverage a round-based execution model, where devices repeatedly evaluate their context and control program fully: this model is simple to reason about but limited in terms of flexibility and fine-grained management of sub-activities. By inspiration from the so-called functional reactive paradigm, in this paper we propose a reactive self-organisation programming approach that enables to fully decouple the program logic from the scheduling of its sub-activities. Specifically, we implement the idea through a functional reactive implementation of aggregate programming in Scala, based on the functional reactive library Sodium. The result is a functional reactive self-organisation programming model, called FRASP, that maintains the same expressiveness and benefits of aggregate programming, while enabling significant improvements in terms of scheduling controllability, flexibility in the sensing/actuation model, and execution efficiency.
2023
IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2023, Toronto, ON, Canada, September 25-29, 2023
87
96
Casadei, Roberto; Dente, Francesco; Aguzzi, Gianluca; Pianini, Danilo; Viroli, Mirko
File in questo prodotto:
Eventuali allegati, non sono esposti

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/958269
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 0
social impact