Advertisement

From Field-Based Coordination to Aggregate Computing

  • Mirko ViroliEmail author
  • Jacob Beal
  • Ferruccio Damiani
  • Giorgio Audrito
  • Roberto Casadei
  • Danilo Pianini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10852)

Abstract

Aggregate computing is an emerging approach to the engineering of complex coordination for distributed systems, based on viewing system interactions in terms of information propagating through collectives of devices, rather than in terms of individual devices and their interaction with their peers and environment. The foundation of this approach is the distillation of a number of prior approaches, both formal and pragmatic, proposed under the umbrella of field-based coordination, and culminating into the field calculus, a functional programming model for the specification and composition of collective behaviours with equivalent local and aggregate semantics. This foundation has been elaborated into a layered approach to engineering coordination of complex distributed systems, building up to pragmatic applications through intermediate layers encompassing reusable libraries of provably resilient program components. In this survey, we trace the development and antecedents of field calculus, review the current state of aggregate computing theory and practice, and discuss a roadmap of current research directions that we believe can significantly impact the agenda of coordination models and languages.

References

  1. 1.
    Ashley-Rollman, M.P., Goldstein, S.C., Lee, P., Mowry, T.C., Pillai, P.: Meld: a declarative approach to programming ensembles. In: International Conference on Intelligent Robots and Systems (IROS), pp. 2794–2800. IEEE (2007)Google Scholar
  2. 2.
    Audrito, G., Bergamini, S.: Resilient blocks for summarising distributed data. In: ALP4IoT Workshop, to Appear on EPTCS Online (2017)Google Scholar
  3. 3.
    Audrito, G., Casadei, R., Damiani, F., Viroli, M.: Compositional blocks for optimal self-healing gradients. In: 11th International Conference on Self-Adaptive and Self-Organizing Systems (SASO), pp. 91–100. IEEE (2017)Google Scholar
  4. 4.
    Audrito, G., Damiani, F., Viroli, M.: Aggregate graph statistics. In: ALP4IoT Workshop, to Appear on EPTCS Online (2017)Google Scholar
  5. 5.
    Audrito, G., Damiani, F., Viroli, M.: Optimally-self-healing distributed gradient structures through bounded information speed. In: Jacquet, J.-M., Massink, M. (eds.) COORDINATION 2017. LNCS, vol. 10319, pp. 59–77. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-59746-1_4CrossRefGoogle Scholar
  6. 6.
    Bachrach, J., Beal, J., McLurkin, J.: Composable continuous-space programs for robotic swarms. Neural Comput. Appl. 19(6), 825–847 (2010)CrossRefGoogle Scholar
  7. 7.
    Bakhshi, R., Cloth, L., Fokkink, W., Haverkort, B.R.: Mean-field framework for performance evaluation of pushpull gossip protocols. Perform. Eval. 68(2), 157–179 (2011). Advances in Quantitative Evaluation of SystemsCrossRefGoogle Scholar
  8. 8.
    Beal, J.: Flexible self-healing gradients. In: Symposium on Applied Computing, pp. 1197–1201. ACM (2009)Google Scholar
  9. 9.
    Beal, J.: A tactical command approach to human control of vehicle swarms. In: AAAI Fall Symposium: Human Control of Bioinspired Swarms (2012)Google Scholar
  10. 10.
    Beal, J.: Superdiffusive dispersion and mixing of swarms. ACM Trans. Auton. Adapt. Syst. (TAAS) 10(2), article 10 (2015)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Beal, J.: Trading accuracy for speed in approximate consensus. Knowl. Eng. Rev. 31(4), 325–342 (2016)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Beal, J., Bachrach, J.: Infrastructure for engineered emergence in sensor/actuator networks. IEEE Intell. Syst. 21, 10–19 (2006)CrossRefGoogle Scholar
  13. 13.
    Beal, J., Bachrach, J., Vickery, D., Tobenkin, M.: Fast self-healing gradients. In: Symposium on Applied Computing, pp. 1969–1975. ACM (2008)Google Scholar
  14. 14.
    Beal, J., Dulman, S., Usbeck, K., Viroli, M., Correll, N.: Organizing the aggregate: languages for spatial computing. In: Formal and Practical Aspects of Domain-Specific Languages: Recent Developments, Chap. 16, pp. 436–501. IGI Global (2013). A longer version http://arxiv.org/abs/1202.5509
  15. 15.
    Beal, J., Pianini, D., Viroli, M.: Aggregate programming for the Internet of Things. IEEE Comput. 48(9), 22–30 (2015)CrossRefGoogle Scholar
  16. 16.
    Beal, J., Usbeck, K., Loyall, J., Metzler, J.: Opportunistic sharing of airborne sensors. In: International Conference on Distributed Computing in Sensor Systems (DCOSS), pp. 25–32. IEEE (2016)Google Scholar
  17. 17.
    Beal, J., Usbeck, K., Loyall, J., Rowe, M., Metzler, J.: Adaptive task reallocation for airborne sensor sharing. In: International Workshops on Foundations and Applications of Self* Systems (FAS*W), pp. 168–173. IEEE (2016)Google Scholar
  18. 18.
    Beal, J., Viroli, M.: Building blocks for aggregate programming of self-organising applications. In: 8th International Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW), pp. 8–13 (2014)Google Scholar
  19. 19.
    Beal, J., Viroli, M.: Aggregate programming: from foundations to applications. In: Bernardo, M., De Nicola, R., Hillston, J. (eds.) SFM 2016. LNCS, vol. 9700, pp. 233–260. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-34096-8_8CrossRefGoogle Scholar
  20. 20.
    Beal, J., Viroli, M., Pianini, D., Damiani, F.: Self-adaptation to device distribution in the Internet of Things. ACM Trans. Auton. Adapt. Syst. (TAAS) 12(3), 12 (2017)Google Scholar
  21. 21.
    Bell, D.G., Kuehnel, F., Maxwell, C., Kim, R., Kasraie, K., Gaskins, T., Hogan, P., Coughlan, J.: NASA world wind: opensource GIS for mission operations. In: Aerospace Conference. IEEE (2007)Google Scholar
  22. 22.
    Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend, 2E. Packt Publishing, Birmingham (2016)Google Scholar
  23. 23.
    Brogi, A., Ciancarini, P.: The concurrent language, Shared Prolog. ACM Trans. Program. Lang. Syst. (TOPLAS) 13(1), 99–123 (1991)CrossRefGoogle Scholar
  24. 24.
    Busi, N., Ciancarini, P., Gorrieri, R., Zavattaro, G.: Coordination models: a guided tour. In: Omicini, A., Zambonelli, F., Klusch, M., Tolksdorf, R. (eds.) Coordination of Internet Agents: Models, Technologies, and Applications, Chap. 1, pp. 6–24. Springer, Heidelberg (2001).  https://doi.org/10.1007/978-3-662-04401-8_1CrossRefGoogle Scholar
  25. 25.
    Butera, W.: Programming a paintable computer. Ph.D. thesis, MIT, Cambridge, USA (2002)Google Scholar
  26. 26.
    Cabri, G., Leonardi, L., Zambonelli, F.: MARS: a programmable coordination architecture for mobile agents. IEEE Internet Comput. 4(4), 26–35 (2000)CrossRefGoogle Scholar
  27. 27.
    Casadei, M., Viroli, M., Gardelli, L.: On the collective sort problem for distributed tuple spaces. Sci. Comput. Program. 74(9), 702–722 (2009)MathSciNetCrossRefGoogle Scholar
  28. 28.
    Casadei, R., Aldini, A., Viroli, M.: Combining trust and aggregate computing. In: Cerone, A., Roveri, M. (eds.) SEFM 2017. LNCS, vol. 10729, pp. 507–522. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-74781-1_34CrossRefGoogle Scholar
  29. 29.
    Casadei, R., Pianini, D., Viroli, M.: Simulating large-scale aggregate MASs with Alchemist and Scala. In: Federated Conference on Computer Science and Information Systems (FedCSIS), pp. 1495–1504. IEEE (2016)Google Scholar
  30. 30.
    Casadei, R., Viroli, M.: Towards aggregate programming in Scala. In: 1st Workshop on Programming Models and Languages for Distributed Computing, p. 5. ACM (2016)Google Scholar
  31. 31.
    Casadei, R., Viroli, M.: Programming actor-based collective adaptive systems. In: Programming with Actors - State-of-the-Art and Research Perspectives. Lecture Notes in Computer Science, vol. 10789. Springer (2018, to appear)Google Scholar
  32. 32.
    Church, A.: A set of postulates for the foundation of logic. Ann. Math. 33(2), 346–366 (1932)MathSciNetCrossRefGoogle Scholar
  33. 33.
    Clark, S.S., Beal, J., Pal, P.: Distributed recovery for enterprise services. In: 9th International Conference on Self-Adaptive and Self-Organizing Systems (SASO), pp. 111–120. IEEE (2015)Google Scholar
  34. 34.
    Clement, L., Nagpal, R.: Self-assembly and self-repairing topologies. In: Workshop on Adaptability in Multi-Agent Systems, RoboCup Australian Open (2003)Google Scholar
  35. 35.
    Coore, D.: Botanical computing: a developmental approach to generating inter connect topologies on an amorphous computer. Ph.D. thesis, MIT, Cambridge, MA, USA (1999)Google Scholar
  36. 36.
    Corkill, D.: Blackboard systems. J. AI Expert 9(6), 40–47 (1991)Google Scholar
  37. 37.
    Curino, C., Giani, M., Giorgetta, M., Giusti, A., Murphy, A.L., Picco, G.P.: Mobile data collection in sensor networks: the TinyLime middleware. Elsevier Pervasive Mob. Comput. J. 4, 446–469 (2005)CrossRefGoogle Scholar
  38. 38.
    Curry, H., Feys, R.: Combinatory Logi. North-Holland, Amsterdam (1958)zbMATHGoogle Scholar
  39. 39.
    Damas, L., Milner, R.: Principal type-schemes for functional programs. In: Symposium on Principles of Programming Languages (POPL), pp. 207–212. ACM (1982)Google Scholar
  40. 40.
    Damiani, F., Viroli, M.: Type-based self-stabilisation for computational fields. Log. Methods Comput. Sci. 11(4) (2015)Google Scholar
  41. 41.
    Damiani, F., Viroli, M., Beal, J.: A type-sound calculus of computational fields. Sci. Comput. Program. 117, 17–44 (2016)CrossRefGoogle Scholar
  42. 42.
    Damiani, F., Viroli, M., Pianini, D., Beal, J.: Code mobility meets self-organisation: a higher-order calculus of computational fields. In: Graf, S., Viswanathan, M. (eds.) FORTE 2015. LNCS, vol. 9039, pp. 113–128. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-19195-9_8CrossRefGoogle Scholar
  43. 43.
    Dasgupta, S., Beal, J.: A Lyapunov analysis for the robust stability of an adaptive Bellman-Ford algorithm. In: 55th IEEE Conference on Decision and Control (CDC), pp. 7282–7287. IEEE (2016)Google Scholar
  44. 44.
    De Nicola, R., Ferrari, G., Pugliese, R.: KLAIM: a kernel language for agent interaction and mobility. IEEE Trans. Softw. Eng. (TOSE) 24(5), 315–330 (1998)CrossRefGoogle Scholar
  45. 45.
    De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: the SCEL language. ACM Trans. Auton. Adapt. Syst. (TAAS) 9(2), 7:1–7:29 (2014)Google Scholar
  46. 46.
    Dobson, S., Denazis, S., Fernández, A., Gaïti, D., Gelenbe, E., Massacci, F., Nixon, P., Saffre, F., Schmidt, N., Zambonelli, F.: A survey of autonomic communications. ACM Trans. Auton. Adapt. Syst. (TAAS) 1(2), 223–259 (2006)CrossRefGoogle Scholar
  47. 47.
    Dolev, S.: Self-Stabilization. MIT Press, Cambridge (2000)zbMATHGoogle Scholar
  48. 48.
    Engstrom, B.R., Cappello, P.R.: The SDEF programming system. J. Parallel Distrib. Comput. 7(2), 201–231 (1989)CrossRefGoogle Scholar
  49. 49.
    Fernandez-Marquez, J.L., Di Marzo Serugendo, G., Montagna, S., Viroli, M., Arcos, J.L.: Description and composition of bio-inspired design patterns: a complete overview. Nat. Comput. 12(1), 43–67 (2013)MathSciNetCrossRefGoogle Scholar
  50. 50.
    Francia, M., Pianini, D., Beal, J., Viroli, M.: Towards a foundational API for resilient distributed systems design. In: International Workshops on Foundations and Applications of Self* Systems (FAS*W). IEEE (2017)Google Scholar
  51. 51.
    Freeman, E., Hupfer, S., Arnold, K.: JavaSpaces Principles, Patterns, and Practice: Principles, Patterns and Practices. The Jini Technology Series. Addison-Wesley Longman, Boston (1999)Google Scholar
  52. 52.
    Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. (TOPLAS) 7(1), 80–112 (1985)CrossRefGoogle Scholar
  53. 53.
    Giavitto, J.L., Godin, C., Michel, O., Prusinkiewicz, P.: Computational models for integrative and developmental biology. Technical report 72-2002, Univerite d’Evry, LaMI (2002)Google Scholar
  54. 54.
    Giavitto, J.-L., Michel, O., Cohen, J., Spicher, A.: Computations in space and space in computations. In: Banâtre, J.-P., Fradet, P., Giavitto, J.-L., Michel, O. (eds.) UPP 2004. LNCS, vol. 3566, pp. 137–152. Springer, Heidelberg (2005).  https://doi.org/10.1007/11527800_11CrossRefGoogle Scholar
  55. 55.
    Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM Trans. Program. Lang. Syst. (TOPLAS) 23(3), 396–450 (2001)CrossRefGoogle Scholar
  56. 56.
    Kumar, A., Beal, J., Dasgupta, S., Mudumbai, R.: Toward predicting distributed systems dynamics. In: International Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW), pp. 68–73. IEEE (2015)Google Scholar
  57. 57.
    Lasser, C., Massar, J., Miney, J., Dayton, L.: Starlisp Reference Manual. Thinking Machines Corporation, Cambridge (1988)Google Scholar
  58. 58.
    Lafuente, A.L., Loreti, M., Montanari, U.: A fixpoint-based calculus for graph-shaped computational fields. In: Holvoet, T., Viroli, M. (eds.) COORDINATION 2015. LNCS, vol. 9037, pp. 101–116. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-19282-6_7CrossRefGoogle Scholar
  59. 59.
    Lluch-Lafuente, A., Loreti, M., Montanari, U.: Asynchronous distributed execution of fixpoint-based computational fields. Log. Methods Comput. Sci. 13(1) (2017)Google Scholar
  60. 60.
    Madden, S., Franklin, M.J., Hellerstein, J.M., Hong, W.: TAG: a Tiny AGgregation service for ad-hoc sensor networks. SIGOPS Oper. Syst. Rev. 36(SI), 131–146 (2002)CrossRefGoogle Scholar
  61. 61.
    Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications: the TOTA approach. ACM Trans. Softw. Eng. Methodol. (TOSEM) 18(4), 1–56 (2009)CrossRefGoogle Scholar
  62. 62.
    Mamei, M., Zambonelli, F., Leonardi, L.: Co-fields: towards a unifying approach to the engineering of swarm intelligent systems. In: Petta, P., Tolksdorf, R., Zambonelli, F. (eds.) ESAW 2002. LNCS (LNAI), vol. 2577, pp. 68–81. Springer, Heidelberg (2003).  https://doi.org/10.1007/3-540-39173-8_6CrossRefzbMATHGoogle Scholar
  63. 63.
    Menezes, R., Snyder, J.: Coordination of distributed components using LogOp. In: International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), vol. 1, pp. 109–114. CSREA Press (2003)Google Scholar
  64. 64.
    Menezes, R., Tolksdorf, R.: Adaptiveness in Linda-Based coordination models. In: Di Marzo Serugendo, G., Karageorgos, A., Rana, O.F., Zambonelli, F. (eds.) ESOA 2003. LNCS (LNAI), vol. 2977, pp. 212–232. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-24701-2_15CrossRefGoogle Scholar
  65. 65.
    Minsky, N.H., Ungureanu, V.: Law-Governed interaction: a coordination and control mechanism for heterogeneous distributed systems. ACM Trans. Softw. Eng. Methodol. (TOSEM) 9(3), 273–305 (2000)CrossRefGoogle Scholar
  66. 66.
    Mo, Y., Beal, J., Dasgupta, S.: Error in self-stabilizing spanning-tree estimation of collective state. In: International Workshops on Foundations and Applications of Self* Systems (FAS*W), pp. 1–6. IEEE (2017)Google Scholar
  67. 67.
    Murphy, A.L., Picco, G.P., Roman, G.C.: Lime: a coordination model and middleware supporting mobility of hosts and agents. ACM Trans. Softw. Eng. Methodol. (TOSEM) 15(3), 279–328 (2006)CrossRefGoogle Scholar
  68. 68.
    Nagpal, R.: Programmable self-assembly: constructing global shape using biologically-inspired local interactions and Origami mathematics. Ph.D. thesis, MIT, Cambridge, MA, USA (2001)Google Scholar
  69. 69.
    Newton, R., Welsh, M.: Region streams: functional macroprogramming for sensor networks. In: Workshop on Data Management for Sensor Networks, pp. 78–87 (2004)Google Scholar
  70. 70.
    Odersky, M., Rompf, T.: Unifying functional and object-oriented programming with Scala. Comm. ACM 57(4), 76–86 (2014)CrossRefGoogle Scholar
  71. 71.
    Omicini, A., Denti, E.: From tuple spaces to tuple centres. Sci. Comput. Program. 41(3), 277–294 (2001)CrossRefGoogle Scholar
  72. 72.
    Omicini, A., Ricci, A., Viroli, M., Castelfranchi, C., Tummolini, L.: Coordination artifacts: environment-based coordination for intelligent agents. In: 3rd International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS), pp. 286–293. IEEE Computer Society (2004)Google Scholar
  73. 73.
    Omicini, A., Viroli, M.: Coordination models and languages: from parallel computing to self-organisation. Knowl. Eng. Rev. 26(1), 53–59 (2011)CrossRefGoogle Scholar
  74. 74.
    Parunak, H.V.D., Brueckner, S.: Concurrent modeling of alternative worlds with polyagents. In: Antunes, L., Takadama, K. (eds.) MABS 2006. LNCS (LNAI), vol. 4442, pp. 128–141. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-76539-4_10CrossRefGoogle Scholar
  75. 75.
    Pianini, D., Beal, J., Viroli, M.: Improving gossip dynamics through overlapping replicates. In: Lluch Lafuente, A., Proença, J. (eds.) COORDINATION 2016. LNCS, vol. 9686, pp. 192–207. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-39519-7_12CrossRefGoogle Scholar
  76. 76.
    Pianini, D., Montagna, S., Viroli, M.: Chemical-oriented simulation of computational systems with ALCHEMIST. J. Simul. 7(3), 202–215 (2013)CrossRefGoogle Scholar
  77. 77.
    Pianini, D., Viroli, M., Beal, J.: Protelis: practical aggregate programming. In: Symposium on Applied Computing, pp. 1846–1853. ACM (2015)Google Scholar
  78. 78.
    Pianini, D., Virruso, S., Menezes, R., Omicini, A., Viroli, M.: Self organization in coordination systems using a WordNet-based ontology. In: 4th International Conference on Self-Adaptive and Self-Organizing Systems (SASO). IEEE (2010)Google Scholar
  79. 79.
    Stovall, D., Julien, C.: Resource discovery with evolving tuples. In: International Workshop on Engineering of Software Services for Pervasive Environments: In Conjunction with the 6th ESEC/FSE Joint Meeting, ESSPE, pp. 1–10. ACM, New York (2007)Google Scholar
  80. 80.
    Tolksdorf, R., Menezes, R.: Using swarm intelligence in Linda systems. In: Omicini, A., Petta, P., Pitt, J. (eds.) ESAW 2003. LNCS (LNAI), vol. 3071, pp. 49–65. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-25946-6_3CrossRefGoogle Scholar
  81. 81.
    Viroli, M.: On competitive self-composition in pervasive services. Sci. Comput. Program. 78(5), 556–568 (2013)CrossRefGoogle Scholar
  82. 82.
    Viroli, M., Audrito, G., Beal, J., Damiani, F., Pianini, D.: Engineering resilient collective adaptive systems by self-stabilisation. arXiv preprint arXiv:1711.08297 (2017)
  83. 83.
    Viroli, M., Audrito, G., Beal, J., Damiani, F., Pianini, D.: Engineering resilient collective adaptive systems by self-stabilisation. ACM Trans. Model. Comput. Simul. (TOMACS) (2018, to appear)Google Scholar
  84. 84.
    Viroli, M., Audrito, G., Damiani, F., Pianini, D., Beal, J.: A higher-order calculus of computational fields. arXiv preprint arXiv:1610.08116 (2016)
  85. 85.
    Viroli, M., Beal, J.: Resiliency with aggregate computing: state of the art and roadmap. In: Workshop on FORmal methods for the quantitative Evaluation of Collective Adaptive SysTems (FORECAST) (2016)CrossRefGoogle Scholar
  86. 86.
    Viroli, M., Beal, J., Damiani, F., Pianini, D.: Efficient engineering of complex self-organising systems by self-stabilising fields. In: 9th International Conference on Self-Adaptive and Self-Organizing Systems (SASO), pp. 81–90, September 2015Google Scholar
  87. 87.
    Viroli, M., Casadei, M.: Biochemical tuple spaces for self-organising coordination. In: Field, J., Vasconcelos, V.T. (eds.) COORDINATION 2009. LNCS, vol. 5521, pp. 143–162. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02053-7_8CrossRefGoogle Scholar
  88. 88.
    Viroli, M., Casadei, M., Montagna, S., Zambonelli, F.: Spatial coordination of pervasive services through chemical-inspired tuple spaces. ACM Trans. Auton. Adapt. Syst. (TAAS) 6(2), 14:1–14:24 (2011)Google Scholar
  89. 89.
    Viroli, M., Casadei, M., Omicini, A.: A framework for modelling and implementing self-organising coordination. In: ACM Symposium on Applied Computing (SAC), pp. 1353–1360 (2009)Google Scholar
  90. 90.
    Viroli, M., Casadei, R., Pianini, D.: On execution platforms for large-scale aggregate computing. In: International Joint Conference on Pervasive and Ubiquitous Computing: Adjunct, pp. 1321–1326. ACM (2016)Google Scholar
  91. 91.
    Viroli, M., Damiani, F.: A calculus of self-stabilising computational fields. In: Kühn, E., Pugliese, R. (eds.) COORDINATION 2014. LNCS, vol. 8459, pp. 163–178. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-43376-8_11CrossRefGoogle Scholar
  92. 92.
    Viroli, M., Damiani, F., Beal, J.: A calculus of computational fields. In: Canal, C., Villari, M. (eds.) ESOCC 2013. CCIS, vol. 393, pp. 114–128. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-45364-9_11CrossRefGoogle Scholar
  93. 93.
    Viroli, M., Omicini, A., Ricci, A.: Engineering MAS environment with artifacts. In: Weyns, D., Parunak, H.V.D., Michel, F. (eds.) 2nd International Workshop “Environments for Multi-Agent Systems” (E4MAS 2005), AAMAS 2005, Utrecht, The Netherlands, 26 July 2005Google Scholar
  94. 94.
    Viroli, M., Pianini, D., Beal, J.: Linda in space-time: an adaptive coordination model for mobile ad-hoc environments. In: Sirjani, M. (ed.) COORDINATION 2012. LNCS, vol. 7274, pp. 212–229. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-30829-1_15CrossRefGoogle Scholar
  95. 95.
    Viroli, M., Pianini, D., Ricci, A., Croatti, A.: Aggregate plans for multiagent systems. Int. J. Agent-Oriented Softw. Eng. 4(5), 336–365 (2017)CrossRefGoogle Scholar
  96. 96.
    Whitehouse, K., Sharp, C., Brewer, E., Culler, D.: Hood: a neighborhood abstraction for sensor networks. In: 2nd International Conference on Mobile Systems, Applications, and Services. ACM (2004)Google Scholar
  97. 97.
    Wyckoff, P., McLaughry, S.W., Lehman, T.J., Ford, D.A.: T spaces. IBM J. Res. Dev. 37(3 – Java Techonology), 454–474 (1998)Google Scholar
  98. 98.
    Yamins, D.: A theory of local-to-global algorithms for one-dimensional spatial multi-agent systems. Ph.D. thesis, Harvard, Cambridge, MA, USA (2007)Google Scholar
  99. 99.
    Yao, Y., Gehrke, J.: The Cougar approach to in-network query processing in sensor networks. ACM SIGMOD Record 31(3), 9–18 (2002)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2018

Authors and Affiliations

  • Mirko Viroli
    • 1
    Email author
  • Jacob Beal
    • 2
  • Ferruccio Damiani
    • 3
  • Giorgio Audrito
    • 3
  • Roberto Casadei
    • 1
  • Danilo Pianini
    • 1
  1. 1.Alma Mater Studiorum–Università di BolognaCesenaItaly
  2. 2.Raytheon BBN TechnologiesCambridgeUSA
  3. 3.Università di TorinoTurinItaly

Personalised recommendations