Skip to main content

Difficulties with object-oriented frameworks

  • Architecture
  • Conference paper
  • First Online:
Studies of Software Design (WSSD 1993)

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

Included in the following conference series:

  • 152 Accesses

Abstract

The goal of an object-oriented framework is to provide a reusable design that supports the development of multiple related applications. In practice, frameworks are distributed as source code with little or no design documentation. This complicates both the instantiation and extension of these frameworks.

We illustrate this problem by examining the HotDraw framework, which provides 2D graphical editing capabilities in the Smalltalk environment. We used both the Smalltalk development environment tools and an existing framework design notation, Helm's contracts, to try to understand the framework. Our analysis of HotDraw using these approaches suggests that frameworks would be easier to instantiate and extend if more design and documentation effort were focused on two important framework interfaces: the interface exported to applications, and the interface exported to other frameworks. Based on this observation, we describe a set of usage dependences that are intended to improve framework interface design with respect to instantiation and extension.

This research was supported in part by the National Science Foundation under Grant Numbers CCR-9113367 and CCR-8858804 and by SRA (Tokyo Japan). The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Government, or of SRA.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Deutsch, L. P. Design Reuse and Frameworks in the Smalltalk-80 System. ACM Press, 1989, ch. A.3.

    Google Scholar 

  2. Griswold, W. G., and Notkin, D. Automated Assistance for Program Restructuring. ACM Transactions on Software Engineering and Methodology 2, 3 (July 1993), 228–269.

    Google Scholar 

  3. Helm, R., Holland, I. M., and Gangopadhyay, D. Contracts: Specifying Behavioral Compositions in Object-Oriented Systems. In Proc. of the OOP-SLA '89 Conf. on Object-oriented Programming Systems, Languages and Applications (1990), 169–180.

    Google Scholar 

  4. Johnson, R. and Russo, V. Reusing Object-Oriented Designs. Department of Computer Science, Tech. Rep. UIUCDCS 91–1696, University of Illinois, 1991.

    Google Scholar 

  5. Johnson, R. Documenting Frameworks using Patterns. In Proc. of the OOP-SLA '92 Conf. on Object-oriented Programming Systems, Languages and Applications (1992), 63–76.

    Google Scholar 

  6. Linton, M. A., Vlissides, J. M., and Calder, P. R. Composing User Interfaces with Interviews. IEEE Computer 22, 2 (February 1989), 8–22.

    Google Scholar 

  7. Murphy, G. C. and Notkin, D. The Interaction Between Static Typing and Frameworks. Department of Computer Science and Engineering, Tech. Rep. 93-09-02, University of Washington, 1993.

    Google Scholar 

  8. Opdyke, W. Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign, 1992.

    Google Scholar 

  9. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. Object-Oriented Modeling and Design. Prentice-Hall, 1991.

    Google Scholar 

  10. Weinand, A., Gamma, E., and Marty, R. Design and Implementation of ET++, A Seamless Object-Oriented Application Framework. In Proc. of the OOP-SLA '88 Conf. on Object-oriented Programming Systems, Languages and Applications (1988), 46–57.

    Google Scholar 

  11. Wirfs-Brock, R., and Johnson, R. Surveying Current Research in ObjectOriented Design. Communications of the ACM 33, 9 (September 1990), 104–124.

    Google Scholar 

  12. Wirfs-Brock, R., Wilkerson, B., and Wiener, L. Designing Object-Oriented Software. Prentice-Hall, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Alex Lamb

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Murphy, G.C., Notkin, D. (1996). Difficulties with object-oriented frameworks. In: Lamb, D.A. (eds) Studies of Software Design. WSSD 1993. Lecture Notes in Computer Science, vol 1078. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030521

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61285-8

  • Online ISBN: 978-3-540-68434-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics