Skip to main content
Log in

Module embedding e]radenski@ga.unc.edu

  • Published:
Software - Concepts & Tools

    We’re sorry, something doesn't seem to be working properly.

    Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Abstract

This paper proposes a code reuse mechanism called module embedding that enables the building of new modules from existing ones through inheritance, overriding of procedures, and overriding of types; the paper also describes an implementation scheme for this mechanism. Module embedding is beneficial when modules and classes are used in combination and need to be extended together, or when modules are a more appropriate medium than classes.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bracha, G.: The Programming Language Jigsaw: Mixins, Modularity and Multiple Inheritance. Technical report UUCS-92-007, University of Utah, 1992

    Google Scholar 

  2. Cardelli, L., Donahue, J., Glasman, L., Jordan, M., Kalsow, B., Nelson, G.: Modula-3 language definition. ACM SIGPLAN Notices 27(8): 15–42, 1992

    Article  Google Scholar 

  3. Chambers, C., Leavens, G.: Typechecking and Modules for Multimethods. ACM Transactions on Programming Languages and Systems. 17(6): 805–843, 1995

    Article  Google Scholar 

  4. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series, Addison-Wesley, 1995

    Google Scholar 

  5. Hansen, B.: Brinch Hansen on Pascal Compilers. Prentice Hall, 1985

    Google Scholar 

  6. Hansen, B.: SuperPascal — a publication language for parallel scientific computing. Concurrency — Practice and Experience, 6(5): 461–483, 1994

    Article  Google Scholar 

  7. Hansen, B.: Studies in Computational Science: Parallel Programming Paradigms. Prentice Hall, 1995

    Google Scholar 

  8. Lucas, C., Steyaert, P.: Modular inheritance of objects through mix-in methods. In Advances in Modular Languages. University of Ulm, 1994, pp. 273–282

    Google Scholar 

  9. Mössenböck, H.: Object-Oriented Programming in Oberon-2. Berlin, Heidelberg, New York: Springer-Verlag, 1993

    Book  MATH  Google Scholar 

  10. Radenski, A.: Prototype Implementation of Paradigm/SP, http://www.rtpnet.org/~radenski/research/, 1998

    Google Scholar 

  11. Reiser, M., Wirth, N.: Programming in Oberon: Steps beyond Pascal and Modula. ACM Press, 1992

    MATH  Google Scholar 

  12. Szyperski, C.: Why we need both: Modules and classes. In: Proceedings of OOPSLA, 1992, pp. 19–32

    Google Scholar 

  13. Taft, S.-T.: Ada 9X: A technical summary. Communications of the ACM 35(11): 77–84, 1992

    Article  Google Scholar 

  14. Taft, S.-T.: Ada 9X: From abstraction-oriented to objectoriented. In Proceedings of OOPSLA, 1993, pp. 127–135

    Google Scholar 

  15. Winkler, J.: Objectivism: “Class” considered harmful. Communications of the ACM 35(8): 128–130, 1992

    Google Scholar 

  16. Wirth, N.: Type extensions. ACM Transactions on Programming Languages and Systems 10: 204–214, 1987

    Article  Google Scholar 

  17. Wirth, N.: The programming language Oberon. Software — Practice and Experience 18(7): 671–690, 1988

    Article  MATH  Google Scholar 

  18. Wirth, N., Gutknecht, J.: Project Oberon. ACM Press, 1992

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work is partially supported by NSF grant CCR-9509223 and NASA grant NAG3-2011.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Radenski, A. Module embedding e]radenski@ga.unc.edu. Software - Concepts & Tools 19, 122–129 (1998). https://doi.org/10.1007/s003780050015

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s003780050015

Key words

Navigation