Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)
Aldrich, J., Sazawal, V., Chambers, C., Notkin, D.: Language support for connector abstractions. In: Proceedings of the Seventeenth European Conference on Object-Oriented Programming (June 2003)
Ancona, D., Zucca, E.: A calculus of module systems. Journal of functional programming 11, 91–132 (2002)
Bracha, G., Cook, W.: Mixin-based inheritance. In: Meyrowitz, N. (ed.) Proceedings of OOPSLA/ECOOP, Ottawa, Canada, pp. 303–311. ACM Press, New York (1990)
Bierman, G., Hicks, M., Sewell, P., Stoyle, G.: Formalizing dynamic software updating (2003)
Bloom, T.: Dynamic module replacement in a distributed programming system. Technical Report MIT/LCS/TR-303 (1983)
Cardelli, L.: Program fragments, linking, and modularization. In: Conference Record of POPL 1997: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 266–277 (1997)
Corwin, J., Bacon, D.F., Grove, D., Murthy, C.: MJ: a rational module system for java and its applications. In: Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pp. 241–254 (2003)
Drossopoulou, S., Eisenbach, S., Wragg, D.: A fragment calculus towards a model of separate compilation, linking and binary compatibility. Logic in Computer Science, 147–156 (1999)
Drossopoulou, S., Lagorio, G., Eisenbach, S.: Flexible models for dynamic linking. In: 12th European Symposium on Programming (2003)
Duggan, D., Sourelis, C.: Mixin modules. In: Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP 1996), vol. 31(6), pp. 262–273 (1996)
Flatt, M., Felleisen, M.: Units: Cool modules for HOT languages. In: Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation, pp. 236–248 (1998)
Hirschowitz, T., Leroy, X.: Mixin modules in a call-by-value setting. In: European Symposium on Programming, pp. 6–20 (2002)
Hicks, M.W., Moore, J.T., Nettles, S.: Dynamic software updating. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 13–23 (2001)
Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D.E., Pister, K.S.J.: System architecture directions for networked sensors. In: Architectural Support for Programming Languages and Operating Systems, pp. 93–104 (2000)
Liang, S., Bracha, G.: Dynamic class loading in the Java virtual machine. In: Conference on Object-oriented programming, systems, languages, and applications (OOPSLA 1998), pp. 36–44 (1998)
Liu, Y.D., Smith, S.F.: Modules With Interfaces for Dynamic Linking and Communication (long version) Technical report, Baltimore, Maryland (March 2004), http://www.cs.jhu.edu/~scott/pll/assemblage/asm.pdf
MacQueen, D.: Modules for Standard ML. In: Proceedings of ACM Conference on Lisp and Functional Programming, pp. 409–423 (1984)
McDirmid, S., Flatt, M., Hsieh, W.: Jiazzi: New-age components for old-fashioned Java. In: Proc. of OOPSLA (October 2001)
Rinat, R., Smith, S.: Modular internet programming with cells. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 257. Springer, Heidelberg (2002)
Sridhar, N., Pike, S.M., Weide, B.W.: Dynamic module replacement in distributed protocols. In: Proceedings of the 23rd International Conference on Distributed Computing Systems (May 2003)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley, New York (1998)
Wells, J.B., Vestergaard, R.: Equational reasoning for linking with first-class primitive modules. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol. 1782, p. 412. Springer, Heidelberg (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Liu, Y.D., Smith, S.F. (2004). Modules with Interfaces for Dynamic Linking and Communication. In: Odersky, M. (eds) ECOOP 2004 – Object-Oriented Programming. ECOOP 2004. Lecture Notes in Computer Science, vol 3086. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24851-4_19
Download citation
DOI: https://doi.org/10.1007/978-3-540-24851-4_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22159-3
Online ISBN: 978-3-540-24851-4
eBook Packages: Springer Book Archive