Mul-T: a high-performance parallel Lisp
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Continuation-based transformation for coordination languages
Theoretical Computer Science
Theoretical Computer Science
A constructive logic for services and information flow in computer networks
The Computer Journal
Resource access control in systems of mobile agents
Information and Computation
A Spatial Logic for Concurrency
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Mobility Types for Mobile Ambients
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
A Spatial Logic for Concurrency (Part II)
CONCUR '02 Proceedings of the 13th International Conference on Concurrency Theory
FoSSaCS '98 Proceedings of the First International Conference on Foundations of Software Science and Computation Structure
A judgmental reconstruction of modal logic
Mathematical Structures in Computer Science
A Symmetric Modal Lambda Calculus for Distributed Computing
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Logical properties of name restriction
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
The Logic of Proofs as a Foundation for Certifying Mobile Computation
LFCS '09 Proceedings of the 2009 International Symposium on Logical Foundations of Computer Science
Selective Memoization with Box Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
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.