Advertisement

Keesee: A Behavioral Object-Oriented Database Framework for Software Engineering

  • Jonathan Bein
  • Bernard Bernstein
  • Roger King
  • Jay Lightfoot
  • Cathleen Wharton
  • Emilie Young

Abstract

In this paper, we discuss a research project, KeeSee (KEETM2 Software Engineering Environment), which is concerned with the support of software engineering environments (SEE’s) by database systems. The general topic of database support for software engineering has recently received significant attention from the database community. In these projects it has been frequently noted that software engineering (and engineering in general) places a new set of constraints on a DBMS. A common theme in database research is that existing data models do not suffice to support the following characteristics of SEE’s: long transactions, hierarchically structured objects, complex derived data, and version management. Current efforts to address the bottleneck in existing data models can be classified into two categories: object oriented systems and relational extensions.

The prototype KeeSee software is implemented in KEE, an object-oriented environment for constructing expert systems. KEE provides facilities for inheritance, hypothetical databases, rules, demons, queries, message passing, and truth maintenance. The KeeSee project makes particular use of the multiple inheritance in KEE and message passing in defining database functionality to support a SEE. Essentially, one defines the necessary database functionality through the multiple inheritance capabilities in KeeSee. Then, software tools are integrated by defining additional methods for object types. In this manner, the advantages of object-oriented programming are used to both define the database functionality and also to incorporate software tools. As a result, the KeeSee system has turned out to be easy to use and modular for implementers and users of the SEE.

There are two main results from this study. First, the breadth of functionality in KEE is an essential component for supporting future SEE’s. Second, method inheritance and object specialization provide a powerful mechanism for defining the SEE as well as integrating tools. Combining these results with current trends in database support for software engineering suggests that an efficient implementation of a system like KEE, combined with database technology is an important component of the ultimate platform for software engineering.

Keywords

Software Engineering Query Language Access Method Multiple Inheritance Database Community 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Archibald, R., and Villoria, R., 1967, Network-Based Management Systems (Pert/CPM), John Wiley and Sons Inc., New York.Google Scholar
  2. Balzer, R., 1985, Automated Enhancement of Knowledge Representations, Proceedings of the Eighth International Conference on Artificial Intelligence, Los Angeles, CA.Google Scholar
  3. Bersoff, Edward H., Henderson, Vilas D., and Siegel, Stan G., 1979, Software Configuration Management: A Tutorial, IEEE Computer, Vol. 12, No. 1, January 1979, pp. 6–14.CrossRefGoogle Scholar
  4. Bryce, D. and Hull, R., 1986, SNAP: A Graphic-Based Schema Manager, Proceedings of the Second IEEE Intl. Conf. on Data Engineering, February 1986.Google Scholar
  5. Carey, M., DeWitt, D., Richardson, J., and Shekita, E., 1986, Object and File Management in the EXODUS Extensible Database System, Proceedings of the Twelfth International Conference on Very Large Databases, August 1986.Google Scholar
  6. Dittrich, K.R., Gotthard, W., and Lockemann, P.C., 1986, DAMOKLES–A Database System for Software Engineering Environments, Lecture Notes, Computer Science: #224, Advanced Programming Environments, Proceedings of the International Workshop, Goos and Hartmanis, eds., Springer Verlag, June 1986, pp. 353–371.Google Scholar
  7. Fischer, G., 1987, A Critic for Lisp, Proceedings of the 10th International Joint Conference on Artificial Intelligence, Milan, Italy, August 1987.Google Scholar
  8. Frakes, W. B. and Nejmeh, B. A., 1987, Software Reuse Through Information Retrieval, SIGIR Forum, Winter 1987, pp. 30–36.Google Scholar
  9. Fumas, G. W., Landauer, T. K., and Gomez, L. M., 1987, The Vocabulary Problem in Human-System Communications, Communications of the ACM, Vol. 30, No. 11, pp. 964–972.CrossRefGoogle Scholar
  10. Goldman, K. J., Goldman, S. A., Kanellakis, P. C., and Zdonik, S. G., 1985, ISIS: Interface for a Semantic Information System, Proceedings ACM SIG MOD, International Conference on the Management of Data.Google Scholar
  11. Habermann, A. Nico and Notkin, David, 1986, Gandalf: Software Development Environments, IEEE Transactions on Software Engineering, Vol. 12, No. 12, December, pp. 1117–1127.Google Scholar
  12. Heckel, Paul, 1978, A Technique for Isolating Differences Between Files, Communications of the ACM,Vol. 21, No. 4, April 1978, pp. 264–268.CrossRefGoogle Scholar
  13. Hudson, S., and King, R., 1986, CACTIS: A Database System for Specifying Functionally-Defined Data, Proceedings of the Workshop on Object-Oriented Databases, Pacific Grove, California, September 23–26, 1986.Google Scholar
  14. Hull, A.R., and King, A.R., 1987, Semantic Database Modeling: Survey, Applications, and Research Issues, ACM Computing Surveys, September 1987.Google Scholar
  15. Hunt, J.W., and Mcllroy, M.D., 1976, An Algorithm for Differential File Comparison, Computing Science Technical Report, No 41, Bell Laboratories, June 1976.Google Scholar
  16. Ingalls, Daniel H., 1981, The Smalltalk Graphics Kernel, BYTE, No. 6, August 1981, pp. 168–194.Google Scholar
  17. King, R., and Melville, S., 1984, SKI: A Semantics Knowledgeable Interface, Proceedings of the 10th International Conference on Very Large Databases, Stockholm, Sweden.Google Scholar
  18. Maier, A., Stein, D., Otis, A., and Purdy, A., 1986, Development of an Object-Oriented DBMS, Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications September 29-October 2, 1986, pp. 472–482.Google Scholar
  19. Salton, G., and McGill, M., 1983, Introduction to Modern Information Retrieval,McGraw-Hill.Google Scholar
  20. Stefik, M., and Bobrow, D., 1986, Object-Oriented Programming: Themes and Variations, AI Magazine, Vol. 6.Google Scholar
  21. Symbolics, 1986, Reference Guide to Streams, Files and I/O, Symbolics Inc., Cambridge, MA, pp. 170–180. Symbolics, 1987, Programming the User Interface, Symbolics Inc., Cambridge, MA.Google Scholar
  22. Tichy, W.F., 1985, RCS–A System for Version Control, Software–Practice and Experience, Vol. 15, No. 7, July 1985, pp. 637–654.CrossRefGoogle Scholar
  23. Tichy, W.F., 1987, Tools for Software Configuration Management, unpublished paper as of Fall 1987. Tracz, W., 1987, Reusability Comes of Age, IEEE Software, July 1987, pp. 6–8.Google Scholar
  24. Ullman, J., 1982, Principles of Database Systems, 2nd Ed., Computer Science Press, Rockville, MD.Google Scholar
  25. Wagner, H., 1975, Principles of Operations Research, Prentice-Hall, Inc., Englewood Cliffs, NJ.Google Scholar

Copyright information

© Plenum Press, New York 1990

Authors and Affiliations

  • Jonathan Bein
    • 1
    • 3
  • Bernard Bernstein
    • 1
  • Roger King
    • 1
  • Jay Lightfoot
    • 2
  • Cathleen Wharton
    • 1
  • Emilie Young
    • 1
  1. 1.Computer Science DepartmentUniversity of ColoradoBoulderUSA
  2. 2.College of Business AdministrationUniversity of ColoradoBoulderUSA
  3. 3.Bolder HeuristicsBoulderUSA

Personalised recommendations