UM Database Systems Research Group

The MultiView Project: Object-Oriented Database Tools for Supporting Complex Evolutionary Software Systems


Principle Investigator: E. A. Rundensteiner
Graduate Students: Young-Gook Ra, Viviane Taube, Harumi A. Kuno,Matthew Jones,Amy Lee
Undergraduate Students: Pedro Marron
Funding: NSF Young Investigator award, IBM, Intel, ATT, Illustra.

The MultiView project is an on-going five-year effort at the University of Michigan on developing object-oriented database view technology to address several important software problems. View mechanisms are a well-known technique for restructuring and re-partitioning the format of data, classes, and schemata so that applications can customize shared objects without affecting other applications' perceptions of the data (See Figure 1). Our goal is to develop view technology to address in particular the following problems: data warehousing (to construct customized virtual data collections derived from multiple distributed sources), heterogeneous system integration (to maintain an integrated view of disperse database systems using the powerful object-oriented model), customized tool integration (to support the smooth integration of software tools with diverse data representation requirements), and transparent schema evolution (to allow for changes of the shared object repository by different software applications over time without affecting other integrated programs).

While view mechanisms for conventional relational databases are well-established, views for newly emerging object-oriented databases (OODBs) are in their infancy. MultiView is one of the first OODB systems to support dynamic and updatable materialized object-oriented database views. MultiView is distinguished by a number of unique features, including the automatic incorporation of virtual classes into the global schema as first-class database citizens (allowing virtual classes to inherit properties just like base classes, thus resulting in effective reuse) and support for capacity-augmenting views (enableing virtual classes to add new extrinsic properties or behavior just like base classes, thus promoting extensibility). It incorporates incremental update propagation strategies for view materialization that take advantage of object-oriented modeling principles. Our experimental results demonstrate that these techniques achieve significantly improved performance for query processing, with only minimal overhead for processing updates.

The MultiView system has been fully implemented on a commercial OODB product, called GemStone (Gemstone is a trademark of GemStone Inc.) using the Smalltalk-based interface OPAL and is running on Sun sparc stations in the Software Systems Research Laboratory. We have developed a graphic user interface, called the MultiViewer, that is tailored to provide access to the system in an intuitive and user-friendly fashion. It displays global and view schemata in visually intuitive graphic windows, facilitates the creation of new virtual classes and view schemata, and provides an object-forms based interface for querying class extents and for data entry (see Figures 2 and 3). The current version of the MultiViewer is written in Tk/Tcl using C.

Our project is developing a suite of tools to apply and extend as needed the view technology to the problems outlined above. This includes the development of a tool to address the well-known software legacy problem, namely, the support of on-line modification of databases without disturbing existing applications. Our basic methodology to solve this problem is to integrate schema evolution and view support functionalities into one system. Our transparent schema evolution tool, TSE, built on top of the MultiView system, computes a new view schema that reflects the semantics of the desired schema change, instead of modifying the user's schema in place. The algorithms supported in TSE implement all schema evolution operations typically supported by OODB systems as view definitions. TSE restructures the underlying global schema and object representations as necessary to incorporate the desired change, and then generates customized view interfaces to make the modification transparent to the users. To the best of our knowledge, TSE is the first system to realize transparent change using view technology. TSEUs support for the graceful evolution of applications over time makes it a key component for advanced object-oriented development environments.

While the MultiView core system utilizes an object-preserving algebra for view specification, we are now exploring the extension of MultiView to handle arbitrarily complex transformations required by computer-aided design and other engineering applications. One example extension is the support for the virtual, selective flattening and unfolding of a hierarchical design graph extracting data representations customized for tools that require flat data sets, while still maintaining the space and performance gains of a compact hierarchical representation. These extended requirements impose a reexamination of the view definition language, the materialization strategies, update policies, as well as general models for distributed system update contracts. This extension of the core MultiView technology with advanced view types has the potential of offering a novel solution to the tool integration problem, likely to reduce the development efforts currently required of tool integrators and to increase the modularity of the resulting software environment.

The MultiView project is supported by several different sponsors, including by the National Science Foundation via a Research Initiation Award and a Young Investigator Award, by the University of Michigan Faculty Award Program, Intel, IBM, Illustra and AT&T. Numerous EECS students are and have been involved in the project, including Ph.D. students Harumi A. Kuno, Young-Gook Ra, Matthew Jones, and Viviane Taube, as well as several Master and undergraduate students. A more detailed discussion of the research issues of the project can be found in our ftp site at ftp.eecs.umich.edu in the subdirectory ~people/rundenst/papers. Information about this and other database projects on-going in the University of Michigan Database Group can also be found in our homepage http://www.eecs.umich.edu/~rundenst/umdg.html.

[back to Project Beginning Index]


[ Intro | People | Projects | Papers | Related Links | Calendar ]
last updated 06/30/95