Computer Laboratory

Technical reports

Modules, abstract types, and distributed versioning

Peter Sewell

September 2000, 46 pages

Abstract

In a wide-area distributed system it is often impractical to synchronise software updates, so one must deal with many coexisting versions. We study static typing support for modular wide-area programming, modelling separate compilation/linking and execution of programs that interact along typed channels. Interaction may involve communication of values of abstract types; we provide the developer with fine-grain versioning control of these types to support interoperation of old and new code. The system makes use of a second-class module system with singleton kinds; we give a novel operational semantics for separate compilation/linking and execution and prove soundness.

Full text

PDF (0.4 MB)
PS (0.2 MB)
DVI (0.1 MB)

BibTeX record

@TechReport{UCAM-CL-TR-506,
  author =	 {Sewell, Peter},
  title = 	 {{Modules, abstract types, and distributed versioning}},
  year = 	 2000,
  month = 	 sep,
  url = 	 {http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-506.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  number = 	 {UCAM-CL-TR-506}
}