Supporting the Deployment of Object-Oriented Frameworks

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2348)


Although they are intended to support and encourage reuse, Object-Oriented application frameworks are difficult to use. The architecture and implementation details of frameworks, because of their size and complexity, are rarely fully understood by the developers that use them. Instead, developers must somehow learn just enough about the parts of the framework required for their task. Faced with a framework problem, the developer will ask for assistance or muddle through using a trial-and-error approach. In many cases, they will not learn what the framework designer had in mind as the proper solution to their problem, and thus misuse the framework.

This paper is a preliminary look at the kinds of problems faced by framework users, and how the framework developer can assist in mitigating these problems. Our goal is to develop mechanisms for detecting when the framework user has violated the conditions of use intended by the framework developer, using static analysis of structure, and dynamic analysis of behavior.


Object-Oriented frameworks framework deployment static analysis model checking 


  1. 1.
    R. Anderson, P. Beame, S. Burns, W. Chan, F. Modugno, D. Notkin, and J. Reese. Model Checking Large Software Specifications, Software Engineering Notes, 21(6):156–166, November 1996.Google Scholar
  2. 2.
    J. Atlee, J. Gannon. State-based Model Checking of Event-driven System Requirements, IEEE Transactions on Software Engineering, 19(1):24–40, June 1993.Google Scholar
  3. 3.
    A. Birrer, T. Eggenschwiler. Frameworks in the Financial Engineering Domain: An Experience Report, Proceedings of ECOOP 93, 1993.Google Scholar
  4. 4.
    J. Bosch, P. Molin, M. Mattsson and P. Bengtsson. Obstacles in Object-Oriented Framework-based Software Development, ACM Computing Surveys Symposia on Object-Oriented Application Frameworks, 1998.Google Scholar
  5. 5.
    P. DiLascia. Meandering Through the Maze of MFC Message and Command Routing, Microsoft System Journal, July 1995. Available at
  6. 6.
    M. Dwyer, V. Carr, and L. Hines. Model Checking Graphical User Interfaces Using Abstractions, In LNCS 1301, pages 244–261. Proceedings of the 6th European Software Engineering Conference held jointly with the 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering, September 1997.Google Scholar
  7. 7.
    G. Froehlich, H. J. Hoover, L. Liu, P. G. Sorenson. Hooking into Object-Oriented Application Frameworks, Proceedings of the 1997 International Conference on Software Engineering, Boston, Mass., May 17–23, 1997.Google Scholar
  8. 8.
    E. Gamma, R. Helm, R. E. Johnson, J. O. Vlissides. Design Patterns-Elements of Reusable Object-Oriented Software, Addison Wesley, 1994.Google Scholar
  9. 9.
    D. Garlan, R. Allen, J. Ockerbloom. Architectural Mismatch or Why it is so hard to build systems out of existing parts, Proceedings of the 17th International Conference on Software Engineering, April 1995.Google Scholar
  10. 10.
    R. Helm, I. M. Holland, D. Gangopadhyay. Contracts: Specifying behavioral Compositions in Object-Oriented Systems, Proceedings of ECOOP/OOPSLA 90, Ottawa, Canada, 1990.Google Scholar
  11. 11.
    G. Holzmann. Design and Validation of Computer Protocols, Prentice Hall, Engle-wood Cliffs, NJ, 1991.Google Scholar
  12. 12.
    G. Naumovich, G. Avrunin, L. Clarke, and L. Osterweil. Applying Static Analysis to Software Architectures. In LNCS 1301. The 6th European Software Engineering Conference held jointly with the 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering, September 1997.Google Scholar
  13. 13.
    O. Nierstrasz. Regular Types for Active Objects, Object-Oriented Software Composition, O. Nierstrasz and D. Tsichritzis eds, Prentice Hall, 1995, pp. 99–121.Google Scholar
  14. 14.
    W. Pree. Design Patterns for Object-Oriented Software Development, AddisonWesley, 1995.Google Scholar
  15. 15.
    G. Shepherd, S. Wingo. MFC Internals: Inside the Microsoft Foundation Class Architecture, Addison Wesley, 1996.Google Scholar
  16. 16.
    R. J. Wirfs-Brock, B. Wilkerson, and L. Wiener. Designing Object-Oriented Software, Prentice Hall, Englewood Cliffs, NJ, 1990.Google Scholar
  17. 17.
    Microsoft Developer Network. Available at <>
  18. 18.
    Promela Model for the Observer Pattern. Available at <>
  19. 19.
    The Client Server Framework Web Site. Available at <>

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  1. 1.Department of Computing ScienceUniversity of AlbertaEdmontonCanada

Personalised recommendations