Tuple-Based Coordination in Large-Scale Situated Systems proposes a model called spatiotemporal tuples for coordinating large distributed systems situated in physical space. Spatiotemporal tuples extend the tuple space coordination model by associating tuples with spatial regions. Operations on tuples like read, write and remove are modeled as aggregate processes that operate on these regions. The model is implemented using an aggregate computing framework. Simulations show it can coordinate operations in large systems evolving over time and space. Future work includes exploring more complex spatial models and non-functional properties.
Coordinating Large Situated Systems with Spatial Tuples
1. Tuple-Based Coordination
in Large-Scale Situated Systems
Roberto Casadei1
, Mirko Viroli1
, Alessandro Ricci1
, Giorgio Audrito2
1
ALMA MATER STUDIORUMāUniversitĆ di Bologna, Cesena, Italy
2
UniversitĆ degli Studi di Torino, Turin, Italy
May 27, 2021
Talk @
COORDINATIONā21
3. Context & Motivation
Space as key element of computation ā space-oriented computing [1]
ā Coping with space
ā Embedding in space
ā Representing space
Next-gen systems increasingly large-scale and situated
ā Locality
ā Decentralisation
Focus: spatial coordination in large-scale situated systems
[1] A. DeHon et al., Eds., Computing Media and Languages for Space-Oriented Computation, 03.09. - 08.09.2006,
Dagstuhl Seminar Proceedings, 2007
R.Casadei Introduction Contribution Conclusion & Future Work References 1/14
4. Inspiration: Spatial Tuples [2]
Spatial Tuples model
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)
[2] A. Ricci et al., āSpatial tuples: Augmenting reality with tuples,ā Expert Systems, no. 5, 2018
R.Casadei Introduction Contribution Conclusion & Future Work References 2/14
5. Spatial Tuples for Space-based Coordination [2]
Space-based coordination patterns
Situated communication: write somewhere, read somewhere
ā Labelling
tuples attached to components
ā Breadcrumbs
cf. a moving agent depositing tuples
ā Context awareness
local read
Spatial synchronisation
ā Using space to synchronise actions
cf. Spatial Dining Philosophers
[2] A. Ricci et al., āSpatial tuples: Augmenting reality with tuples,ā Expert Systems, no. 5, 2018
R.Casadei Introduction Contribution Conclusion & Future Work References 3/14
6. Spatial tuples for situated networks/processes
In Spatial Tuples, spatial information is essentially a label given to tuples and templates
for matching
ā abstract model, no implementation
RQ #1: what about spatial tuples & distributed tuple spaces?
ā cf. implementation in MANET/P2P networks
ā cf. LIME [3], GeoLinda [4]
RQ #2: what about extensions for dynamic tuples/processes?
ā cf. TOTA [5], ĻĻ-Linda [6]
[3] A. L. Murphy et al., āLIME: A COORDINATION MODEL AND MIDDLEWARE SUPPORTING MOBILITY OF HOSTS AND
AGENTS,ā ACM Transactions on Software Engineering and Methodology, no. 3, Jul. 2006
[4] J. Pauty et al., āGeo-linda: A geometry aware distributed tuple space,ā in 21st International Conference on
Advanced Information Networking and Applications (AINAā07), IEEE, 2007
[5] M. Mamei et al., āProgramming pervasive and mobile computing applications: The TOTA approach,ā ACM Trans.
on Software Engineering Methodologies, no. 4, 2009
[6] M. Viroli et al., āLinda in space-time: An adaptive coordination model for mobile ad-hoc environments,ā in
COORDINATION 2012, 2012
R.Casadei Introduction Contribution Conclusion & Future Work References 4/14
8. Computational Space-Time Model
Augmented Event Structure
ā Events + neighbouring relationship implying causality + event data
Space-time computability [7]
Ī“0
Ī“1
Ī“2
Ī“3
Ī“4
device
time
0
0 0
1 0
2 0
3 0
4
1
0 1
1 1
2 1
3 1
4 1
5
2
0 2
1 2
2 2
3
3
0 3
1 3
2 3
3 3
4 3
5
4
0 4
1 4
2
m
e
s
s
a
g
e
self-message
reboot
[7] G. Audrito et al., āSpace-time universality of field calculus,ā in COORDINATION 2018, 2018
R.Casadei Introduction Contribution Conclusion Future Work References 5/14
9. Spatiotemporal Tuples model
Spatio-temporal region: subset of events matched by a predicate
ā e.g. connected regions originating from a source event
Spatio-temporal process: distributed execution of tuple operations on an event structure
ā an event may support multiple processes concurrently
past future
Coherent tuple space evolution: to ensure safety and liveness Linda properties
(Formal definitions in the paper)
R.Casadei Introduction Contribution Conclusion Future Work References 6/14
10. 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
ā
out
R.Casadei Introduction Contribution Conclusion Future Work References 7/14
11. 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
ā
out
rd ā
rd
M
R.Casadei Introduction Contribution Conclusion Future Work References 8/14
12. 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
0
in
0
M
C
ā
in
ā
out
R.Casadei Introduction Contribution Conclusion Future Work References 9/14
13. Spatiotemporal tuples as aggregate processes
Implementation framework
Aggregate computing [8]
ā a programming model self-organising systems
ā formalised on event structures
ā computational field abstraction [9]
Aggregate processes [10]
ā concurrent aggregate computations on ensembles
[8] M. Viroli et al., āFrom distributed coordination to field calculus and aggregate computing,ā Journal of
Logical and Algebraic Methods in Programming, 2019
[9] G. Audrito et al., āA higher-order calculus of computational fields,ā ACM Trans. Comput. Logic, no. 1,
Jan. 2019
[10] R. Casadei et al., āAggregate processes in field calculus,ā in COORDINATION 2019, 2019
[11] R. Casadei et al., āFScaFi: A core calculus for collective adaptive systems programming,ā in 9th International
Symposium on Leveraging Applications of Formal Methods, ISoLA, Proceedings, ser. LNCS, Springer, 2020
R.Casadei Introduction Contribution Conclusion Future Work References 10/14
14. Spatiotemporal tuples as aggregate processes
Implementation framework
Aggregate computing [8]
ā a programming model self-organising systems
ā formalised on event structures
ā computational field abstraction [9]
Aggregate processes [10]
ā concurrent aggregate computations on ensembles
[8] M. Viroli et al., āFrom distributed coordination to field calculus and aggregate computing,ā Journal of
Logical and Algebraic Methods in Programming, 2019
[9] G. Audrito et al., āA higher-order calculus of computational fields,ā ACM Trans. Comput. Logic, no. 1,
Jan. 2019
[10] R. Casadei et al., āAggregate processes in field calculus,ā in COORDINATION 2019, 2019
Ā Any spatiotemporal tuple operation (out/rd/in) as an aggregate process instance
ā spatiotemporal tuple region ā process domain
ā atomicity ā in-process distributed consensus (e.g., via leader/owner)
ā tuple removal, timeouts ā process lifecycle management
PoC Implementation in the ScaFi framework [11]
[11] R. Casadei et al., āFScaFi: A core calculus for collective adaptive systems programming,ā in 9th International
Symposium on Leveraging Applications of Formal Methods, ISoLA, Proceedings, ser. LNCS, Springer, 2020
R.Casadei Introduction Contribution Conclusion Future Work References 10/14
15. Simulation-based evaluation1
Simulation in the ScaFi-Alchemist framework [12] [13]
0 200 400 600 800 1000
Time
0
5
10
15
20
25
30
# OUTs
# OUTs closed
# INs
# INs unblocked
Evolution in time of the number of outs and ins
spawned and closed.
0 200 400 600 800 1000
Time
0
2
4
6
8
10
12
14 # OUTs available
# OUTs reserved
# INs waiting
# INs being served
Evolution in time of the number of outs and ins
in the different phases.
[12] R. Casadei et al., āSimulating large-scale aggregate MASs with alchemist and scala,ā in Computer Science and
Information Systems (FedCSIS), 2016 Federated Conference on, IEEE, 2016
[13] D. Pianini et al., āChemical-oriented simulation of computational systems with ALCHEMIST,ā J. Simulation, no. 3,
2013
1https://github.com/metaphori/experiment-2021-spatiotemporaltuples
R.Casadei Introduction Contribution Conclusion Future Work References 11/14
17. Conclusion
Spatiotemporal Tuples: coordination model w/ situated tuples via situated processes
Implementation via aggregate processes
Future work
Generality and expressiveness
ā e.g. dealing with spatial locations not covered by devices
ā e.g. evolving tuples
Guarantees and non-functional properties of model / implementations
ā cf. CAP
Generality of the model w.r.t. deployments
ā cf. pulverisation of aggregate computations [14]
[14] R. Casadei et al., āPulverization in cyber-physical systems: Engineering the self-organizing logic
separated from deployment,ā Future Internet, no. 11, 2020
R.Casadei Introduction Contribution Conclusion Future Work References 12/14
18. Bibliography (1/2)
[1] A. DeHon, J. Giavitto, and F. Gruau, Eds., Computing Media and Languages for Space-Oriented
Computation, 03.09. - 08.09.2006, vol. 06361, Dagstuhl Seminar Proceedings, 2007. [Online].
Available: http://drops.dagstuhl.de/portals/06361/.
[2] A. Ricci, M. Viroli, A. Omicini, S. Mariani, A. Croatti, and D. Pianini, āSpatial tuples: Augmenting
reality with tuples,ā Expert Systems, vol. 35, no. 5, e12273, 2018.
[3] A. L. Murphy, G. P. Picco, and G.-C. Roman, āLIME: A COORDINATION MODEL AND MIDDLEWARE
SUPPORTING MOBILITY OF HOSTS AND AGENTS,ā ACM Transactions on Software Engineering and
Methodology, vol. 15, no. 3, pp. 279ā328, Jul. 2006, ISSN: 1049-331X. DOI:
10.1145/1151695.1151698.
[4] J. Pauty, P. Couderc, M. Banatre, and Y. Berbers, āGeo-linda: A geometry aware distributed tuple
space,ā in 21st International Conference on Advanced Information Networking and Applications
(AINAā07), IEEE, 2007, pp. 370ā377.
[5] M. Mamei and F. Zambonelli, āProgramming pervasive and mobile computing applications: The
TOTA approach,ā ACM Trans. on Software Engineering Methodologies, vol. 18, no. 4, pp. 1ā56,
2009, ISSN: 1049-331X. DOI: http://doi.acm.org/10.1145/1538942.1538945.
[6] M. Viroli, D. Pianini, and J. Beal, āLinda in space-time: An adaptive coordination model for mobile
ad-hoc environments,ā in COORDINATION 2012, 2012, pp. 212ā229. DOI:
10.1007/978-3-642-30829-1_15.
[7] G. Audrito, J. Beal, F. Damiani, and M. Viroli, āSpace-time universality of field calculus,ā in
COORDINATION 2018, 2018, pp. 1ā20. DOI: 10.1007/978-3-319-92408-3_1.
R.Casadei Introduction Contribution Conclusion Future Work References 13/14
19. Bibliography (2/2)
[8] M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, āFrom distributed coordination
to field calculus and aggregate computing,ā Journal of Logical and Algebraic Methods in
Programming, vol. 109, p. 100 486, 2019, ISSN: 2352-2208. DOI:
10.1016/j.jlamp.2019.100486.
[9] G. Audrito, M. Viroli, F. Damiani, D. Pianini, and J. Beal, āA higher-order calculus of computational
fields,ā ACM Trans. Comput. Logic, vol. 20, no. 1, 5:1ā5:55, Jan. 2019, ISSN: 1529-3785. DOI:
10.1145/3285956.
[10] R. Casadei, M. Viroli, G. Audrito, D. Pianini, and F. Damiani, āAggregate processes in field calculus,ā
in COORDINATION 2019, 2019, pp. 200ā217. DOI: 10.1007/978-3-030-22397-7_12.
[11] R. Casadei, M. Viroli, G. Audrito, and F. Damiani, āFScaFi: A core calculus for collective adaptive
systems programming,ā in 9th International Symposium on Leveraging Applications of Formal
Methods, ISoLA, Proceedings, ser. LNCS, vol. 12477, Springer, 2020, pp. 344ā360. DOI:
10.1007/978-3-030-61470-6_21.
[12] R. Casadei, D. Pianini, and M. Viroli, āSimulating large-scale aggregate MASs with alchemist and
scala,ā in Computer Science and Information Systems (FedCSIS), 2016 Federated Conference on,
IEEE, 2016, pp. 1495ā1504.
[13] D. Pianini, S. Montagna, and M. Viroli, āChemical-oriented simulation of computational systems with
ALCHEMIST,ā J. Simulation, vol. 7, no. 3, pp. 202ā215, 2013. DOI: 10.1057/jos.2012.27.
[14] R. Casadei, D. Pianini, A. Placuzzi, M. Viroli, and D. Weyns, āPulverization in cyber-physical
systems: Engineering the self-organizing logic separated from deployment,ā Future Internet, vol. 12,
no. 11, p. 203, 2020.
R.Casadei Introduction Contribution Conclusion Future Work References 14/14