A Modal Language for the Safety of Mobile Values (work in progress) SNU 4/7/2006 박성우 Sungwoo Park POSTECH.

Slides:



Advertisements
Similar presentations
Policy Auditing over Incomplete Logs: Theory, Implementation and Applications Deepak Garg 1, Limin Jia 2 and Anupam Datta 2 1 MPI-SWS (work done at Carnegie.
Advertisements

SoNIC: Classifying Interference in Sensor Networks Frederik Hermans et al. Uppsala University, Sweden IPSN 2013 Presenter: Jeffrey.
On the Implications of the Log-normal Path Loss Model: An Efficient Method to Deploy and Move Sensor Motes Yin Chen, Andreas Terzis November 2, 2011.
CSE-321 Programming Languages Predicative Polymorphic -Calculus POSTECH May 23, 2007 박성우.
CHAPTER 1 Practical Business Research. A working definition: Any systematic attempt at collecting and interpreting data and evidence in order to inform.
Distributed Meta- Programming Rui Shi, Chiyan Chen and Hongwei Xi Boston University.
CSE 425: Semantic Analysis Semantic Analysis Allows rigorous specification of a program’s meaning –Lets (parts of) programming languages be proven correct.
CLF: A Concurrent Logical Framework David Walker Princeton (with I. Cervesato, F. Pfenning, K. Watkins)
CSE-321 Programming Languages Polymorphism POSTECH May 15, 2006 박성우.
Privacy-MaxEnt: Integrating Background Knowledge in Privacy Quantification Wenliang (Kevin) Du, Zhouxuan Teng, and Zutao Zhu. Department of Electrical.
1 Failure Handling in a modal Language Nels Eric Beckman Research Talk Institute for Software Research October 30, 2006.
Pointer. Warning! Dangerous Curves C (and C++) have just about the most powerful, flexible and dangerous pointers in the world. –Most other languages.
Dynamic Medial Axis Based Motion Planning in Sensor Networks Lan Lin and Hyunyoung Lee Department of Computer Science University of Denver
Cooperative backup on Social Network Nguyen Tran and Jinyang Li.
ICPCA 2008 Research of architecture for digital campus LBS in Pervasive Computing Environment 1.
Modeling & Designing the Database
GI Systems and Science January 23, Points to Cover  What is spatial data modeling?  Entity definition  Topology  Spatial data models Raster.
Two Dimensions and Beyond From: “ A New Kind of Science” by Stephen Wolfram Presented By: Hridesh Rajan.
Sensor Networks Storage Sanket Totala Sudarshan Jagannathan.
Authors: Xu Cheng, Haitao Li, Jiangchuan Liu School of Computing Science, Simon Fraser University, British Columbia, Canada. Speaker : 童耀民 MA1G0222.
To look at how to critically examine issues and how to effectively write essays in Physical Education studies.
Speaker:Chiang Hong-Ren Botnet Detection by Monitoring Group Activities in DNS Traffic.
Genetic Regulatory Network Inference Russell Schwartz Department of Biological Sciences Carnegie Mellon University.
ITEC224 Database Programming
WEEK 1 INTRODUCTION. Course Objective  Students will be introduced to the concepts and the process of urban transportation planning in metropolitan areas,
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, February 23, 2000 William H. Hsu Department.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
1 SML fn x => e e 1 e 2 0, 1, 2,..., +, -,... true, false, if e then e else e patterns datatypes exceptions structures functors fun f x = e variables.
Terminodes and Sybil: Public-key management in MANET Dave MacCallum (Brendon Stanton) Apr. 9, 2004.
Pricing Combinatorial Markets for Tournaments Presented by Rory Kulz.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
CSE-321 Programming Languages Introduction to Functional Programming (Part II) POSTECH March 13, 2006 박성우.
K. J. O’Hara AMRS: Behavior Recognition and Opponent Modeling Oct Behavior Recognition and Opponent Modeling in Autonomous Multi-Robot Systems.
Xiao Liu CS3 -- Centre for Complex Software Systems and Services Swinburne University of Technology, Australia Key Research Issues in.
Linear Type Systems for Concurrent Languages Eijiro Sumii Naoki Kobayashi University of Tokyo.
1 ML fun x -> e e 1 e 2 0, 1, 2,..., +, -,... true, false, if e then e else e patterns datatypes exceptions structures functors let f x = e variables These.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Logic. What is logic? Logic (from the Ancient Greek: λογική, logike) is the use and study of valid reasoning. The study of logic features most prominently.
A Mechanized Model for CAN Protocols Context and objectives Our mechanized model Results Conclusions and Future Works Francesco Bongiovanni and Ludovic.
Introduction to Programming Languages S1.3.1Bina © 1998 Liran & Ofir Introduction to Programming Languages Programming in C.
Logic in Computer Science - Overview Sep 1, 2009 박성우.
CSE-321 Programming Languages -Calculus (II) POSTECH March 27, 2006 박성우.
Types and Programming Languages Lecture 12 Simon Gay Department of Computing Science University of Glasgow 2006/07.
Implementing a Dependently Typed λ -Calculus Ali Assaf Abbie Desrosiers Alexandre Tomberg.
SIMULATIONS, REALIZATIONS, AND THEORIES OF LIFE H. H. PATTEE (1989) By Hyojung Seo Dept. of Psychology.
VMC workshop1 Ideas for G4 navigation interface using ROOT geometry A.Gheata ALICE offline week, 30 May 05.
-Calculus Kangwon National University 임현승 Programming Languages These slides are based on the slides by Prof. Sungwoo Park at POSTECH.
Mechanizing Metatheory without Typing Contexts TYPES 2011 September 10, 2011 Jonghyun Park, Jeongbong Seo, Sungwoo Park, Gyesik Lee* Pohang University.
1 Use graphs and not pure logic Variables represented by nodes and dependencies by edges. Common in our language: “threads of thoughts”, “lines of reasoning”,
Decision Making Under Uncertainty Lec #1: Introduction UIUC CS 598: Section EA Professor: Eyal Amir Spring Semester 2005.
Aspect Oriented Security Tim Hollebeek, Ph.D.
Advanced Functional Programming Tim Sheard 1 Lecture 17 Advanced Functional Programming Tim Sheard Oregon Graduate Institute of Science & Technology Lecture:
DESIGNING AN ARTICLE Effective Writing 3. Objectives Raising awareness of the format, requirements and features of scientific articles Sharing information.
CSE-321 Programming Languages (So Many Topics) POSTECH May 29, 2006 박성우.
A Mechanized Model of the Theory of Objects 1.Functional  -calculus in Isabelle 2.Confluence Proof in Isabelle 3.Ongoing Work, Applications, Conclusion.
CSE-321 Programming Languages Curry-Howard Isomorphism POSTECH June 4, 2009 박성우.
CSE-321 Programming Languages -Calculus (II) POSTECH March 26, 2007 박성우.
June 21, Reasoning about explicit strictness in a lazy language using mixed lazy/strict semantics Marko van Eekelen Maarten de Mol Nijmegen University,
CSE-321 Programming Languages Abstract Machine E POSTECH May 1, 2006 박성우.
Week 4 – Functions Coding Functions. Purpose of Coding Functions A function is written to perform a well-defined task; rather than having all logic in.
Tutorial: Proving termination and liveness
CSE-321 Programming Languages Simply Typed -Calculus
September 4, 1997 Programming Languages (CS 550) Lecture 6 Summary Operational Semantics of Scheme using Substitution Jeremy R. Johnson TexPoint fonts.
Geometry of Interaction
Stateful Manifest Contracts
NP-Completeness Yin Tat Lee
JavaScript an introduction.
CSE-321 Programming Languages Introduction to Functional Programming
NP-Completeness Yin Tat Lee
Abstract Types Defined as Classes of Variables
Presentation transcript:

A Modal Language for the Safety of Mobile Values (work in progress) SNU 4/7/2006 박성우 Sungwoo Park POSTECH

2 Distributed Computation Heterogeneous nodes with different local resources Mobile term (code) abstract datatype local heap

3 Modal Logic Modalities ¤ and } – ¤ A : necessarily A – } A : possibly A Spatially: – ¤ A : everywhere A – } A : somewhere A

4 Modal Type Theory Basic idea: enrich the type system with modal types Staged computation: temporal interpretation –box M : ¤ A M has type A at all subsequent stages Spatial interpretation –box M : ¤ A M has type A at every node, i.e., globally –dia M : } A M has type A at some node

5 Modal Type System for Distributed Computation Borghuis and Fejis '00 Jia and Walker, ESOP '04 –box M : ¤ A, M = mobile term, valid at every node –dia M : } A, M = mobile term, valid at some node –uses hybrid logic Murphy et al, LICS '04 –box M : ¤ A, M = mobile term, valid at every node –dia l : } A, l = reference to local resource Moody, '03 –box M : ¤ A, M = mobile term, valid at every node –dia M : } A, M = mobile term, valid at some node

6 Remote Evaluation box M : ¤ A V : A ??? M : A V : A

7 Remote Evaluation - Okay but not quite good box M : ¤ ¤ A N : A M : ¤ A box N : ¤ A V : A

8 Remote Evaluation in Jia & Murphy N : A M : ¤ A box N : ¤ A V : A

9 Harsh Reality Jia and Walker, ESOP '04 –uses hybrid logic (i.e., indices) Murphy et al, LICS '04 –Every term is mobile! –Then what is the ¤ modality for?

10 Why This Complication? Because they do not take into consideration value mobility! Consider a term M such that: –Term (code) mobility: Is the term M valid at a remote node? –Value mobility: Is the value V valid at a remote node? –These two are independent. M : A V : A

11 ¤ (int ! int), term: mobile, value: immobile let val new_reference = ref 0 val f = fn x => x + !new_reference in f end The term is valid at any node. The result f is local, however.

12 ¤ (int ! int), term: immobile, value: mobile let val v = !some_existing_reference val f = fn x => x + v in f end The term is local. The result f is valid at any node, however.

13 Key Idea box M : ¤ A M is valid at any node. V is valid at the current node, but we know nothing about its mobility. cir M : O A M is valid at the current node, but we know nothing about its mobility. V is valid at any node, however. M : A V : A

14 Outline Introduction V Modal language ¤ O with ¤ and O modalities Modal language with value mobility Logic of direct evidence

15 Plan ¤ O ¤ O

16

17 ¤ ¤ O ¤ O

18 ¤ for Term Mobility

19 Type System for ¤

20 O ¤ O ¤ O

21 O for Value Mobility

22 Type System for O

23 Typing Rules in O

24 Reduction Rules in O

25 ¤ O ¤ O ¤ O

26 ¤ O  =  ¤  + O Additional typing rule and substitution Special rules for primitive types –e.g., booleans, integers, …

27 Good Things about ¤ O

28 Bad Things about ¤ O Complexity –when the system is augmented with indices and communication constructs 30 pages of type safety proof even without mutable references –Mechanizing type safety proof seems necessary. POPLMark Challenge Redundancy –'really' serious problem

29 Key Observation: Redundancy Term mobility is a special case of value mobility. Term M is mobile? Value x:_. M is mobile? Value box M is mobile? Value … M … is mobile?, Conclusion: ditch the ¤ modality.

30 Outline Introduction V Modal language ¤ O with ¤ and O modalities V Modal language ¡} with value mobility Logic of direct evidence

31 Key Idea: Value Mobility Only box M : ¡ A V is valid at every node. I.e., ¡ = O ¼ necessity modality dia M : } A V is valid at some node. I.e., } ¼ possibility modality M : A V : A

32 Plan ¡ } ¡}

33 with Call-by-value

34 ¡ ¡ } ¡}

35 ¡

36 Type System for ¡

37 } ¡ } ¡}

38 }

39 Type System for } (1/2)

40 Type System for } (2/2)

41 Soundness of the Type System for }

42 ¡} and Beyond ¡ } ¡} ¡} store ¡} store+communication

43 Application Robotics –communication constructs –does not use code mobility. Grid computing –distributed computation on the network –makes heavy use of code mobility.

44 Outline Introduction V Modal language ¤ O with ¤ and O modalities V Modal language ¡} with value mobility Logic of direct evidence

45 Motivation What is the logic for ¡} under the Curry-Howard isomorphism? –Type-theoretically, we distinguish between values and ordinary terms. –Logically, we distinguish between (weak) normal proofs and ordinary proofs. So we develop a logic of normal proofs, or direct evidence.

46

47

48

49

감사합니다.