Software Engineering for Collective Cyber-Physical Ecosystems
This addresses software engineering problems for developers and researchers in distributed and pervasive computing, but it is incremental as it builds on existing self-organising systems and swarm robotics concepts.
The paper tackles the challenge of software engineering for large-scale cyber-physical ecosystems by proposing a shift from treating systems as heterogeneous composites to viewing them as uniform, collaborative collectives, exploring motivations, state of the art, and future research directions.
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.