Table of Contents
Fetching ...

Software Engineering for Collective Cyber-Physical Ecosystems

Roberto Casadei, Gianluca Aguzzi, Giorgio Audrito, Ferruccio Damiani, Danilo Pianini, Giordano Scarso, Gianluca Torta, Mirko Viroli

TL;DR

The paper investigates software engineering for large-scale cyber-physical ecosystems through a collective computing lens, arguing that treating systems as collectives enables uniform coordination and emergent behaviour. It surveys the state-of-the-art across macroprogramming, aggregate computing, collective learning, and ensemble models, and discusses mapping problems and human integration within CCPEs. It identifies key challenges—handling homogeneity/heterogeneity, DSL/middleware trade-offs, bridging global/local perspectives, human-in-the-loop integration, and collective learning—and outlines a research agenda with toolchains, methodologies, and verification approaches. The work has practical significance for designing scalable, resilient, and self-adaptive cyber-physical infrastructures, including swarm robotics, smart cities, and edge-cloud ecosystems.

Abstract

Today's distributed and pervasive computing addresses large-scale cyber-physical ecosystems, characterised by dense and large networks of devices capable of computation, communication and interaction with the environment and people. While most research focusses on treating these systems as "composites" (i.e., heterogeneous functional complexes), recent developments in fields such as self-organising systems and swarm robotics have opened up a complementary perspective: treating systems as "collectives" (i.e., uniform, collaborative, and self-organising groups of entities). This article explores the motivations, state of the art, and implications of this "collective computing paradigm" in software engineering, discusses its peculiar challenges, and outlines a path for future research, touching on aspects such as macroprogramming, collective intelligence, self-adaptive middleware, learning, synthesis, and experimentation of collective behaviour.

Software Engineering for Collective Cyber-Physical Ecosystems

TL;DR

The paper investigates software engineering for large-scale cyber-physical ecosystems through a collective computing lens, arguing that treating systems as collectives enables uniform coordination and emergent behaviour. It surveys the state-of-the-art across macroprogramming, aggregate computing, collective learning, and ensemble models, and discusses mapping problems and human integration within CCPEs. It identifies key challenges—handling homogeneity/heterogeneity, DSL/middleware trade-offs, bridging global/local perspectives, human-in-the-loop integration, and collective learning—and outlines a research agenda with toolchains, methodologies, and verification approaches. The work has practical significance for designing scalable, resilient, and self-adaptive cyber-physical infrastructures, including swarm robotics, smart cities, and edge-cloud ecosystems.

Abstract

Today's distributed and pervasive computing addresses large-scale cyber-physical ecosystems, characterised by dense and large networks of devices capable of computation, communication and interaction with the environment and people. While most research focusses on treating these systems as "composites" (i.e., heterogeneous functional complexes), recent developments in fields such as self-organising systems and swarm robotics have opened up a complementary perspective: treating systems as "collectives" (i.e., uniform, collaborative, and self-organising groups of entities). This article explores the motivations, state of the art, and implications of this "collective computing paradigm" in software engineering, discusses its peculiar challenges, and outlines a path for future research, touching on aspects such as macroprogramming, collective intelligence, self-adaptive middleware, learning, synthesis, and experimentation of collective behaviour.
Paper Structure (25 sections, 2 figures)

This paper contains 25 sections, 2 figures.

Figures (2)

  • Figure 1: The local/micro and global/macro levels of systems. The shapes at the top are just abstract denotations of macroscopic information obtained by an application-specific, abstracted function of the microscopic data taken from the agents and environment (cf. DBLP:journals/access/HePLMC19Gignoux2017). The stylised agents are not necessarily people but also artificial autonomous agents.
  • Figure 2: From composites to collectives. In composites (left) every entity composing the system must be observed, understood, and designed/trained individually; communication between entities needs to be modelled explicitly. In collectives (right) all entities are observed, understood, and designed/trained as a single entity; communication is implicit; dealing with the heterogeneity of the single entities is still an active research topic. Hybrid systems (centre) are possible: the system gets partitioned into multiple subsystems, typically capturing homogeneous devices, building a de-facto composite of collectives.