2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C), pages 139–144
September 2020
Coordination is a fundamental problem in the engineering of collective adaptive systems (CAS). Prominent approaches in this context promote adaptivity and collective behaviour by founding coordination on local, decentralised interaction. This is usually enabled through abstractions such as collective interfaces, neighbour-based interaction, and attribute-based communication. Application designers, then, use such coordination mechanisms to enact collective adaptive behaviour in order to solve specific problems or provide specific services while coping with dynamic environments. In this paper, we consider the other way round: we argue that a CAS model can be used to provide support for high-level coordination models, simplifying their implementation and transferring to them the self-* properties it emergently fosters. As a motivating example, we consider the idea of supporting tuple-based coordination by Linda primitives such that tuples and operations have a position and extension in space and time. Then, we adopt an aggregate perspective, by which space-time is logically represented by a mobile ad-hoc network of devices, and show that coordination primitives can be implemented as true collective adaptive processes. We describe this model and a prototype implementation in the ScaFi aggregate programming framework, which is rooted in the so-called computational field paradigm.