Towards Collective Operating Systems through Aggregate Computing

Student Talk @ SIESTA 2025

Angela Cortecchia - 1st year PhD Student @ University of Bologna

Reference Scenario

In smart cities applications, e.g. crowd management and surveillance, many heterogeneous sensors and devices can be employed to:

  • Detect crowd;
  • Steer the crowd to prevent hazardous situation;
  • Potentially, let law enforcement intervene.

What do we need?

Crowd Management scenario

  • Drones and sensors observe and send data to the system;
  • Crowd steering based on data evaluation;
  • Coordination between devices;
  • Law enforcement intervention;

Effective technologies

  • Distributed sensors and actuators able to execute multiple programs;
  • Communication between different processes;
  • Intra-process communication;
  • Third-party entities able to interrupt, pause, or add processes at runtime.

Challenges

Common approaches usually consist of programming each single device.

Non-scalable when thousands of different devices are involved.

  • Different way to implement programs on different devices;
  • Some devices do not support all functionalities;
  • Time expensive to program each single device;
  • Devices have a limited vision of the system;
  • Challenging for developers to implement.

Meet Aggregate Computing1

A programming paradigm to define the behavior of a collective of heterogeneous devices.

Every device runs the same program and adapts to dynamic changes in the environment.

Current limitations:

  • Aggregate systems run just one program;
  • Can not be modified, added, or interrupted at runtime without affecting other devices.

[1] Beal, J., Pianini, D., Viroli, M. "Aggregate Programming for the Internet of Things." 2015.

Idea: Collective Operating Systems

Aim to parallel the main functionalities of modern OSs, from a collective point of view:

  • Runtime program injection;
  • Users and permissions;
  • Signal and interrupts;
  • Multiple processes able to communicate;
  • Distributed sensors and actuators;
  • Intra-process communication.

Where we are so far

Development of Collektive2: a framework for Aggregate Computing in Kotlin Multiplatform.

Integration of the tool with the Alchemist Simulator3.

Implementation of a plant-inspired morphogenesis algorithm4 for the management of distributed resources

First testings on Android and iOS devices.

[2] https://collektive.github.io
[3] D. Pianini, S. Montagna, and M. Viroli, “Chemical-oriented simulation of computational systems with ALCHEMIST”.
[4] A. Cortecchia, D. Pianini, G. Ciatto, and R. Casadei, “An Aggregate Vascular Morphogenesis Controller for Engineered Self-Organising Spatial Structures,” 2024.

What’s next?

  • Implementation of algorithms to reduce communication overhead while preserving accuracy;
  • Extension of the Collective OS model with users, permissions, signals, and inter-process communication;
  • Validation on reference scenarios: crowd management, autonomous navigation, smart cities;
  • Development of a full prototype of a Collective Operating System, open-source and deployable on heterogeneous devices.

Thank you for the attention!

:)

Questions or Suggestions?