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 in-
teraction. 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 pro-
cesses. We describe this model and a prototype implementation
in the ScaFi aggregate programming framework, which is rooted
in the so-called computational field paradigm.
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Space-Time
1. Collective Adaptive Systems as Coordination Media
The Case of Tuples in Space-Time
Roberto Casadei, Mirko Viroli, Alessandro Ricci
ALMA MATER STUDIORUM–Università di Bologna, Cesena, Italy
August 14, 2020
Talk @
5th eCAS Workshop
on Engineering Collective Adaptive Systems
3. Introduction
Fundamental dimensions of systems: Structure, Behaviour, Interaction
CAS: behaviour generally simple, collective intelligence emerges from
interaction
Repetition
Decentralisation
Coordination: study of (mechanisms for ruling) interaction
Coordination mechanisms/abstractions for CAS typically group-oriented
Collective interfaces [Bau+07]
Neighbour-based interaction [Vir+19]
Attribute-based communication [AADNL20]
Stigmergy [Hey16]
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 1/16
4. Position
Traditional view: coordination for engineering CAS
Less-explored research direction: CAS for coordination
CAS
Low-level
coordination
High-level
coordination
resilience,
adaptiveness...
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 2/16
5. Starting point and inspiration (1/2)
Spatial Tuples model [Ric+18]
Agents interact by emitting and retrieving tuples situated in space
Extends Linda by giving tuples/templates a location (and possibly an extension)
out(t @ r), rd(tt @ rt), in(tt @ rt)
What about time? how to implement the model in a MANET?
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 3/16
6. Starting point and inspiration (2/2)
Self-organising coordination [VCO09]
coordination media are spread over the network to locally regulate interaction
and foster emergence of global properties
Field Calculus & Aggregate processes [Cas+19]
model for concurrent collective adaptive processes in a (macro-)functional
framework of computational fields
spawn( K, P ) P
P
P
P
P
P
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 4/16
9. Computational Space-Time Model (1/3)
Event structure
Events + neighbouring relationship implying causality
past future
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 6/16
10. Computational Space-Time Model (2/3)
Event structure with identities
Events are computational rounds at specific devices
1
1
2
2
2
3
3
1
3
1
2
3
3
2
1
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 7/16
11. Computational Space-Time Model (3/3)
Computational Space-Time Model
Annotate arcs with temporal and spatial distance labels
time
space
1 1 1 1
2 2 2 2
3 3 3
(1,⊥s) (1,⊥s) (1.5,⊥s)
(⊥t ,1)
(1,⊥s) (0.3,⊥s) (0.3,⊥s)
(⊥t ,1)
(⊥t ,1)
(⊥t ,1.5)
(⊥t ,1)
(2,⊥s) (1,⊥s)
(⊥t ,1.5)
Supports multiple notions of space-time (including global space and time)
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 8/16
12. Spatiotemporal tuple-based coordination (1/3)
Write
Operation out(t @ r) emits tuple t to spatiotemporal tuple region r from a
starting event out⊥
time
space
out⊥
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 9/16
13. Spatiotemporal tuple-based coordination (2/3)
Read
Operation rd(tt @ rt) reads, non-deterministically and in a blocking fashion, a
tuple t, situated in a spatiotemporal tuple region r, matching template tt which
is also situated in region rt
time
space
out⊥
rd⊥ rd
M
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 10/16
14. Spatiotemporal tuple-based coordination (3/3)
Removal
in(tt @ rt) fetches, non-deterministically and in a blocking fashion, a tuple t,
situated in a region r, matching template tt which is also situated in region rt
time
space
out⊥
in⊥
M
in⊥
M
C
R
A
in
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 11/16
15. Spatiotemporal tuples as aggregate processes
Aggregate system: network of devices continuously evaluating context &
executing a global behaviour specification
as a programmable coordination medium
Consider every spatiotemporal tuple operation (out/rd/in) as an aggregate
process instance
Spatiotemporal tuple region → process domain (contiguous)
Atomicity → in-process distributed consensus
Tuple removal, timeouts → process lifecycle management
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 12/16
16. PoC Implementation in the ScaFi framework
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 13/16
19. Future work
Evolve the proof-of-concept into a robust API
Evaluate the approach on a case study (e.g., rescue scenarios)
Investigate model flexibility w.r.t. various notions of space and time
Formalise semantics
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 15/16
20. Bibliography (1/1)
[AADNL20] Yehia Abd Alrahman, Rocco De Nicola, and Michele Loreti. “Programming
interactions in collective adaptive systems by relying on attribute-based
communication”. In: Science of Computer Programming (2020), p. 102428.
[Bau+07] Francoise Baude et al. “Collective interfaces for distributed components”. In:
7h IEEE International Symposium on Cluster Computing and the Grid
(CCGrid). IEEE. 2007, pp. 599–610.
[Cas+19] Roberto Casadei et al. “Aggregate Processes in Field Calculus”. In:
COORDINATION. Vol. 11533. Lecture Notes in Computer Science. Springer,
2019, pp. 200–217.
[Hey16] Francis Heylighen. “Stigmergy as a universal coordination mechanism I:
Definition and components”. In: Cogn. Syst. Res. 38 (2016), pp. 4–13.
[Ric+18] Alessandro Ricci et al. “Spatial Tuples: Augmenting reality with tuples”. In:
Expert Systems 35.5 (2018), e12273.
[VCO09] Mirko Viroli, Matteo Casadei, and Andrea Omicini. “A framework for modelling
and implementing self-organising coordination”. In: Proceedings of the 2009
ACM Symposium on Applied Computing (SAC). 2009, pp. 1353–1360. ISBN:
978-1-60558-166-8. URL:
http://doi.acm.org/10.1145/1529282.1529585.
[Vir+19] Mirko Viroli et al. “From distributed coordination to field calculus and
aggregate computing”. In: J. Log. Algebraic Methods Program. 109 (2019).
R.Casadei Introduction Exploratory Research Conclusion & Future Work References 16/16