Skip to main content

Integrating Independently-Developed Components in Object-Oriented Languages

  • Conference paper
  • First Online:
Book cover ECOOP’ 93 — Object-Oriented Programming (ECOOP 1993)

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

Included in the following conference series:

Abstract

Object-oriented programming promises to increase programmer productivity through better reuse of existing code. However, reuse is not yet pervasive in today’s object-oriented programs. Why is this so? We argue that one reason is that current programming languages and environments assume that components are perfectly coordinated. Yet in a world where programs are mostly composed out of reusable components, these components are not likely to be completely integrated because the sheer number of components would make global coordination impractical. Given that seemingly minor inconsistencies between individually designed components would exist, we examine how they can lead to integration problems with current programming language mechanisms. We discuss several reuse mechanisms that can adapt a component in place without requiring access to the component’s source code and without needing to re-typecheck it.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Rakesh Agrawal, Linda G. DeMichiel, and Bruce G. Lindsay. Static Type-Checking of Multi-Methods. In OOPSLA’ 91 Conference Proceedings, pp. 113–128, Phoenix, AZ, October 1991. Published as SIGPLAN Notices 26(11), November 1991.

    Google Scholar 

  2. Pierre America and Frank van der Linden. A Parallel Object-Oriented Language with Inheritance and Subtyping. In ECOOP/OOPSLA’ 90 Conference Proceedings, pp. 161–168, Ottawa, Canada, October 1990. Published as SIGPLAN Notices 25(10), October 1990.

    Google Scholar 

  3. Apple Computer, Eastern Research and Technology. Dylan, an object-oriented dynamic language. Apple Computer, Cupertino, CA, April 1992.

    Google Scholar 

  4. Gilad Bracha and William Cook. Mixin-Based Inheritance. In ECOOP/OOPSLA’ 90 Conference Proceedings, pp. 303–311, Ottawa, Canada, October 1990. Published as SIGPLAN Notices 25(10), October 1990.

    Google Scholar 

  5. Lucy Berlin. When Objects Collide: Experiences with Reusing Multiple Class Hierarchies. In ECOOP/OOPSLA’ 90 Conference Proceedings, pp. 181–193, Ottawa, Canada, October 1990. Published as SIGPLAN Notices 25(10), October 1990.

    Google Scholar 

  6. Luca Cardelli and Peter Wegner. On Understanding Types, Data Abstraction, and Polymorphism. Computing Surveys 17(4), pp, 471–522, December 1985.

    Article  Google Scholar 

  7. Craig Chambers. Object-Oriented Multimethods in Cecil. In ECOOP’ 92 Proceedings, pp. 33–65, Utrecht, The Netherlands, June 1992. Published as Springer Verlag LNCS 615, Berlin, Germany 1992.

    Google Scholar 

  8. Craig Chambers. The Cecil Language—Specification and Rationale. Technical Report 93-03-05, Computer Science Department, University of Washington, Seattle 1993.

    Google Scholar 

  9. Craig Chambers. Predicate Classes. In ECOOP’ 93 Conference Proceedings, Kaiserslautern, Germany, July 1993.

    Google Scholar 

  10. Peter Canning, William Cook, Walter Hill, and Walter Olthoff. Interfaces in strongly-typed object-oriented programming. In OOPSLA’ 89 Conference Proceedings, pp. 457–468, New Orleans, LA, October 1989. Published as SIGPLAN Notices 24(10), October 1989.

    Google Scholar 

  11. Brad Cox. Object-Oriented Programming: An Evolutionary Approach. Addison-Wesley, Reading, MA 1986.

    Google Scholar 

  12. Linda G. DeMichiel and Richard P. Gabriel. The Common Lisp Object System: An Overview. In ECOOP’ 87 Conference Proceedings, pp. 223–233, Paris, France, June 1987. Published as Springer Verlag LNCS 276, Berlin, Germany 1987.

    Chapter  Google Scholar 

  13. L. Peter Deutsch. Reusability in the Smalltalk-80 Programming System. Proceedings of the Workshop on Reusability in Programming, p. 72–76. Newport, RI, September 1983.

    Google Scholar 

  14. Margaret A. Ellis and Bjarne Stroustrup. The Annotated C++ Reference Manual. Addison Wesley, Reading, Ma 1990.

    Google Scholar 

  15. Chris Horn. Conformance, Genericity, Inheritance and Enhancement. In ECOOP’ 87 Conference Proceedings, pp. 223–233, Paris, France, June 1987. Published as Springer Verlag LNCS 276, Berlin, Germany 1987.

    Chapter  Google Scholar 

  16. Urs Hölzle and David Ungar. The Case for Pure Object-Oriented Languages. In Proceedings of the OOPSLA’ 92 Workshop on Object-Oriented Languages: The Next Generation. Vancouver, Canada, October 1992.

    Google Scholar 

  17. Paul Johnson and Ceri Rees. Reusability through Fine-grain Inheritance. Soft-ware—Practice and Experience 22(12), pp. 1049–1068, December 1992.

    Article  Google Scholar 

  18. B. B. Kristensen, O. L. Madsen, B. Møller-Pedersen and K. Nygaard. The BETA Programming Language. In B. Shriver and P. Wegner (eds.), Research Directions in Object-Oriented Programming, pp. 7–48. MIT Press, Cambridge, MA 1987.

    Google Scholar 

  19. Henry Lieberman. Position Statement in the Panel on Varieties of Inheritance. In Addendum to the OOPSLA’ 87 Proceedings, p. 35. Published as SIGPLAN Notices 23(5), May 1988.

    Google Scholar 

  20. Mark A. Linton, John Vlissides, and Paul Calder. Composing user interfaces with Interviews. IEEE Computer Magazine, February 1989.

    Google Scholar 

  21. Mark A. Linton. Encapsulating a C++ Library. Proceedings of the 1992 Usenix C++ Conference, pp. 57–66, Portland, OR, August 1992.

    Google Scholar 

  22. Boris Magnusson. Position statement during the ECOOP’ 91 Workshop on Types, Geneva, Switzerland, July 1991.

    Google Scholar 

  23. Ole Lehrmann-Madsen, Birger Møller-Pedersen, and Kristen Nygaard. The BETA Programming Language—A Scandinavian Approach to Object-Oriented Programming. OOPSLA’ 89 Tutorial Notes, New Orleans, LA, October 1989.

    Google Scholar 

  24. David A. Moon. Object-Oriented programming with Flavors. In OOPSLA’ 86 Conference Proceedings, pp. 1–8, Portland, OR, October 1986. Published as SIGPLAN Notices 21(11), November 1986.

    Google Scholar 

  25. Bertrand Meyer. Eiffel—The Language. Prentice Hall, New York 1991.

    Google Scholar 

  26. Harold Ossher and William Harrison. Combination of Inheritance Hierarchies. In OOPSLA’ 92 Conference Proceedings, pp. 25–43, Vancouver, Canada, October 1992. Published as SIGPLAN Notices 27(10), October 1992.

    Google Scholar 

  27. Panel: Experiences with reusability. In OOPSLA’ 88 Conference Proceedings, pp. 371–376, San Diego, CA, September 1988. Published as SIGPLAN Notices 23(11), November 1988.

    Google Scholar 

  28. Panel: Designing Reusable Designs: Experiences Designing Object-Oriented Frameworks. In Addendum to the OOPSLA/ECOOP’ 90 Conference Proceedings, pp. 19–24, Ottawa, Canada, October 1990.

    Google Scholar 

  29. W. F. Opdyke. Refactoring Object-Oriented Frameworks. Ph. D. Thesis, Department of Computer Science, University of Illinois, Urbana-Champaign 1992. Published as Technical Report UIUCDCS-R-92-53097.

    Google Scholar 

  30. Open Systems Foundation. OSF Architecture-Neutral Distribution Format Rationale. Open Systems Foundation, June 1991.

    Google Scholar 

  31. David Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12), December 1972.

    Google Scholar 

  32. Claus H. Pedersen. Extending ordinary inheritance schemes to include generalization. In OOPSLA’ 89 Conference Proceedings, pp. 407–417, New Orleans, LA, October 1989. Published as SIGPLAN Notices 24(10), October 1989.

    Google Scholar 

  33. Jens Palsberg and Michael Schwartzbach. Type substitution for object-oriented programming. In ECOOP/OOPSLA’ 90 Conference Proceedings, pp. 151–160, Ottawa, Canada, October 1990. Published as SIGPLAN Notices 25(10), October 1990.

    Google Scholar 

  34. Rajendra K. Raj and Henry K. Levy. A Compositional Model for Software Reuse. Computer Journal 32(4), pp. 312–322, 1989.

    Article  Google Scholar 

  35. Rajendra K. Raj, Ewan Tempera, and Henry K. Levy. Emerald: A General-Purpose Programming Language. Software—Practice and Experience 21(1), pp. 91–118, January 1991.

    Article  Google Scholar 

  36. David Sandberg. An Alternative to Subclassing. In OOPSLA’ 86 Conference Proceedings, pp. 424–428, Portland, OR, October 1986. Published as SIGPLAN Notices 21(11), November 1986.

    Google Scholar 

  37. Clemens Szypersky. Extensible Object-Orientation. In Proceedings of the OOPSLA’ 92 Workshop on Object-Oriented Languages: The Next Generation. Vancouver, Canada, October 18, 1992.

    Google Scholar 

  38. Josef Tempi. Compilation Speed of the SPARC Oberon Compiler. Personal communication, April 1990.

    Google Scholar 

  39. David Ungar and Randall B. Smith. SELF—The Power of Simplicity. In OOPSLA’ 87 Conference Proceedings, pp. 227–242, Orlando, FL, October 1987. Published as SIGPLAN Notices 22(12), December 1987.

    Google Scholar 

  40. André Weinand, Erich Gamma, and Robert Marty. ET++—An Object-Oriented Application Framework in C++. In OOPSLA’ 88 Conference Proceedings, pp. 168–182, San Diego, CA, October 1988. Published as SIGPLAN Notices 23(11), November 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hölzle, U. (1993). Integrating Independently-Developed Components in Object-Oriented Languages. In: Nierstrasz, O.M. (eds) ECOOP’ 93 — Object-Oriented Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 707. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47910-4_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-47910-4_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57120-9

  • Online ISBN: 978-3-540-47910-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics