Logical mobility and locality types

  • Authors:
  • Jonathan Moody

  • Affiliations:
  • Carnegie Mellon University

  • Venue:
  • LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a type theory characterizing the mobility and locality of program terms in a distributed computation. The type theory of our calculus is derived from logical notions of necessity (□A) and possibility ($\lozenge A$) of the modal logic S4 via a Curry-Howard style isomorphism. Logical worlds are interpreted as sites for computation, accessibility corresponds to dependency between processes at those sites. Necessity (□A) describes terms of type A which have a structural kind of mobility or clocation-independence. Possibility ($\lozenge A$) describes terms of type A located somewhere, perhaps at a remote site. The modalities □ and $\lozenge$ are defined in a clean, orthogonal manner, leading to a simple account of mobility and higher-order functions. For illustration, we assume an execution environment with each location distinguished by a mutable store. Here modal types ensure that store addresses never escape from the location where they are defined, eliminating a source of runtime errors. We speculate as to other advantages or trade-offs of this disciplined style of distributed programming.