Nomadic Pict : Language and Communication Infrastructure Design for Mobile Computation"

Joint work with Peter Sewell and Asis Unyapoth of the University of Cambridge and Benjamin Pierce of the University of Pennsylvania

Mobile agents -- units of executing computation that can migrate between machines -- are likely to become an important enabling technology for future distributed systems. We study the distributed infrastructures required for location-independent communication between migrating agents. These infrastructures are problematic: the choice or design of an infrastructure must be somewhat application-specific --- any given algorithm will only have satisfactory performance for some range of migration and communication behaviour; the algorithms must be matched to the expected properties (and robustness demands) of applications and the failure characteristic of the communication medium. To study this problem we introduced Nomadic Pict -- a distributed programming language for the Internet. It is designed to allow infrastructure algorithms to be expressed clearly, as translations from a high-level language to a lower level. The levels are based on rigorously-defined process calculi, which provide sharp levels of abstraction. I will describe the Nomadic Pict core language and briefly discuss an example application and the choice of an appropriate communication infrastructure based on a specific migration and communication pattern. The language and examples have been implemented; I will conclude with a brief description of the compiler and runtime system.