Code Mobility Meets Self-organisation: A Higher-Order Calculus of Computational Fields

  • Ferruccio DamianiEmail author
  • Mirko Viroli
  • Danilo Pianini
  • Jacob Beal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9039)


Self-organisation mechanisms, in which simple local interactions result in robust collective behaviors, are a useful approach to managing the coordination of large-scale adaptive systems. Emerging pervasive application scenarios, however, pose an openness challenge for this approach, as they often require flexible and dynamic deployment of new code to the pertinent devices in the network, and safe and predictable integration of that new code into the existing system of distributed self-organisation mechanisms. We approach this problem of combining self-organisation and code mobility by extending “computational field calculus”, a universal calculus for specification of self-organising systems, with a semantics for distributed first-class functions. Practically, this allows self-organisation code to be naturally handled like any other data, e.g., dynamically constructed, compared, spread across devices, and executed in safely encapsulated distributed scopes. Programmers may thus be provided with the novel first-class abstraction of a “distributed function field”, a dynamically evolving map from a network of devices to a set of executing distributed processes.


Virtual Machine Pervasive Computing Tuple Space Code Mobility Domain Alignment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Beal, J.: Dynamically defined processes for spatial computers. In: Spatial Computing Workshop, New York, pp. 206–211. IEEE (September 2009)Google Scholar
  2. 2.
    Beal, J., Bachrach, J.: Infrastructure for engineered emergence in sensor/actuator networks. IEEE Intelligent Systems 21, 10–19 (2006)CrossRefGoogle Scholar
  3. 3.
    Beal, J., Dulman, S., Usbeck, K., Viroli, M., Correll, N.: Organizing the aggregate: Languages for spatial computing. In: Mernik, M. (ed.) Formal and Practical Aspects of Domain-Specific Languages: Recent Developments, ch. 16, pp. 436–501. IGI Global (2013), A longer version available at
  4. 4.
    Beal, J., Viroli, M.: Building blocks for aggregate programming of self-organising applications. In: 2nd FoCAS Workshop on Fundamentals of Collective Systems, pp. 1–6. IEEE CS (2014) (to appear)Google Scholar
  5. 5.
    Beal, J., Viroli, M., Damiani, F.: Towards a unified model of spatial computing. In: 7th Spatial Computing Workshop (SCW 2014), AAMAS 2014, Paris, France (May 2014)Google Scholar
  6. 6.
    Butera, W.: Programming a Paintable Computer. PhD thesis, MIT, Cambridge, USA (2002)Google Scholar
  7. 7.
    Church, A.: A set of postulates for the foundation of logic. Annals of Mathematics 33(2), 346–366 (1932)CrossRefMathSciNetGoogle Scholar
  8. 8.
    Clement, L., Nagpal, R.: Self-assembly and self-repairing topologies. In: Workshop on Adaptability in Multi-Agent Systems, RoboCup Australian Open (2003)Google Scholar
  9. 9.
    Damas, L., Milner, R.: Principal type-schemes for functional programs. In: Symposium on Principles of Programming Languages, POPL 1982, pp. 207–212. ACM (1982)Google Scholar
  10. 10.
    Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Communications of the ACM 51(1), 107–113 (2008)CrossRefGoogle Scholar
  11. 11.
    Gelernter, D.: Generative communication in linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)CrossRefzbMATHGoogle Scholar
  12. 12.
    Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. ACM Transactions on Programming Languages and Systems 23(3) (2001)Google Scholar
  13. 13.
    Kutten, S., Patt-Shamir, B.: Time-adaptive self stabilization. In: Proceedings of ACM Symposium on Principles of Distributed Computing, pp. 149–158. ACM (1997)Google Scholar
  14. 14.
    Lin, F.C.H., Keller, R.M.: The gradient model load balancing method. IEEE Trans. Softw. Eng. 13(1), 32–38 (1987)CrossRefGoogle Scholar
  15. 15.
    Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications: The tota approach. ACM Trans. on Software Engineering Methodologies 18(4), 1–56 (2009)CrossRefGoogle Scholar
  16. 16.
    Newton, R., Welsh, M.: Region streams: Functional macroprogramming for sensor networks. In: Workshop on Data Management for Sensor Networks, pp. 78–87 (August 2004)Google Scholar
  17. 17.
    Pianini, D., Beal, J., Viroli, M.: Practical aggregate programming with protelis. In: ACM Symposium on Applied Computing (SAC 2015) (to appear, 2015)Google Scholar
  18. 18.
    Pianini, D., Montagna, S., Viroli, M.: Chemical-oriented simulation of computational systems with Alchemist. Journal of Simulation 7, 202–215 (2013)CrossRefGoogle Scholar
  19. 19.
    Viroli, M., Casadei, M., Montagna, S., Zambonelli, F.: Spatial coordination of pervasive services through chemical-inspired tuple spaces. ACM Transactions on Autonomous and Adaptive Systems 6(2), 14:1–14:24 (2011)Google Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    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)CrossRefGoogle Scholar
  22. 22.
    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)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2015

Authors and Affiliations

  • Ferruccio Damiani
    • 1
    Email author
  • Mirko Viroli
    • 2
  • Danilo Pianini
    • 2
  • Jacob Beal
    • 3
  1. 1.University of TorinoTorinoItaly
  2. 2.University of BolognaBolognaItaly
  3. 3.Raytheon BBN TechnologiesCambridgeUSA

Personalised recommendations