Location-Independent Communication for Mobile Agents: A Two-Level Architecture

  • Peter Sewell
  • Pawel T. Wojciechowski
  • Benjamin C. Pierce
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1686)


We study communication primitives for interaction between mobile agents. They can be classified into two groups. At a low level there are location dependent primitives that require a programmer to know the current site of a mobile agent in order to communicate with it. At a high level there are location independent primitives that allow communication with a mobile agent irrespective of its current site and of any migrations. Implementation of these requires delicate distributed infrastructure. We propose a simple calculus of agents that allows implementations of such distributed infrastructure algorithms to be expressed as encodings, or compilations, of the whole calculus into the fragment with only location dependent communication. These encodings give executable descriptions of the algorithms, providing a clean implementation strategy for prototype languages. The calculus is equipped with a precise semantics, providing a solid basis for understanding the algorithms and for reasoning about their correctness and robustness. Two sample infrastructure algorithms are presented as encodings.


Mobile Agent Runtime System Destination Agent Current Site Process Calculus 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ACPP91]
    Mart’in Abadi, Luca Cardelli, Benjamin Pierce, and Gordon Plotkin. Dynamic typing in a statically typed language. ACM Transactions on ProgrammingLanguages and Systems,, 13(2):237–268, April 1991.CrossRefGoogle Scholar
  2. [AP94]
    R. M. Amadio and S. Prasad. Localities and failures. In P. S. Thiagarajan, editor, Proceedings of 14th FST and TCS Conference, FST-TCS’94. LNCS 880, pages 205–216. Springer-Verlag, 1994.Google Scholar
  3. [AP98]
    Roberto M. Amadio and Sanjiva Prasad. Modelling IP mobility. In Proceedings of CONCUR’ 98: Concurrency Theory. LNCS 1466, pages 301–316, September 1998.CrossRefGoogle Scholar
  4. [BB92]
    G. Berry and G. Boudol. The chemical abstract machine. Theoretical Computer Science, 96:217–248, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  5. [Bou92]
    G’erard Boudol. Asynchrony and the π-calculus (note). Rapport de Recherche 1702, INRIA Sofia-Antipolis, May 1992.Google Scholar
  6. [Car86]
    Luca Cardelli. Amber and the amber machine. In Guy Cousineau, Pierre-Louis Curien, and Bernard Robinet, editors, Combinators and Functional Programming Languages, LNCS 242, pages 21–70, 1986.Google Scholar
  7. [CG98]
    Luca Cardelli and Andrew D. Gordon. Mobile ambients. In Proc. of Foundations of Software Science and Computation Structures (FoSSaCS), ETAPS’98, LNCS 1378, pages 140–155, March 1998.CrossRefGoogle Scholar
  8. [CHK97]
    D. Chess, C. Harrison, and A. Kershenbaum. Mobile agents: Are they a good idea? In Mobile Object Systems — Towards the Programmable Internet. LNCS 1222, pages 25–48, 1997.Google Scholar
  9. [FGL+96]_C’edric Fournet, Georges Gonthier, Jean-Jacques L’evy, Luc Maranget, and Didier R’emy. A calculus of mobile agents. In Proceedings of CONCUR’ 96. LNCS 1119, pages 406–421. Springer-Verlag, August 1996.Google Scholar
  10. [HR98a]
    Matthew Hennessy and James Riely. Resource access control in systems of mobile agents. In Workshop on High-Level Concurrent Languages, 1998. Full version as University of Sussex technical report CSTR 98/02.Google Scholar
  11. [HR98b]
    Matthew Hennessy and James Riely. Type-safe execution of mobile agents in anonymous networks. In Workshop on Mobile Object Systems, (satellite of ECOOP’ 98), 1998. Full version as University of Sussex technical report CSTR 98/03.Google Scholar
  12. [HT91]
    Kohei Honda and Mario Tokoro. An object calculus for asynchronous communication. In Pierre America, editor, Proceedings of ECOOP’ 91, LNCS 512, pages 133–147, July 1991.Google Scholar
  13. [JGF96]
    Simon Peyton Jones, Andrew Gordon, and Sigbjorn Finne. Concurrent Haskell. In Conference Record of the 23 rd ACM Symposium on Principles of Programming Languages, pages 295–308, St. Petersburg, Florida, January 21–24, 1996. ACM Press.Google Scholar
  14. [Joi98]
    The join calculus language, 1998. Implementations available from
  15. [Lyn96]
    Nancy A. Lynch. Distributed algorithms. Morgan Kaufmann, 1996.Google Scholar
  16. [Mil92]
    Robin Milner. Functions as processes. Journal of Mathematical Structures in Computer Science, 2(2):119–141, 1992.zbMATHMathSciNetCrossRefGoogle Scholar
  17. [MLC98]
    D. S. Milojicic, W. LaForge, and D. Chauhan. Mobile Objects and Agents (MOA). In USENIX COOTS’ 98, Santa Fe, April 1998.Google Scholar
  18. [MPW92]
    R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes, Parts I + II. Information and Computation, 100(1):1–77, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  19. [Nee89]
    R. M. Needham. Names. In S. Mullender, editor, Distributed Systems, pages 89–101. Addison-Wesley, 1989.Google Scholar
  20. [Obj97]
    ObjectSpace. Voyager core technology user guide, version 2.0 beta 1. Available from, 1997.
  21. [PT94]
    Benjamin C. Pierce and David N. Turner. Concurrent objects in a process calculus. In Theoryand Practice of Parallel Programming (TPPP), Sendai, Japan, November 1994.Google Scholar
  22. [PT97]
    Benjamin C. Pierce and David N. Turner. Pict: A programming language based on the pi-calculus. Technical Report CSCI 476, Computer Science Department, Indiana University, 1997. To appear in Proof, Language and Interaction: Essays in Honour of Robin Milner, Gordon Plotkin, Colin Stirling, and Mads Tofte, editors, MIT Press.Google Scholar
  23. [Rep91]
    John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293–259. SIGPLAN, ACM, June 1991.Google Scholar
  24. [RH97]
    James Riely and Matthew Hennessy. Distributed processes and location failures. In Proceedings of ICALP’ 97. LNCS 1256, pages 471–481. Springer-Verlag, July 1997.Google Scholar
  25. [RH98]
    James Riely and Matthew Hennessy. A typed language for distributed mobile processes. In Proceedings of the 25th POPL, January 1998.Google Scholar
  26. [Sew97a]
    Peter Sewell. Global/local subtyping for a distributed π-calculus. Technical Report 435, University of Cambridge, August 1997. Available from
  27. [Sew97b]
    Peter Sewell. On implementations and semantics of a concurrent programming language. In Proceedings of CONCUR’ 97. LNCS 1243, pages 391–405, 1997.Google Scholar
  28. [Sew98]
    Peter Sewell. Global/local subtyping and capability inference for a distributed π-calculus. In Proceedings of ICALP’ 98, LNCS 1443, pages 695–706, 1998.Google Scholar
  29. [Sew99]
    Peter Sewell. A brief introduction to applied π, January 1999. Lecture notes for the Math.t Instructional Meeting on Recent Advances in Semantics and Types for Concurrency: Theory and Practice, July 1998. Available from
  30. [SWP98]
    Peter Sewell, PaweLl T. Wojciechowski, and Benjamin C. Pierce. Location independence for mobile agents. In Workshop on Internet Programming Languages, Chicago, May 1998.Google Scholar
  31. [SY97]
    Tatsurou Sekiguchi and Akinori Yonezawa. A calculus with code mobility. In Howard Bowman and John Derrick, editors, Formal Methods for Open Object-based Distributed Systems (Proceedings of FMOODS’ 97), pages 21–36. IFIP, Chapman and Hall, July 1997.Google Scholar
  32. [TLK96]
    Bent Thomsen, Lone Leth, and Tsung-Min Kuo. A Facile tutorial. In Proceedings of CONCUR’ 96. LNCS 1119, pages 278–298. Springer-Verlag, August 1996.Google Scholar
  33. [Tur96]
    David N. Turner. The Polymorphic Pi-calculus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996.Google Scholar
  34. [VC98]
    Jan Vitek and Guiseppe Castagna. Towards a calculus of mobile computations. In Workshop on Internet Programming Languages, Chicago, May 1998.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Peter Sewell
    • 1
  • Pawel T. Wojciechowski
    • 1
  • Benjamin C. Pierce
    • 2
  1. 1.Computer LaboratoryUniversity of CambridgeCambridge
  2. 2.Dept. of Computer & Information ScienceUniversity of PennsylvaniaPennsylvania

Personalised recommendations