Department of Computer Science and Technology

Technical reports

Nomadic Pict: language and infrastructure design for mobile computation

Paweł Tomasz Wojciechowski

June 2000, 184 pages

This technical report is based on a dissertation submitted March 2000 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Wolfson College.

DOI: 10.48456/tr-492

Abstract

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 introduce an agent programming language – Nomadic Pict. 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. In this dissertation we describe the language and use it to develop a distributed infrastructure for an example application. The language and examples have been implemented; we conclude with a description of the compiler and runtime system.

Full text

PDF (1.0 MB)
PS (0.4 MB)

BibTeX record

@TechReport{UCAM-CL-TR-492,
  author =	 {Wojciechowski, Pawe{\l} Tomasz},
  title = 	 {{Nomadic Pict: language and infrastructure design for
         	   mobile computation}},
  year = 	 2000,
  month = 	 jun,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-492.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-492},
  number = 	 {UCAM-CL-TR-492}
}