Font Size: a A A

Java binding of the ODMG standard

Posted on:2002-10-16Degree:M.ScType:Thesis
University:University of Windsor (Canada)Candidate:Tian, YeFull Text:PDF
GTID:2468390011999718Subject:Computer Science
Abstract/Summary:
The core of the ODMG (Object Database Management Group) standard is the ODMG object model. Two of them are important: OQL (Object Query Language) and ODL (Object Definition Language) [7]. The ODMG standard also includes bindings for well-known programming languages. Such bindings are defined for C++, Java, and Smalltalk [7]. However, there are some unforeseen and serious problems in matching OQL with the type systems of the programming language bindings of the ODMG standard. Runtime errors are generally more critical in database systems than in programming languages and systems. An expensive recovery procedure may have to be invoked just because of a type error.; In this paper, I consider the result that OQL queries cannot be type-checked in the type system underlying the ODMG object model and its definition language ODL. A really disturbing result is that OQL queries cannot be type-checked in the type system of the Java binding of the ODMG standard either. This problem has a solution within the framework of the Java type system, but it is not an attractive one. If explicit type casts, type-checking OQL queries become possible. However, it requires specifying redundant type information in a query. At the same time, type checking must be carried out dynamically, which is contrary to the intent of OQL and ODL. In contradistinction to the situation described above, a positive result established is that type-checking OQL queries presents no problem for a type system with the basic form of parametric polymorphism (universal type quantification). A corollary to this result is that the type system of the Java binding of the ODMG standard allows static type-checking of OQL queries. This is made possible if we add parametric polymorphism facilities to Java.
Keywords/Search Tags:ODMG, OQL queries, Java, Type, Object
Related items