Strategies and techniques: Reusable artifacts for the construction of database management systems

  • Andreas Geppert
  • Klaus R. Dittrich
Part of the Lecture Notes in Computer Science book series (LNCS, volume 932)


Abstraction, selection, and integration of reusable artifacts are still open problems in reuse-based software construction. We investigate how these problems can be solved for one sample domain of system software: database management systems. We propose dimensions for functional subdomains where different design choices are to be made. Strategies are the design choices for dimensions; their application leads to refined architectures and designs. Moreover, they are used to control the integrity of designs. Techniques are classes in the sense of object-oriented programming and implement combinations of strategies; they are reused during subsystem implementation. Through the various levels of abstraction, a designer/implementor of a database management system is guided towards reusable artifacts in all phases of a construction process.


software reuse DBMS-construction system design and specification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    D.S. Batory: GENESIS: An Extensible Database Management System. IEEE Trans. on Software Engineering, 1988.Google Scholar
  2. 2.
    D. Batory, S. O'Malley: The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM ToSEM 1:4, 1992.Google Scholar
  3. 3.
    T.J. Biggerstaff, C. Richter: Reusability Framework, Assessment, and Directions. IEEE Software, July 1987.Google Scholar
  4. 4.
    M.J. Carey, D.J. DeWitt, D. Frank, G. Graefe, M. Muralikrishna, J.E. Richardson: The Architecture of the EXODUS Extensible DBMS. In K.R. Dittrich, U. Dayal (eds): Proc. Intl. Workshop on Object-Oriented Database Systems, IEEE Computer Science Press, 1986.Google Scholar
  5. 5.
    M. Carey, L. Haas: Extensible Database Management Systems. SIGMOD Record 19:4, 1990.Google Scholar
  6. 6.
    M.G. Fugini, O. Nierstrasz, B. Pernici: Application Development Through Reuse: The ITHACA Tools Environment. ACM SIGOIS Bulletin 13:2, August 1992.Google Scholar
  7. 7.
    A. Geppert: Methodical Construction of Database Management Systems. Doctoral Dissertation, University of Zuerich, Switzerland, 1994.Google Scholar
  8. 8.
    G. Graefe, D.J. DeWitt: The EXODUS Optimizer Generator. Proc. of the ACM SIGMOD Intl. Conf. on Management of Data, San Francisco, CA, May 1987.Google Scholar
  9. 9.
    R. Helm, I.M. Holland, D. Gangopadhyay: Contracts: Specifying Behavioral Compositions in Object-Oriented Systems. Proc. ECOOP 90.Google Scholar
  10. 10.
    R.E. Johnson, B. Foote: Designing Reusable Classes. Journal of Object-Oriented Programming 1:2, 1988.Google Scholar
  11. 11.
    C.W. Krueger: Software Reuse. ACM Computing Surveys 24:2, 1992.Google Scholar
  12. 12.
    B. Meyer: Object-Oriented Software Construction. Prentice Hall, 1988.Google Scholar
  13. 13.
    J.M. Neighbors: Draco: A Method for Engineering Reusable Software Systems. In T.J. Biggerstaff, A.J. Perlis (eds): Software Reusability. Volume I: Concepts and Models. ACM Press, 1989.Google Scholar
  14. 14.
    W. Stacy, R. Helm, G.E. Kaiser, B. Meyer: Ensuring Semantic Integrity of Reusable Objects (Panel Discussion). Proc. OOPSLA, Vancouver, Canada, October 1992.Google Scholar
  15. 15.
    D.L. Wells, J.A. Blakeley, C.W. Thompson: Architecture of an Open Object-Oriented Database Management System. IEEE Computer 25:10.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Andreas Geppert
    • 1
  • Klaus R. Dittrich
    • 1
  1. 1.Computer Science DepartmentUniversity of ZurichZurichSwitzerland

Personalised recommendations