Abstract
Mobile computation, in which executing computations can move from one physical computing device to another, is a recurring theme: from OS process migration, to language-level mobility, to virtual machine migration. This article reports on the design, implementation, and verification of overlay networks to support reliable communication between migrating computations, in the Nomadic Pict project. We define two levels of abstraction as calculi with precise semantics: a low-level Nomadic π calculus with migration and location-dependent communication, and a high-level calculus that adds location-independent communication. Implementations of location-independent communication, as overlay networks that track migrations and forward messages, can be expressed as translations of the high-level calculus into the low. We discuss the design space of such overlay network algorithms and define three precisely, as such translations. Based on the calculi, we design and implement the Nomadic Pict distributed programming language, to let such algorithms (and simple applications above them) to be quickly prototyped. We go on to develop the semantic theory of the Nomadic π calculi, proving correctness of one example overlay network. This requires novel equivalences and congruence results that take migration into account, and reasoning principles for agents that are temporarily immobile (e.g., waiting on a lock elsewhere in the system). The whole stands as a demonstration of the use of principled semantics to address challenging system design problems.
Supplemental Material
Available for Download
Online appendix to nomadic pict: programming languages, communication infrastructure overlays, and semantics for mobile computation on article 12.
- Amadio, R. M. 1997. An asynchronous model of locality, failure, and process mobility. In Proceedings of the 2nd International Conference on Coordination Languages and Models (COORDINATION'97). Lecture Notes in Computer Science, vol. 1282. Springer, 374--391. Google Scholar
Digital Library
- Amadio, R. M. and Prasad, S. 1994. Localities and failures (extended abstract). In Proceedings of the 14th Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS'94). Lecture Notes in Computer Science, vol. 880. Springer, 205--216. Google Scholar
Digital Library
- Appel, A. W. 1992. Compiling with Continuations. Cambridge University Press. Google Scholar
Digital Library
- Arnold, K., Wollrath, A., O'Sullivan, B., Scheifler, R., and Waldo, J. 1999. The Jini Specification. Addison-Wesley, Reading, MA. Google Scholar
Digital Library
- Awerbuch, B. and Peleg, D. 1995. Online tracking of mobile users. J. ACM 42, 5, 1021--1058. Google Scholar
Digital Library
- Ballintijn, G., van Steen, M., and Tanenbaum, A. 1999. Simple crash recovery in a wide-area location service. In Proceedings of the 11th IASTED International Conference on Parallel and Distributed Computing Systems (PDCS'99). IASTED, 87--93.Google Scholar
- Billings, J., Sewell, P., Shinwell, M., and Strnisa, R. 2006. Type-Safe distributed programming for OCaml. In Proceedings of the ACM SIGPLAN Workshop on ML (ML'06). ACM, New York, 20--31. Google Scholar
Digital Library
- Bishop, S., Fairbairn, M., Norrish, M., Sewell, P., Smith, M., and Wansbrough, K. 2005. Rigorous specification and conformance testing techniques for network protocols, as applied to TCP, UDP, and sockets. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM'05). ACM, New York, 265--276. Google Scholar
Digital Library
- Bishop, S., Fairbairn, M., Norrish, M., Sewell, P., Smith, M., and Wansbrough, K. 2006. Engineering with logic: HOL specification and symbolic-evaluation testing for TCP implementations. In Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'06). ACM, New York, 55--66. Google Scholar
Digital Library
- Cardelli, L. 1995. A language with distributed scope. In Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'95). ACM, New York, 286--297. Google Scholar
Digital Library
- Cardelli, L. 1999. Abstractions for mobile computation. In Secure Internet Programming: Security Issues for Mobile and Distributed Objects. Lecture Notes in Computer Science, vol. 1603, J. Vitek and C. D. Jensen, Eds. State-of-the-Art Survey. Springer, 51--94. Google Scholar
Digital Library
- Cardelli, L., Ghelli, G., and Gordon, A. D. 2000. Ambient groups and mobility types. In Proceedings of the 16th IFIP International Conference on Theoretical Computer Science, Exploring New Frontiers of Theoretical Informatics (TCS'00). Lecture Notes in Computer Science, vol. 1872. Springer, 333--347. Google Scholar
Digital Library
- Cardelli, L. and Gordon, A. D. 1998. Mobile ambients. In Proceedings of the 1st International Conference on Foundations of Software Science and Computation Structure (FoSSaCS'98). Lecture Notes in Computer Science, vol. 1378. Springer, 140--155. Google Scholar
Digital Library
- Cardelli, L., Gordon, A. D., and Ghelli, G. 1999. Mobility types for mobile ambients. In Proceedings of the 26th International Colloquium on Automata, Languages and Programming (ICALP'99). Lecture Notes in Computer Science, vol. 1644. Springer, 230--239. Google Scholar
Digital Library
- Castagna, G. and Vitek, J. 1999. Commitment and confinement for the Seal calculus. Trusted objects, Centre Universitaire d'Informatique, University of Geneva.Google Scholar
- Castagna, G., Vitek, J., and Zappa Nardelli, F. 2005. The Seal calculus. Inform. Comput. 201, 1, 1--54. Google Scholar
Digital Library
- Cejtin, H., Jagannathan, S., and Kelsey, R. 1995. Higher-Order distributed objects. ACM Trans. Program. Lang. Syst. 17, 5, 704--739. Google Scholar
Digital Library
- Chandra, T. D. and Toueg, S. 1996. Unreliable failure detectors for reliable distributed systems. J. ACM 43, 2, 225--267. Google Scholar
Digital Library
- Cheriton, D. 1988. The V distributed system. Comm. ACM 31, 3, 314--333. Google Scholar
Digital Library
- Clark, C., Fraser, K., Hand, S., Hansen, J. G., Jul, E., Limpach, C., Pratt, I., and Warfield, A. 2005. Live migration of virtual machines. In Proceedings of the 2nd USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI'05). 273--286. Google Scholar
Digital Library
- Compton, M. 2005. Stenning's protocol implemented in UDP and verified in Isabelle. In Proceedings of the Australasian Symposium on Theory of Computing (CATS'05). Australian Computer Society, Darlinghurst, Australia, 21--30. Google Scholar
Digital Library
- Conchon, S. and Le Fessant, F. 1999. Jocaml: Mobile agents for Objective-Caml. In Proceedings of the 1st International Symposium on Agent Systems and Applications/3rd International Symposium on Mobile Agents (ASA/MA'99). IEEE Computer Society, 22--29. Google Scholar
Digital Library
- de Nicola, R. and Hennessy, M. C. B. 1984. Testing equivalences for processes. Theor. Comput. Sci. 34, 1-2, 83--133.Google Scholar
Cross Ref
- Demmer, M. J. and Herlihy, M. P. 1998. The arrow distributed directory protocol. In Proceedings of the 12th International Symposium on Distributed Computing (DISC'98). Lecture Notes in Computer Science, vol. 1499. Springer, 119--133. Google Scholar
Digital Library
- Deniélou, P.-M. and Leifer, J. J. 2006. Abstraction preservation and subtyping in distributed languages. In Proceedings of the 11th ACM SIGPLAN International Conference on Functional Programming (ICFP'06). ACM, New York, 286--297. Google Scholar
Digital Library
- Douglis, F. and Ousterhout, J. 1991. Transparent process migration: Design alternatives and the Sprite implementation. Softw. Pract. Exper. 21, 8, 757--785. Google Scholar
Digital Library
- Fischer, M. J., Lynch, N. A., and Paterson, M. S. 1985. Impossibility of distributed consensus with one faulty processor. J. ACM 32, 2, 374--382. Google Scholar
Digital Library
- Fournet, C. and Gonthier, G. 1996. The reflexive CHAM and the join-calculus. In Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'96). ACM Press, New York, 372--385. Google Scholar
Digital Library
- Fournet, C., Gonthier, G., Lévy, J.-J., Maranget, L., and Rémy, D. 1996. A calculus of mobile agents. In Proceedings of the 7th International Conference on Concurrency Theory (CONCUR'96). Lecture Notes in Computer Science, vol. 1119. Springer, 406--421. Google Scholar
Digital Library
- Fournet, C., Lévy, J.-J., and Schmitt, A. 2000. An asynchronous, distributed implementation of mobile ambients. In Proceedings of the 16th IFIP International Conference on Theoretical Computer Science, Exploring New Frontiers of Theoretical Informatics (TCS'00). Lecture Notes in Computer Science, vol. 1872. Springer, 348--364. Google Scholar
Digital Library
- Giannini, P., Sangiorgi, D., and Valente, A. 2006. Safe Ambients: Abstract machine and distributed implementation. Sci. Comput. Program. 59, 3, 209--249. Google Scholar
Digital Library
- Gordon, A. D. and Cardelli, L. 1999. Equational properties of mobile ambients. In Proceedings of the 2nd International Conference on Foundations of Software Science and Computation Structure (FoSSaCS'99). Lecture Notes in Computer Science, vol. 1578. Springer, 212--226. Google Scholar
Digital Library
- Guerraoui, R. and Schiper, A. 1996. Fault-Tolerance by replication in distributed systems. In Proceedings of the Ada-Europe International Conference on Reliable Software Technologies (Ada-Europe'96). Lecture Notes in Computer Science, vol. 1088. Springer, 38--57. Google Scholar
Digital Library
- Hennessy, M. 2007. A Distributed Pi-Calculus. Cambridge University Press. Google Scholar
Digital Library
- Hirschkoff, D., Pous, D., and Sangiorgi, D. 2007. An efficient abstract machine for Safe Ambients. J. Logic Algebr. Program. 71, 2, 114--149.Google Scholar
Cross Ref
- Igarashi, A. and Kobayashi, N. 2001. A generic type system for the pi-calculus. In Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'01). ACM, New York, 128--141. Google Scholar
Digital Library
- Jim, T. 2001. SD3: A trust management system with certified evaluation. In Proceedings of the IEEE Symposium on Security and Privacy (SP'01). IEEE Computer Society, 106--115. Google Scholar
Digital Library
- Jul, E., Levy, H., Hutchinson, N., and Black, A. 1988. Fine-Grained mobility in the Emerald system. ACM Trans. Comput. Syst. 6, 1, 109--133. Google Scholar
Digital Library
- Kobayashi, N., Pierce, B. C., and Turner, D. N. 1996. Linearity and the pi-calculus. In Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'96). ACM, New York, 358--371. Google Scholar
Digital Library
- Lange, D. B. and Aridor, Y. 1997. Agent Transfer Protocol—ATP/0.1. IBM Tokyo Research Laboratory.Google Scholar
- Leifer, J. J., Peskine, G., Sewell, P., and Wansbrough, K. 2003. Global abstraction-safe marshalling with hash types. In Proceedings of the 8th ACM SIGPLAN International Conference on Functional Programming (ICFP'03). ACM, New York, 87--98. Google Scholar
Digital Library
- Leroy, X. 1995. Le système Caml Special Light: Modules et compilation efficace en Caml. Tech. rep. RR-2721, INRIA, Institut National de Recherche en Informatique et en Automatique.Google Scholar
- Levi, F. and Sangiorgi, D. 2000. Controlling interference in Ambients. In Proceedings of the 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'00). ACM, New York, 352--364. Google Scholar
Digital Library
- Loo, B. T., Condie, T., Hellerstein, J. M., Maniatis, P., Roscoe, T., and Stoica, I. 2005. Implementing declarative overlays. ACM SIGOPS Oper. Syst. Rev. 39 5, 75--90. Google Scholar
Digital Library
- McCann, P. J. and Roman, G.-C. 1997. Mobile UNITY coordination constructs applied to packet forwarding for mobile hosts. In Proceedings of the 2nd International Conference on Coordination Languages and Models (COORDINATION'97). Lecture Notes in Computer Science, vol. 1282. Springer, 338--354. Google Scholar
Digital Library
- Merro, M. and Zappa Nardelli, F. 2005. Behavioral theory for mobile ambients. J. ACM 52, 6, 961--1023. Google Scholar
Digital Library
- Milner, R. 1989. Communication and Concurrency. International Series in Computer Science. Prentice Hall. Google Scholar
Digital Library
- Milner, R. 1992. Functions as processes. J. Math. Struct. Comput. Sci. 2, 2, 119--141.Google Scholar
Cross Ref
- Milner, R. 1993. The polyadic π-calculus: A tutorial. In Logic and Algebra of Specification, F. L. Bauer, W. Brauer, and H. Schwichtenberg, Eds. Series F: Computer and System Sciences, vol. 94. NATO Advanced Study Institute, Springer.Google Scholar
- Milner, R., Parrow, J., and Walker, D. 1992. A calculus of mobile processes, Parts I and II. Inform. Comput. 100, 1, 1--77. Google Scholar
Digital Library
- Milner, R., Tofte, M., Harper, R., and MacQueen, D. 1997. The Definition of Standard ML (revised). The MIT Press. Google Scholar
Digital Library
- Miloji&cbreve;ić, D., Douglis, F., and Wheeler, R., Eds. 1999. Mobility: Processes, Computers, and Agents. Addison-Wesley, Reading, MA. Google Scholar
Digital Library
- Moreau, L. 2001. Distributed directory service and message router for mobile agents. Sci. Comput. Program. 39, 2-3, 249--272. Google Scholar
Digital Library
- Moreau, L. 2002. A fault-tolerant directory service for mobile agents based on forwarding pointers. In Proceedings of the 17th ACM Symposium on Applied Computing (SAC'02). ACM, New York, 93--100. Google Scholar
Digital Library
- Mullender, S. J. and Vitányi, P. M. B. 1988. Distributed match-making. Algorithmica 3, 367--391.Google Scholar
Digital Library
- Murphy, VII, T. 2008. Modal types for mobile code. Ph.D. thesis, Tech. rep. CMU-CS-08-126, Carnegie Mellon University. Google Scholar
Digital Library
- Needham, R. M. 1989. Names. In Distributed Systems, S. Mullender, Ed. Addison-Wesley, 89--101. Google Scholar
Digital Library
- Nestmann, U. 1996. On determinacy and nondeterminacy in concurrent programming. Ph.D. thesis, Technische Fakultät, Universität Erlangen.Google Scholar
- Nestmann, U. and Pierce, B. C. 1996. Decoding choice encodings. In Proceedings of the 7th International Conference on Concurrency Theory (CONCUR'96). Lecture Notes in Computer Science, vol. 1119. Springer, 179--194. Google Scholar
Digital Library
- Nielson, F., Ed. 1997. ML with Concurrency: Design, Analysis, Implementation, and Application. Monographs in Computer Science. Springer. Google Scholar
Digital Library
- Palamidessi, C. 1997. Comparing the expressive power of the synchronous and the asynchronous π-calculus. In Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'97). ACM, New York, 256--265. Google Scholar
Digital Library
- Parrow, J. and Sjödin, P. 1992. Multiway synchronization verified with coupled simulation. In Proceedings of the 3rd International Conference on Concurrency Theory (CONCUR'92). Lecture Notes in Computer Science, vol. 630. Springer, 518--533. Google Scholar
Digital Library
- Pierce, B. C. and Sangiorgi, D. 1996. Typing and subtyping for mobile processes. Math. Struct. Comput. Sci. 6, 5, 409--454.Google Scholar
Cross Ref
- Pierce, B. C. and Sangiorgi, D. 1997. Behavioral equivalence in the polymorphic pi-calculus. In Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'97). ACM, New York, 242--255. Google Scholar
Digital Library
- Pierce, B. C. and Turner, D. N. 1995. Concurrent objects in a process calculus. In Theory and Practice of Parallel Programming: Proceedings of the International Workshop (TPPP'94), T. Ito and A. Yonezawa, Eds. Lecture Notes in Computer Science, vol. 907. Springer, 187--215. Google Scholar
Digital Library
- Pierce, B. C. and Turner, D. N. 1997. Pict Language Definition. Available electronically as part of the Pict distribution. www.cis.upenn.edu/~bcpirce/papers/pict/Html/Pict.html. (3/28/10).Google Scholar
- Pierce, B. C. and Turner, D. N. 2000. Pict: A programming language based on the pi-calculus. In Proof, Language and Interaction: Essays in Honour of Robin Milner, G. Plotkin, C. Stirling, and M. Tofte, Eds. Foundations of Computing. MIT Press, 455--494. Google Scholar
Digital Library
- Popek, G. J. and Walker, B. J. 1986. The LOCUS Distributed System Architecture. Computer Systems Series. MIT Press, Cambridge, MA. Google Scholar
Digital Library
- Ridge, T. 2009. Verifying distributed systems: The operational approach. In Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Langauges (POPL'09). ACM, New York, 429--440. Google Scholar
Digital Library
- Ridge, T., Norrish, M., and Sewell, P. 2008. A rigorous approach to networking: TCP, from implementation to protocol to service. In Proceedings of the 15th International Symposium on Formal Methods (FM'08). Lecture Notes in Computer Science, vol. 5014. Springer, 294--309. Google Scholar
Digital Library
- Riely, J. and Hennessy, M. 1997. Distributed processes and location failures (extended abstract). In Proceedings of the 24th International Colloquium on Automata, Languages and Programming (ICALP'97). Lecture Notes in Computer Science, vol. 1256. Springer, 471--481. Google Scholar
Digital Library
- Riely, J. and Hennessy, M. 1998. A typed language for distributed mobile processes (extended abstract). In Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'98). ACM, New York, 378--390. Google Scholar
Digital Library
- Riely, J. and Hennessy, M. 1999. Trust and partial typing in open systems of mobile agents. In Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'99). ACM, New York, 93--104. Google Scholar
Digital Library
- Sangiorgi, D. 1999. The name discipline of uniform receptiveness. Theor. Comput. Sci. 221, 1-2, 457--493. Google Scholar
Digital Library
- Sangiorgi, D. and Milner, R. 1992. The problem of “weak bisimulation up to”. In Proceedings of the 3rd International Conference on Concurrency Theory (CONCUR'92). Lecture Notes in Computer Science, vol. 630. Springer, 32--46. Google Scholar
Digital Library
- Serjantov, A., Sewell, P., and Wansbrough, K. 2001. The UDP calculus: Rigorous semantics for real networking. In Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software (TACS'01). Lecture Notes in Computer Science, vol. 2215. Springer, 535--559. Google Scholar
Digital Library
- Sewell, P. 1997. On implementations and semantics of a concurrent programming language. In Proceedings of the 8th International Conference on Concurrency Theory (CONCUR'97). Lecture Notes in Computer Science, vol. 1243. Springer, 391--405. Google Scholar
Digital Library
- Sewell, P. 1998. Global/Local subtyping and capability inference for a distributed pi-calculus. In Proceedings of the 25th International Colloquium on Automata, Languages and Programming (ICALP'98). Lecture Notes in Computer Science, vol. 1443. Springer, 695--706. Google Scholar
Digital Library
- Sewell, P. 2000. A brief introduction to applied π. Tech. rep. 498, Computer Laboratory, University of Cambridge, Cambridge, UK.Google Scholar
- Sewell, P. 2001. Modules, abstract types, and distributed versioning. In Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'01). ACM, New York, 236--247. Google Scholar
Digital Library
- Sewell, P., Leifer, J. J., Wansbrough, K., Zappa Nardelli, F., Allen-Williams, M., Habouzit, P., and Vafeiadis, V. 2005. Acute: High-Level programming language design for distributed computation. In Proceedings of the 10th ACM SIGPLAN International Conference on Functional Programming (ICFP'05). ACM, New York, 15--26. Google Scholar
Digital Library
- Sewell, P., Leifer, J. J., Wansbrough, K., Zappa Nardelli, F., Allen-Williams, M., Habouzit, P., and Vafeiadis, V. 2007. Acute: High-level programming language design for distributed computation. J. Funct. Program. 17, 4-5, 547--612. Google Scholar
Digital Library
- Sewell, P. and Vitek, J. 2003. Secure composition of untrusted code: Box-π, wrappers and causality types. J. Comput. Secur. 11, 2, 135--188. Google Scholar
Digital Library
- Sewell, P. and Wojciechowski, P. T. 2008. Verifying overlay networks for relocatable computations (or: Nomadic Pict, relocated). In Proceedings of the Joint HP-MSR Research Workshop on The Rise and Rise of the Declarative Datacentre. http://research.microsoft.com/riseandrise (2/13/10).Google Scholar
- Sewell, P., Wojciechowski, P. T., and Pierce, B. C. 1998. Location independence for mobile agents. In Proceedings of the Workshop on Internet Programming Languages (IFL'98), in conjunction with IEEE ICCL'98. 1--6. Google Scholar
Digital Library
- Sewell, P., Wojciechowski, P. T., and Pierce, B. C. 1999. Location-Independent communication for mobile agents: A two-level architecture. Internet Programming Languages. Lecture Notes in Computer Science, vol. 1686. Springer, 1--31. Google Scholar
Digital Library
- Thomsen, B., Leth, L., and Kuo, T.-M. 1996. A Facile tutorial. In Proceedings of the 7th International Conference on Concurrency Theory (CONCUR'96). Lecture Notes in Computer Science, vol. 1119. Springer, 278--298. Google Scholar
Digital Library
- Turner, D. N. 1996. The polymorphic pi-calculus: Theory and implementation. Ph.D. thesis, University of Edinburgh.Google Scholar
- Unyapoth, A. 2001. Nomadic π-calculi: Expressing and verifying communication infrastructure for mobile computation. Ph.D. thesis, University of Cambridge. Also Tech. rep. UCAM-CL-TR-514, Computer Laboratory, University of Cambridge.Google Scholar
- Unyapoth, A. and Sewell, P. 2001. Nomadic Pict: Correct communication infrastructure for mobile computation. In Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'01). ACM, New York, 116--127. Google Scholar
Digital Library
- Van Roy, P. and Haridi, S. 2004. Concepts, Techniques, and Models of Computer Programming. MIT Press. Google Scholar
Digital Library
- van Steen, M., Hauck, F. J., Ballintijn, G., and Tanenbaum, A. S. 1998. Algorithmic design of the Globe wide-area location service. Comput. J. 41, 5, 297--310.Google Scholar
Cross Ref
- Vasconcelos, V. T., Lopes, L., and Silva, F. 1998. Distribution and mobility with lexical scoping in process calculi. In Proceedings of the 3rd International Workshop on High-Level Concurrent Languages (HLCL'98). Electronic Notes in Theoretical Computer Science, vol. 16.3. Elsevier Science Publishers.Google Scholar
- Vitek, J. and Castagna, G. 1998. Towards a calculus of secure mobile computations. In Proceedings of the Workshop on Internet Programming Languages, in Conjunction with IEEE ICCL'98.Google Scholar
- Walker, D. 1995. Objects in the π-calculus. Inform. Comput. 116, 2, 253--271. Google Scholar
Digital Library
- Wansbrough, K., Norrish, M., Sewell, P., and Serjantov, A. 2002. Timing UDP: Mechanized semantics for sockets, threads, and failures. In Proceedings of the 11th European Symposium on Programming Languages and Systems (ESOP'02). Lecture Notes in Computer Science, vol. 2305. Springer, 278--294. Google Scholar
Digital Library
- Wojciechowski, P. T. 2000a. Nomadic Pict. Documentation and User's Manual. (2/13/10)Google Scholar
- Wojciechowski, P. T. 2000b. Nomadic Pict: Language and infrastructure design for mobile computation. Ph.D. thesis, University of Cambridge. Also Tech. rep. UCAM-CL-TR-492, Computer Laboratory, University of Cambridge.Google Scholar
- Wojciechowski, P. T. 2010. The Nomadic Pict System. http://www.cs.put.poznan.pl/pawelw/npict (2/13/10).Google Scholar
- Wojciechowski, P. T. 2001. Algorithms for location-independent communication between mobile agents. In Proceedings of the AISB Symposium on Software Mobility and Adaptive Behaviour.Google Scholar
- Wojciechowski, P. T. 2006. Scalable message routing for mobile software assistants. In Proceedings of the 4th IFIP International Conference on Embedded and Ubiquitous Computing (EUC'06). Lecture Notes in Computer Science, vol. 4096. Springer, 355--364. Google Scholar
Digital Library
- Wojciechowski, P. T. and Sewell, P. 1999. Nomadic Pict: Language and infrastructure design for mobile agents. In Proceedings of the 1st International Symposium on Agent Systems and Applications/3rd International Symposium on Mobile Agents (ASA/MA'99). IEEE Computer Society. Google Scholar
Digital Library
- Wojciechowski, P. T. and Sewell, P. 2000. Nomadic Pict: Language and infrastructure design for mobile agents. IEEE Concurr. 8, 2, 42--52. The 1st International Symposium on Agent Systems and Applications/3rd International Symposium on Mobile Agents (ASA/MA'99). Google Scholar
Digital Library
- Yoshida, N. and Hennessy, M. 1999. Subtyping and locality in distributed higher order processes (extended abstract). In Proceedings of the 10th International Conference on Concurrency Theory (CONCUR'99). Lecture Notes in Computer Science, vol. 1664. Springer, 557--572. Google Scholar
Digital Library
Index Terms
Nomadic pict: Programming languages, communication infrastructure overlays, and semantics for mobile computation
Recommendations
Nomadic pict: correct communication infrastructure for mobile computation
POPL '01: Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesThis paper addresses the design and verification of infrastructure for mobile computation. In particular, we study language primitives for communication between mobile agents. They can be classi ed into two groups. At a low level there are location ...
Nomadic Pict: Language and Infrastructure Design for Mobile Agents
ASAMA '99: Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile AgentsWe study the distributed infrastructures required for location-independent communication between migrating agents. These infrastructures are problematic: different applications may have very different patterns of migration and communication, and require ...
Nomadic pict: correct communication infrastructure for mobile computation
This paper addresses the design and verification of infrastructure for mobile computation. In particular, we study language primitives for communication between mobile agents. They can be classi ed into two groups. At a low level there are location ...






Comments