Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/360204.360225acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

Modules, abstract types, and distributed versioning

Published: 01 January 2001 Publication History
  • Get Citation Alerts
  • Abstract

    In a wide-area distributed system it is often impractical to synchronise software updates, so one must deal with many coexisting versions. We study static typing support for modular wide-area programming, modelling separate compilation/linking and execution of programs that interact along typed channels. Interaction may involve communication of values of abstract types; we provide the developer with fine-grain versioning control of these types to support interoperation of old and new code. The system makes use of a second-class module system with singleton kinds; we give a novel operational semantics for separate compilation/linking and execution and prove soundness.

    References

    [1]
    J. L. Armstrong, M. C. Williams, C. Wikstrom, and S. R. Virding. Concurrent Programming in Erlang. Prentice Hall, 2nd edition, 1995.]]
    [2]
    Matthias Blume and Andrew W. Appel. Hierarchical modularity. ACM Transactions on Programming Languages and Systems, 21(4):813-847, July 1999.]]
    [3]
    L. Cardelli. Program fragments, linking, and modularization. In POPL'97, pages 266-277, January 1997.]]
    [4]
    Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 report (revised). Technical report, DEC SRC, September 1989. SRC-052.]]
    [5]
    L. Cardelli and X. Leroy. Abstract types and the dot notation. In Programming Concepts and Methods, IFIP State of the Art Reports, pages 479-504. North Holland, March 1990. Also appeared as SRC Research Report 56.]]
    [6]
    Sophia Drossopoulou. Towards an abstract model of Java dynamic linking and verification. In Preliminary Proceedings of the Third Workshop on Types in Compilation (TIC 2000). CMU Technical Report CMU-CS-00- 161, September 2000.]]
    [7]
    Dominic Duggan. Sharing in typed module assembly language. In Preliminary Proceedings of the Third Workshop on Types in Compilation (TIC 2000). CMU Technical Report CMU-CS- 00-161, September 2000.]]
    [8]
    M. Flatt and M. Felleisen. Units: Cool modules for hot languages. In PLDI 98, pages 236-248, 1998.]]
    [9]
    Cedric Fournet, Georges Gonthier, Jean- Jacques Levy, Luc Maranget, and Didier Remy. A calculus of mobile agents. In Proceedings of CONCUR '96. LNCS 1119, pages 406-421. Springer-Verlag, August 1996.]]
    [10]
    Neal Glew and Greg Morrisett. Type-safe linking and modular assembly language. In Conference Record of POPL 99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas, pages 250-261, New York, NY, January 1999. ACM.]]
    [11]
    Robert Harper and Mark Lillibridge. A typetheoretic approach to higher-order modules with sharing. In Conference record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 123-137, January 1994.]]
    [12]
    Michael Hicks and Scott Nettles. Active networking means evolution (or enhanced extensibility required). In Proceedings of the Second International Working Conference on Active Networks, October 2000.]]
    [13]
    Michael Hicks, Stephanie Weirich, and Karl Crary. Safe and exible dynamic linking of native code. In Preliminary Proceedings of the Third Workshop on Types in Compilation (TIC 2000). CMU Technical Report CMU-CS- 00-161, September 2000.]]
    [14]
    Xavier Leroy. Manifest types, modules, and separate compilation. In Conference Record of POPL '94: 21ST ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon, pages 109-122, New York, NY, January 1994. ACM.]]
    [15]
    Xavier Leroy. A syntactic theory of type generativity and sharing. Journal of Functional Programming, 6(5):667-698, 1996.]]
    [16]
    Xavier Leroy. A modular module system. Journal of Functional Programming, 10(3):269-303, May 2000.]]
    [17]
    Mark Lillibridge. Translucent Sums: A Foundation for Higher-Order Module Systems. PhD thesis, CMU, 1997. CMU-CS-97-122.]]
    [18]
    R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes, Parts I + II. Information and Computation, 100(1):1-77, 1992.]]
    [19]
    Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. The MIT Press, Cambridge, Mass., 1990.]]
    [20]
    Martin Odersky. Polarized name passing. In Proceedings of FSTTCS '95. LNCS 1026, December 1995.]]
    [21]
    Benjamin Pierce and Davide Sangiorgi. Typing and subtyping for mobile processes. Mathematical Structures in Computer Science, 6(5):409- 454, 1996.]]
    [22]
    Benjamin C. Pierce and David N. Turner. Pict: A programming language based on the picalculus. In Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 2000.]]
    [23]
    Claudio V. Russo. Types For Modules. PhD thesis, University of Edinburgh, LFCS, 1998. ECS-LFCS-98-389.]]
    [24]
    Peter Sewell. Modules, abstract types, and distributed versioning. Technical Report 506, University of Cambridge, 2000. Available from http://www.cl.cam.ac.uk/users/pes20/.]]
    [25]
    Peter Sewell, Pawel T. Wojciechowski, and Benjamin C. Pierce. Location independence for mobile agents. In Proceedings of the Workshop on Internet Programming Languages (Chicago), May 1998. Full version appeared in LNCS 1686.]]
    [26]
    Asis Unyapoth and Peter Sewell. Nomadic Pict: Correct communication infrastructure for mobile computation. In Proceedings of POPL 2001, January 2001. To appear.]]
    [27]
    Pawel T. Wojciechowski. Nomadic Pict: Language and Infrastructure Design for Mobile Computation. PhD thesis, Computer Laboratory, University of Cambridge, June 2000. Available as Technical Report 492.]]
    [28]
    Pawel T. Wojciechowski and Peter Sewell. Nomadic Pict: Language and infrastructure design for mobile agents. IEEE Concurrency, 8(2):42-52, April-June 2000. Extended version of a paper in ASA/MA 99.]]
    [29]
    Steve Zdancewic, Dan Grossman, and Greg Morrisett. Principals in programming languages: A syntactic proof technique. In Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming (ICFP99), volume 34.9 of ACM Sigplan Notices, pages 197-207, N.Y., September 27- 29 1999. ACM Press.]]

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    POPL '01: Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2001
    304 pages
    ISBN:1581133367
    DOI:10.1145/360204
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 January 2001

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    POPL01

    Acceptance Rates

    POPL '01 Paper Acceptance Rate 24 of 126 submissions, 19%;
    Overall Acceptance Rate 824 of 4,130 submissions, 20%

    Upcoming Conference

    POPL '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media