University of Calgary
UofC Navigation

Research Specs

Submitted by admin on Wed, 01/20/2010 - 13:39.
Research Area: Object Oriented Databases

Note: Although this reports on past work in the object-oriented database area.This work has largely been absorbed in other projects. This section is left as it continues to be of interest and students interested in working in this area are encouraged to contact us after looking at the other research pages to see how this area now more commonly expresses itself.

Several aspects of object orientation are being explored by various ADSL group members currently. Current research involves essentially all aspects of the "distributed" objectbased system environment from applications views to detailed implmentation of the underlying system. Each specific area is briefly detailed below:

1. Objectbase Design

A substantial effort has been made at submitting objectbased systems to the same kind of rigorous "data" design undertaken in traditional relational databases. Techniques are being developed to fragment class objects both horizontally and vertically for a wide range of relizable class models that accounts for inheritenace, composition, and method invocation hierarchies. Current research is also investigating the best placement of the these fragments on a distributed platform using traditional imperative programming techniques and by exploiting simulated annealing as a heuristic technique.

2. Micro Kernel and 64-bit Architecture

We are currently attempting to develop our system on the basis of a 64-bit virtual address space using the Mach microkernel. The techniques being developed include the management of a large distributed address space and follows closely the work being undertaken at the University of Washington. This project is currently still in its early design phase but special attention is being paid to describing how such a system can support an persistent object oriented system.

3. Transaction Management

Concurrency control and reliablity have been investigated. Algorithms and an underlying theory have been defined for both the serializability and recoverability of transaction in an object based environment. Much of this work extends the fundamental work by Hadzilacos and Hadzilacos where a framework using view serializability is explored theoretically. Our work has demonstrated how their's can be restricted to the more realiazable scenario of conflict serializability and provides algorithms describing how the system could be implemented. Reliability has been explored by applying the work developed by Schek, Weikum and Ye (see PODS`93) which argues that a history is reliable if it can be "reduced". Our work has proposed algorithms for implmenting these systems and argued about its applicability in an objectbased system.

4. Static Analysis to Enhance Concurrency

Exploiting compile time information in a traditional database system is essentially unnessary because the form and kind of operations that can be performed on data is limited to those provided by the DBMS. For example, if you are using the relational model and SQL there is a fixed (small) number of operations that can be performed. Therefore, to optimize accesses to the data the problem can be handled by a query processor that is responsible for optimizing the requests based on a very small set of variables, most of which can be stored in a the data directory. Unfortunately, this is not possible in object oriented systems because the operations can be much more abstract and cannot be reasonably analyzed until compile time. The work performed to date has attempted to apply compiler technology to the very difficult problem of "method analysis" in an attempt to exploit their complex nature to increase the amount of concurrency. There is clearly a significant amount of work that can still be done here.