This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: A Symmetric Modal Lambda Calculus for Distributed Computing 1 Tom Murphy VII Karl Crary Robert Harper Frank Pfenning March 1, 2004 CMUCS04105 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Abstract We present a foundational language for distributed programming, called Lambda 5, that addresses both mobility of code and locality of resources. In order to construct our system, we appeal to the powerful propositionsastypes interpretation of logic. Specifically, we take the possible worlds of the intuitionistic modal logic IS5 to be nodes on a network, and the connectives 2 and 3 to reflect mobility and locality, respectively. We formulate a novel system of natural deduction for IS5, decomposing the introduction and elimination rules for 2 and 3 , thereby allowing the corresponding programs to be more direct. We then give an operational semantics to our calculus that is typesafe, logically faithful, and computationally realistic. 1 The ConCert Project is supported by the National Science Foundation under grant ITR/SY+SI 0121633: “Language Technology for Trustless Software Dissemination.” Keywords: distributed computing, lambda calcu lus, modal logic, curryhoward isomorphism, lambda 5, type theory, programming languages 1 Introduction The popularity of the Internet has enabled the possibil ity of largescale distributed computation. Distributed programming is especially popular for scientific com puting tasks. The goal of this paper is to present a foundational programming language for distributed computing. Scientific computing tasks often require the physical distribution of computational resources and sensing instruments. To be relevant, our language must address both the mobility of code and the locality of fixed resources. Due to aesthetic considerations, we wish to take a propositionsastypes interpretation of an appropriate logic to form the basis of our programming language. Moreover, since the type systems of realistic languages such as ML and Haskell come from the same source, our constructs will smoothly integrate with such lan guages. We argue that intuitionistic modal logic forms an excellent basis for distributed computing because of its ability to represent spatial reasoning. Just as propositional logic is concerned with truth , modal logic is concerned with truth relative to differ ent worlds . The worlds are related by an accessibility relation whose properties distinguish different modal logics. We will explain our choice of accessibility rela tion below. Modal logic is generally concerned with two forms of propositions 2 A , meaning that A is true in every (accessible) world , and 3 A , meaning that A is true in some (accessible) world . Our computational interpre tation realizes these worlds as the nodes in a network....
View
Full Document
 Spring '10
 Dr. Thomas
 Distributed Computing, Type system, Sequent calculus

Click to edit the document details