Keesee: A Behavioral Object-Oriented Database Framework for Software Engineering
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.
KeywordsSoftware Engineering Query Language Access Method Multiple Inheritance Database Community
Unable to display preview. Download preview PDF.
- Archibald, R., and Villoria, R., 1967, Network-Based Management Systems (Pert/CPM), John Wiley and Sons Inc., New York.Google Scholar
- Balzer, R., 1985, Automated Enhancement of Knowledge Representations, Proceedings of the Eighth International Conference on Artificial Intelligence, Los Angeles, CA.Google Scholar
- 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
- 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
- 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
- Fischer, G., 1987, A Critic for Lisp, Proceedings of the 10th International Joint Conference on Artificial Intelligence, Milan, Italy, August 1987.Google Scholar
- Frakes, W. B. and Nejmeh, B. A., 1987, Software Reuse Through Information Retrieval, SIGIR Forum, Winter 1987, pp. 30–36.Google Scholar
- 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
- 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
- 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
- Hull, A.R., and King, A.R., 1987, Semantic Database Modeling: Survey, Applications, and Research Issues, ACM Computing Surveys, September 1987.Google Scholar
- 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
- Ingalls, Daniel H., 1981, The Smalltalk Graphics Kernel, BYTE, No. 6, August 1981, pp. 168–194.Google Scholar
- 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
- 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
- Salton, G., and McGill, M., 1983, Introduction to Modern Information Retrieval,McGraw-Hill.Google Scholar
- Stefik, M., and Bobrow, D., 1986, Object-Oriented Programming: Themes and Variations, AI Magazine, Vol. 6.Google Scholar
- 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
- 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
- Ullman, J., 1982, Principles of Database Systems, 2nd Ed., Computer Science Press, Rockville, MD.Google Scholar
- Wagner, H., 1975, Principles of Operations Research, Prentice-Hall, Inc., Englewood Cliffs, NJ.Google Scholar