|
ABSTRACT
Programs are often structured around the idea that different pieces of code comprise distinct principals, each with a view of its environment. Typical examples include the modules of a large program, a host and its clients, or a collection of interactive agents.In this paper, we formalize this notion of principal in the programming language itself. The result is a language in which intuitive statements such as, "the client must call open to obtain a file handle," can be phrased and proven formally.We add principals to variants of the simply-typed λ-calculus and show how we can track the code corresponding to each principal throughout evaluation. This multiagent calculus yields syntactic proofs of some type abstraction properties that traditionally require semantic arguments.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
Godmar Back, Patrick Tullmann, Leigh Stoller, Wilson C. Hseih, and Jay Lepreau. Java operating systems: Design and implementation. Technical Report UUCS-98-015, University of Utah, August 1998.
|
 |
3
|
B. N. Bershad , S. Savage , P. Pardyak , E. G. Sirer , M. E. Fiuczynski , D. Becker , C. Chambers , S. Eggers, Extensibility safety and performance in the SPIN operating system, Proceedings of the fifteenth ACM symposium on Operating systems principles, p.267-283, December 03-06, 1995, Copper Mountain, Colorado, United States
|
 |
4
|
|
| |
5
|
|
 |
6
|
Michael Godfrey , Tobias Mayr , Praveen Seshadri , Thorsten von Eicken, Secure and portable database extensibility, Proceedings of the 1998 ACM SIGMOD international conference on Management of data, p.390-401, June 01-04, 1998, Seattle, Washington, United States
|
| |
7
|
Chris Hawblitzel, Chi-Chao Chang, Grzegorz Czajkowski, Deyu Hu, and Thorston yon Eiken. Implementing multiple protection domains in /lava.. In 1998 USENiX Annual Technical Conference, New Orleans, LA, June 1998.
|
 |
8
|
|
 |
9
|
|
| |
10
|
|
| |
11
|
|
 |
12
|
|
 |
13
|
|
| |
14
|
|
| |
15
|
John Peterson, Kevin Hammond, Lennart Augustsson, Brian Boutel, Warren Burton, Joseph Fasel~, Andrew D. Gordon, John Hughes, Paul Hudak, Thomas Johnsson, Mark Jones, Erik Meijer, Simon Peyton Jones, Alastair Reid, and Philip Wadler. Report on the programming language Haskell, version 1.4. http://www.haskell.org/report.
|
| |
16
|
Benjamin C. Pierce and Deride Sangiorgi. Behavioral equivalence in the polymorphic pi-calculus. Technical Report MS- CIS-99-10, University of Pennsylvania, April 1999.
|
| |
17
|
John Hamilton Reppy. Higher-order Concurrency. PhD thesis, Cornell University, Ithaca, NY, June 1992. TR 92-1852.
|
| |
18
|
|
| |
19
|
John C. Reynolds. Types, abstraction, and parametric polymorphism. In R.E.A Mason, editor, Information Processing, pages 513-523. Elsevier Science Publishers B.V., 1983.
|
| |
20
|
C. Strachey. Fundamental concepts in programming languages. Unpublished Lecture Notes, Summer School in Computer Programming, August 1967.
|
| |
21
|
|
| |
22
|
Dan S. Wallach and Edward W. Felten. Understanding Java stack inspection. In Proceedings oj' 1998 IEEE Symposium on Security and Privacy, Oakland, CA, May 1998.
|
| |
23
|
Dan Seth Wallach. A New Approach to Mobile Code Security. PhD thesis, Princeton University, 1999.
|
| |
24
|
|
| |
25
|
Steve Zdancewic and Dan Grossman. Syntax and semantics for multiple agents and abstract types. Technical Report 99-1752, Cornell University, March 1999.
|
CITED BY 8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arjun Guha , Jacob Matthews , Robert Bruce Findler , Shriram Krishnamurthi, Relationally-parametric polymorphic contracts, Proceedings of the 2007 symposium on Dynamic languages, October 22-22, 2007, Montreal, Quebec, Canada
|
|
|
|
|