skip to main content
research-article

Self-Adaptation to Device Distribution in the Internet of Things

Published:20 September 2017Publication History
Skip Abstract Section

Abstract

A key problem when coordinating the behaviour of spatially situated networks, like those typically found in the Internet of Things (IoT), is adaptation to changes impacting network topology, density, and heterogeneity. Computational goals for such systems, however, are often dependent on geometric properties of the continuous environment in which the devices are situated rather than the particulars of how devices happen to be distributed through it. In this article, we identify a new property of distributed algorithms, eventual consistency, which guarantees that computation converges to a final state that approximates a predictable limit, based on the continuous environment, as the density and speed of devices increases. We then identify a large class of programs that are eventually consistent, building on prior results on the field calculus computational model (Beal et al. 2015; Viroli et al. 2015a) that identify a class of self-stabilizing programs. Finally, we confirm through simulation of IoT application scenarios that eventually consistent programs from this class can provide resilient behavior where programs that are only converging fail badly.

References

  1. H. Abelson, D. Allen, D. Coore, C. Hanson, G. Homsy, T. Knight, R. Nagpal, E. Rauch, G. Sussman, and R. Weiss. 1999. Amorphous Computing. Technical Report AIM-1665. MIT.Google ScholarGoogle Scholar
  2. Alexander Artikis, Marek J. Sergot, and Jeremy V. Pitt. 2009. Specifying norm-governed computational societies. ACM Trans. Comput. Log. 10, 1 (2009), 1--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Michael P. Ashley-Rollman, Seth Copen Goldstein, Peter Lee, Todd C. Mowry, and Padmanabhan Pillai. 2007. Meld: A declarative approach to programming ensembles. In Proceedings of the IEEE International Conference on Intelligent Robots and Systems (IROS’07). IEEE Press, Piscataway, NJ, 2794--2800.Google ScholarGoogle ScholarCross RefCross Ref
  4. Jacob Beal. 2005. Programming an amorphous computational medium. In Unconventional Programming Paradigms, Jean-Pierre Banatre, Pascal Fradet, Jean-Louis Giavitto, and Olivier Michel (Eds.). Lecture Notes in Computer Science, Vol. 3566. Springer, Berlin, 121--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Jacob Beal. 2010. A basis set of operators for space-time computations. In Proceedings of the 2010 4th IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshop (SASOW’10). IEEE Computer Society, Washington, DC, 91--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jacob Beal, Stefan Dulman, Kyle Usbeck, Mirko Viroli, and Nikolaus Correll. 2013. Organizing the aggregate: Languages for spatial computing. In Formal and Practical Aspects of Domain-Specific Languages: Recent Developments, Marjan Mernik (Ed.). IGI Global, Hershey, PA, Chapter 16, 436--501.Google ScholarGoogle Scholar
  7. Jacob Beal, Danilo Pianini, and Mirko Viroli. 2015. Aggregate programming for the internet of things. IEEE Comput. 48, 9 (2015), 22--30.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jacob Beal, Kyle Usbeck, and Brett Benyo. 2013. On the evaluation of space-time functions. Comput. J. 56, 12 (2013), 1500--1517.Google ScholarGoogle ScholarCross RefCross Ref
  9. Jacob Beal and Mirko Viroli. 2014. Building blocks for aggregate programming of self-organising applications. In Proceedings of the 8th IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW’14). IEEE, Piscataway, NJ, 8--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jacob Beal, Mirko Viroli, and Ferruccio Damiani. 2014. Towards a unified model of spatial computing. In Proceedings of the 7th Spatial Computing Workshop (SCW’14).Google ScholarGoogle Scholar
  11. Jacob Beal, Mirko Viroli, Danilo Pianini, and Ferruccio Damiani. 2016. Self-adaptation to device distribution changes. In Proceedings of the IEEE Conference on Self-Adaptive and Self-Organising Systems (SASO’16). IEEE, Piscataway, NJ.Google ScholarGoogle ScholarCross RefCross Ref
  12. William Butera. 2002. Programming a Paintable Computer. Ph.D. Dissertation. MIT, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lauren Clement and Radhika Nagpal. 2003. Self-assembly and self-repairing topologies. In Proceedings of the Workshop on Adaptability in Multi-Agent Systems, RoboCup Australian Open.Google ScholarGoogle Scholar
  14. Daniel Coore. 1999. Botanical Computing: A Developmental Approach to Generating Inter Connect Topologies on an Amorphous Computer. Ph.D. Dissertation. MIT, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Carlo Curino, Matteo Giani, Marco Giorgetta, Alessandro Giusti, Amy L. Murphy, and Gian Pietro Picco. 2005. Mobile data collection in sensor networks: The tinylime middleware. Perv. Mobile Comput. J. 4 (2005), 446--469. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ferruccio Damiani and Mirko Viroli. 2015. Type-based self-stabilisation for computational fields. Logical Methods Comput. Sci. 11, 4 (2015), 1--53.Google ScholarGoogle ScholarCross RefCross Ref
  17. Ferruccio Damiani, Mirko Viroli, and Jacob Beal. 2016. A type-sound calculus of computational fields. Sci. Comput. Program. 117 (2016), 17--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ferruccio Damiani, Mirko Viroli, Danilo Pianini, and Jacob Beal. 2015. Code mobility meets self-organisation: A higher-order calculus of computational fields. In Proceedings of the IFIP International Conference on Formal Techniques for Distributed Objects, Components and Systems (FORTE’15). Springer International, Berlin, 113--128.Google ScholarGoogle ScholarCross RefCross Ref
  19. Shlomi Dolev. 2000. Self-Stabilization. MIT Press, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Bradley R. Engstrom and Peter R. Cappello. 1989. The SDEF programming system. J. Parallel Distrib. Comput. 7, 2 (1989), 201--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Fathiyeh Faghih and Borzoo Bonakdarpour. 2015. SMT-Based synthesis of distributed self-stabilizing systems. ACM Trans. Auton. Adapt. Syst. 10, 3, Article 21 (Oct. 2015), 26 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. JoseLuis Fernandez-Marquez, Giovanna Marzo Serugendo, Sara Montagna, Mirko Viroli, and JosepLluis Arcos. 2013. Description and composition of bio-inspired design patterns: A complete overview. Nat. Comput. 12, 1 (2013), 43--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Jean-Louis Giavitto, Christophe Godin, Olivier Michel, and Przemyslaw Prusinkiewicz. 2002. Computational Models for Integrative and Developmental Biology. Technical Report 72-2002. Univerite d’Evry, LaMI.Google ScholarGoogle Scholar
  24. Jean-Louis Giavitto, Olivier Michel, Julien Cohen, and Antoine Spicher. 2005. Computations in space and space in computations. In Unconventional Programming Paradigms, Jean-Pierre Bantre, Pascal Fradet, Jean-Louis Giavitto, and Olivier Michel (Eds.). Lecture Notes in Computer Science, Vol. 3566. Springer, Berlin, 137--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. T. A. Henzinger. 1996. The theory of hybrid automata. In Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science, 1996 (LICS’96). IEEE, Piscataway, NJ, 278--292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Anup K. Kalia and Munindar P. Singh. 2015. Muon: Designing multiagent communication protocols from interaction scenarios. Auton. Agents Multi-Agent Syst. 29, 4 (2015), 621--657. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. H. Kestelman. 1960. Modern Theories of Integration (2nd. rev. ed.). Dover, New York, NY, 113--160.Google ScholarGoogle Scholar
  28. Attila Kondacs. 2003. Biologically-inspired self-assembly of 2D shapes, using global-to-local compilation. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI’03). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. Lasser, J. P. Massar, J. Miney, and L. Dayton. 1988. Starlisp Reference Manual.Google ScholarGoogle Scholar
  30. Victor Lesser, Keith Decker, Thomas Wagner, Norman Carver, Alan Garvey, Bryan Horling, Daniel Neiman, Rodion Podorozhny, M Nagendra Prasad, Anita Raja, and others. 2004. Evolution of the GPGP/TAEMS domain-independent coordination framework. Auton. Agents Multi-Agent Syst. 9, 1--2 (2004), 87--143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Nancy A. Lynch. 1996. Distributed Algorithms. Morgan Kaufmann, San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Bruce MacLennan. 1990. Continuous Spatial Automata. Technical Report Department of Computer Science Technical Report CS-90-121. University of Tennessee, Knoxville. Google ScholarGoogle Scholar
  33. Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong. 2002. TAG: A tiny aggregation service for ad-hoc sensor networks. SIGOPS Oper. Syst. Rev. 36, SI (Dec. 2002), 131--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Ashok U. Mallya and Munindar P. Singh. 2007. An algebra for commitment protocols. Auton. Agents Multi-Agent Syst. 14, 2 (2007), 143--163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Marco Mamei and Franco Zambonelli. 2009. Programming pervasive and mobile computing applications: The TOTA approach. ACM Trans. Softw. Eng. Methodol. 18, 4 (2009), 1--56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Radhika Nagpal. 2001. Programmable Self-Assembly: Constructing Global Shape using Biologically-inspired Local Interactions and Origami Mathematics. Ph.D. Dissertation. MIT, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Ryan Newton and Matt Welsh. 2004. Region streams: Functional macroprogramming for sensor networks. In Proceedings of the 1st International Workshop on Data Management for Sensor Networks (DMSN’04). ACM, New York, NY, 78--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Andrea Omicini, Alessandro Ricci, and Mirko Viroli. 2008. Artifacts in the A&A meta-model for multi-agent systems. Auton. Agents Multi-Agent Syst. 17, 3 (June2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. H. Van Dyke Parunak, Sven Brueckner, Robert S. Matthews, and John A. Sauter. 2005. Pheromone learning for self-organizing agents. IEEE Trans. Syst. Man Cybernet. A 35, 3 (2005), 316--326. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Danilo Pianini, Jacob Beal, and Mirko Viroli. 2016. Improving gossip dynamics through overlapping replicates. In Proceedings of the 18th IFIP WG 6.1 International Conference on Coordination Models and Languages (COORDINATION’16), Alberto Lluch Lafuente and José Proença (Eds.), Lecture Notes in Computer Science, Vol. 9686. Springer, 192--207.Google ScholarGoogle ScholarCross RefCross Ref
  41. Danilo Pianini, Sara Montagna, and Mirko Viroli. 2013. Chemical-oriented simulation of computational systems with alchemist. J. Simul. 7, 3 (2013), 202--215.Google ScholarGoogle ScholarCross RefCross Ref
  42. Danilo Pianini, Mirko Viroli, and Jacob Beal. 2015. Protelis: Practical aggregate programming. In Proceedings of the ACM Symposium on Applied Computing 2015. ACM, New York, NY, 1846--1853. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. F. Raimbault and D. Lavenier. 1993. ReLaCS for systolic programming. In Proceedings of the International Conference on Application-Specific Array Processors. 132--135.Google ScholarGoogle Scholar
  44. Edwin F. Taylor and John Archibald Wheeler. 1992. Spacetime Physics: Introduction to Special Relativity (2nd ed.). W. H. Freeman 8 Company, Gordonsville, VA.Google ScholarGoogle Scholar
  45. Matthew E. Taylor, Manish Jain, Christopher Kiekintveld, Jun-young Kwak, Rong Yang, Zhengyu Yin, and Milind Tambe. 2011. Two decades of multiagent teamwork research: Past, present, and future. In Collaborative Agents-Research and Development. Springer, 137--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Mirko Viroli, Jacob Beal, Ferruccio Damiani, and Danilo Pianini. 2015a. Efficient engineering of complex self-organising systems by self-stabilising fields. In Proceedings of the IEEE Conference on Self-Adaptive and Self-Organising Systems (SASO’15). IEEE, Piscataway, NJ, 81--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Mirko Viroli and Ferruccio Damiani. 2014. A calculus of self-stabilising computational fields. In Coordination Languages and Models, Eva Kühn and Rosario Pugliese (Eds.). LNCS, Vol. 8459. Springer-Verlag, 163--178. Proceedings of the 16th Conference on Coordination Models and Languages (Coordination 2014), Berlin (Germany), 3--5 June. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Mirko Viroli, Danilo Pianini, Sara Montagna, Graeme Stevenson, and Franco Zambonelli. 2015b. A coordination model of pervasive service ecosystems. Sci. Comput. Program. 110 (2015), 3--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Mirko Viroli, Danilo Pianini, Alessandro Ricci, Pietro Brunetti, and Angelo Croatti. 2015c. Multi-agent systems meet aggregate programming: Towards a notion of aggregate plan. In Proceedings of the International Conference of the Public Risk Management Association: Principles and Practice of Multi-Agent Systems (PRIMA’15), Qingliang Chen, Paolo Torroni, Serena Villata, Jane Hsu, and Andrea Omicini (Eds.). Lecture Notes in Computer Science, Vol. 9387. Springer International Publishing, 49--64.Google ScholarGoogle ScholarCross RefCross Ref
  50. Kamin Whitehouse, Cory Sharp, Eric Brewer, and David Culler. 2004. Hood: A neighborhood abstraction for sensor networks. In Proceedings of the 2nd International Conference on Mobile Systems, Applications, and Services. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Daniel Yamins. 2007. A Theory of Local-to-Global Algorithms for One-Dimensional Spatial Multi-Agent Systems. Ph.D. Dissertation. Harvard, Cambridge, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Yong Yao and Johannes Gehrke. 2002. The cougar approach to in-network query processing in sensor networks. SIGMOD Rec. 31 (2002), 9--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Li-Hsing Yen, Jean-Yao Huang, and Volker Turau. 2016. Designing self-stabilizing systems using game theory. ACM Trans. Auton. Adapt. Syst. 11, 3, Article 18 (Sept. 2016), 27 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Self-Adaptation to Device Distribution in the Internet of Things

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!