Location-Independent Communication for Mobile Agents: A Two-Level Architecture
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.
KeywordsMobile Agent Runtime System Destination Agent Current Site Process Calculus
Unable to display preview. Download preview PDF.
- [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
- [Bou92]G’erard Boudol. Asynchrony and the π-calculus (note). Rapport de Recherche 1702, INRIA Sofia-Antipolis, May 1992.Google Scholar
- [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
- [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
- [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
- [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
- [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
- [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
- [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
- [Joi98]The join calculus language, 1998. Implementations available from http://www.pauillac.inria.fr/join/unix/eng.htm.
- [Lyn96]Nancy A. Lynch. Distributed algorithms. Morgan Kaufmann, 1996.Google Scholar
- [MLC98]D. S. Milojicic, W. LaForge, and D. Chauhan. Mobile Objects and Agents (MOA). In USENIX COOTS’ 98, Santa Fe, April 1998.Google Scholar
- [Nee89]R. M. Needham. Names. In S. Mullender, editor, Distributed Systems, pages 89–101. Addison-Wesley, 1989.Google Scholar
- [Obj97]ObjectSpace. Voyager core technology user guide, version 2.0 beta 1. Available from http://www.objectspace.com/, 1997.
- [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
- [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
- [Rep91]John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293–259. SIGPLAN, ACM, June 1991.Google Scholar
- [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
- [RH98]James Riely and Matthew Hennessy. A typed language for distributed mobile processes. In Proceedings of the 25th POPL, January 1998.Google Scholar
- [Sew97a]Peter Sewell. Global/local subtyping for a distributed π-calculus. Technical Report 435, University of Cambridge, August 1997. Available from http://www.cl.cam.ac.uk/users/pes20/.
- [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
- [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
- [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 http://www.cl.cam.ac.uk/users/pes20/.
- [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
- [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
- [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
- [Tur96]David N. Turner. The Polymorphic Pi-calculus: Theory and Implementation. PhD thesis, University of Edinburgh, 1996.Google Scholar
- [VC98]Jan Vitek and Guiseppe Castagna. Towards a calculus of mobile computations. In Workshop on Internet Programming Languages, Chicago, May 1998.Google Scholar