Modules with Interfaces for Dynamic Linking and Communication

Module systems are well known as a means for giving clear interfaces for the static linking of code. This paper shows how adding explicit interfaces to modules for 1) dynamic linking and 2) cross-computation communication can increase the declarative, encapsulated nature of modules, and build a stronger foundation for language-based security and version control. We term these new modules Assemblages.

[1]  Joe B. Wells,et al.  Equational Reasoning for Linking with First-Class Primitive Modules , 2000, ESOP.

[2]  Dominic Duggan,et al.  Mixin modules , 1996, ICFP '96.

[3]  Bruce W. Weide,et al.  Dynamic module replacement in distributed protocols , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[4]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[5]  Toby Bloom,et al.  Dynamic module replacement in a distributed programming system , 1983 .

[6]  David F. Bacon,et al.  MJ: a rational module system for Java and its applications , 2003, OOPSLA.

[7]  David B. MacQueen Modules for standard ML , 1984, LFP '84.

[8]  Sheng Liang,et al.  Dynamic class loading in the Java virtual machine , 1998, OOPSLA '98.

[9]  Luca Cardelli,et al.  Program fragments, linking, and modularization , 1997, POPL '97.

[10]  William R. Cook,et al.  Mixin-based inheritance , 1990, OOPSLA/ECOOP '90.

[11]  Matthew Flatt,et al.  Jiazzi: new-age components for old-fasioned Java , 2001, OOPSLA '01.

[12]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[13]  Tom Hirschowitz,et al.  Mixin modules in a call-by-value setting , 2002, TOPL.

[14]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[15]  Sophia Drossopoulou,et al.  Flexible Models for Dynamic Linking , 2003, ESOP.

[16]  Scott Nettles,et al.  Dynamic software updating , 2001, PLDI '01.

[17]  Peter Sewell,et al.  Formalizing Dynamic Software Updating , 2003 .

[18]  Matthias Felleisen,et al.  Units: cool modules for HOT languages , 1998, PLDI.

[19]  Davide Ancona,et al.  A calculus of module systems , 2002, J. Funct. Program..

[20]  Scott F. Smith,et al.  Modular Internet Programming with Cells , 2002, ECOOP.

[21]  David Notkin,et al.  Language Support for Connector Abstractions , 2003, ECOOP.

[22]  Sophia Drossopoulou,et al.  A fragment calculus-towards a model of separate compilation, linking and binary compatibility , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).