Skip to main content

Modules with Interfaces for Dynamic Linking and Communication

  • Conference paper
ECOOP 2004 – Object-Oriented Programming (ECOOP 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3086))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  2. 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)

    Google Scholar 

  3. Ancona, D., Zucca, E.: A calculus of module systems. Journal of functional programming 11, 91–132 (2002)

    MathSciNet  Google Scholar 

  4. 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)

    Chapter  Google Scholar 

  5. Bierman, G., Hicks, M., Sewell, P., Stoyle, G.: Formalizing dynamic software updating (2003)

    Google Scholar 

  6. Bloom, T.: Dynamic module replacement in a distributed programming system. Technical Report MIT/LCS/TR-303 (1983)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Drossopoulou, S., Lagorio, G., Eisenbach, S.: Flexible models for dynamic linking. In: 12th European Symposium on Programming (2003)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Hirschowitz, T., Leroy, X.: Mixin modules in a call-by-value setting. In: European Symposium on Programming, pp. 6–20 (2002)

    Google Scholar 

  14. Hicks, M.W., Moore, J.T., Nettles, S.: Dynamic software updating. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 13–23 (2001)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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

  18. MacQueen, D.: Modules for Standard ML. In: Proceedings of ACM Conference on Lisp and Functional Programming, pp. 409–423 (1984)

    Google Scholar 

  19. McDirmid, S., Flatt, M., Hsieh, W.: Jiazzi: New-age components for old-fashioned Java. In: Proc. of OOPSLA (October 2001)

    Google Scholar 

  20. Rinat, R., Smith, S.: Modular internet programming with cells. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 257. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  21. 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)

    Google Scholar 

  22. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press and Addison-Wesley, New York (1998)

    Google Scholar 

  23. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics