thatte@csc.ti.com (Satish Thatte) (09/15/90)
A MODULAR AND OPEN OBJECT-ORIENTED DATABASE SYSTEM On 30 August 1990, Texas Instruments Incorporated, Dallas, TX was awarded a three year contract (Contract No. DAAB07-90-C-B920) to develop a modular and open object-oriented database system. The contract is funded by DARPA/ISTO and is being managed by the U.S. Army, CECOM, Fort Monmouth, N.J. The contract is being executed at TI's Information Technologies Laboratory, Computer Science Center, Dallas, TX. INTRODUCTION Complex applications, such as Computer-Aided Design, Computer-Aided Manufacturing (CAM), Computer-Aided Software Engineering (CASE), Command, Control, Communications, and Intelligence (C3I), and knowledge-based expert systems, can derive benefits from object-oriented programming: abstraction, modularity, extensibility, and reuse. However, object-oriented languages do not provide direct support for storing, sharing, and reusing persistent objects. Today's relational databases provide some help but, since they do not provide data models that match those in programming languages, considerable code must be developed to translate information between the relational and object-oriented worlds (the "impedance mismatch" problem). Various proposed object extenstions to the relational data model do not address the impedance mismatch problem between a host object-oriented programming language and an extended relational data model. Further, today's relational databases are usually implemented as monolithic black boxes with internal interfaces that are not public. Special needs frequently arise that cause designers to reimplement special purpose systems at great expense. This contract is aimed at addressing these problems. The goal of the contract is to develop technology for building a modular and open object-oriented database system, called Open OODB. It will be arrived at through the consensus of the DARPA community. The system will have a modular architecture which will allow the addition of new modules, the deletion of unneeded modules, and the substitution of modules with user unique modules. Open OODB will be designed to support applications written in object-oriented languages, initially C++ and Common Lisp Object System (CLOS). REQUIREMENTS Under this contract, TI will design an open and modular object-oriented database system. The word "open" will be interpreted as follows: all modules of Open OODB will have non-proprietary well-documented interfaces. These modules can be changed or replaced to improve performance or vary functionality. The Open OODB System will provide a persistent language model that matches the data model used by object-oriented programming languages, initially C++ and CLOS. This will solve the "impedance mismatch" problem described above; provide a seamless interface between persistence objects and application programs; and provide important benefits like strong typing at the application database interface. To avoid the problem with reuse of monolithic systems, the architecture of Open OODB will be modular. Database designers and administrators will be able to add, replace, or remove modules as needed. Modularity will encourage incremental improvement. A major thrust of the contract will be to develop consensus on specifications of OODB modules and interfaces. TI will solicit inputs from OODB research community, OODB implementors (prototype builders and commercial vendors), and OODB users (application developers, such as CAD, CAM, hypermedia, expert systems, CASE) to help develop the consensus. Such consensus is essential for developing standards in the rapidly evolving field of OODBs. Without such consensus and eventual standards, the OODB field will remain fragmented, preventing it from reaching its full potential. Similarly, proprietary specifications and subsystems (such as proprietary object models, compilers, storage servers) will also hurt the OODB community. TI will complete an implementation conforming to the consensus on Open OODB in support of C++ and CLOS applications. TI will distribute Open OODB within the DARPA community. To ensure that the specifications of Open OODB are of lasting value, that the Open OODB modules are useful to the DARPA community, and to accelerate agreement within the OODB research community, TI will conduct four workshops. These workshops will serve to gain acceptance for an open, modular object-oriented database design specification and to obtain consensus on key module interface specifications (e.g., Object Management Module, Extended Transaction Module, Change Management System Module, and object Query Module). Attendees will include key researchers, application developers, end users, and DARPA/DoD representatives (approximately 30). They will have expertise in OODB and conventional databases, object-oriented programming languages, or in application areas such as Computer-Aided Design, Software Computer-Aided Design, or Computer-Integrated Manufacturing. These workshops are described below. Functional Architecture Validation Workshop: Obtain DARPA community review of the requirements and preliminary Functional Architecture Specification. Module Interface Validation Workshop: Obtain a critical review of the preliminary Module Interface Specification for each Open OODB module. Interim Design Review Workshop: Provide a critical review of the revised Module Interface Specification for each Open OODB module. Final Program Review Workshop: Review the final Functional Architecture Specification and final Module Interface Specification documents. OPEN OODB MODULES TI will design and implement an open, modular object-oriented database system, called Open OODB, that can be used by the DARPA community. It will be implemented on a standard Unix platform (e.g., Sun 4) to support both C++ and CLOS applications. Open OODB will be designed using standard software (e.g., Unix, C++, CLOS, SQL, and the X Window System), and off-the-shelf language processors and storage servers. It will include an Application Programmer's Interface (API) to support C++ and CLOS applications that require persistent object management facilities (persistence, queries, transactions, change management). The majority of the modules will be implemented in C++ for portability. The Open OODB system will be a working and usable system. Open OODB will have the following major modules: Persistent Object Store Module: Manage persistent objects and type information, a "get/put" interface for retrieving and storing objects in their persistent disk-resident form, and physical organization controls for clustering and prefetching. Transactional Store Module: Interface from the Persistent Object Store Module to a backend long term, recoverable, typeless storage facility that supports an atomic distributed commit service. Persistent Object Management Module: Provide seamless access to persistent C++ and CLOS objects, via object faulting, and base-level support for query processing, for change management, and for extended transactions. Extended Transaction Module: Support cooperative work that builds on the lower level transactions in the Transactional Store Module to provide nested transactions, long transactions, and a check-in/check-out facility for persistent objects. Change Management System Module: provide support for versions and configurations of objects. Object Query Module: Support set-oriented queries on objects. Complex objects, objects identify, inheritance, and behavioral queries are supported by this module. The query optimizer will be open to allow extensions like semantic optimization, cooperative response, materialized views, and user-supplied indices. Data Dictionary Module: Provide run-time access to object schema (type/class) definitional information. Hypermedia Interface: Interface to an existing Hypermedia Interface Module to provide a way to browse, link, query, and change user-defined objects, demonstrating how a next-generation User interface Toolkit/Management System can couple with Open OODB. The Open OODB architecture will provide a framework for suppliers of these and future modules to plug in and out the modules. This will allow the builders as well as users of OODB technology to build a customizable OODB based on a "pay-as-you-need" philosophy. FURTHER INFORMATION TI is seeking community inputs that will help develop consensus on Open OODB specifications, interfaces, and modular and open architecture in support of C++ and CLOS applications. TI expects these inputs to come from database researchers, OODB implementors (prototype builders and commercial vendors), people involved in OODB standardization processes, and application developers planning to use OODB technology. If you are interested in helping form consensus on Open OODB, or would like to be kept informed about the progress on Open OODB work, please contact either Dr. Satish Thatte (Program Manager) or Dr. Craig Thompson (Principal Investigator). Dr. Satish Thatte Dr. Craig Thompson Computer Science Center Computer Science Center Texas Instruments Texas Instruments Dallas, TX 75265 Dallas, TX 75265 Phone: 214 995-0340 Phone: 214 995-0347 Fax: 214 995-0304 Fax: 214 995-0304 E-mail: Thatte@csc.ti.com E-mail: Thompson@csc.ti.com Bob Peterson Compuserve: 70235,326 Expressway Site, Texas Instruments Internet: peterson@csc.ti.com North Building, P.O. Box 655474, MS238 Landline: (214) 995-6080 2nd Floor, Dallas, Texas, USA 75265 CSC Aisle C3