This preview shows page 1. Sign up to view the full content.
Unformatted text preview: nt and what it entails. As we have demonstrated in the previous chapter and in the Figure 10 that ORLog has a direct and full rst-order declarative semantics. It also has a sound 72 and complete proof theory with respect to its model and xpoint theory. In this chapter we, however, develop a technique to reduce inheritance to pure deduction. We also develop a rst-order encoding algorithm to show that ORLog is rst-order encodable. We prove that the encoding is sound and complete. This is not, in particular, indicative of a lack of semantics of the ORLog language itself in any way. This exercise, however, is crucial in several respects. First, we are about to make a design decision for the implementation of ORLog that requires us to investigate ways to implement object-oriented features in deductive database systems by purely deductive means. Secondly, it is essential that we show that ORLog has a rst-order encoding to convince the critics that although ORLog has a higher order syntax that boosts its modeling capability, its semantics and expressibility are equivalent to rst-order logic. Finally, the reduction technique would bene t a large population of systems that are proposed without a clear semantics of inheritance. Due to the non-monotonic nature of inheritance and associated notions of overriding and late binding, most of the translation based proposals do not address this issue or capture them procedurally in a not so intuitive way outside the logic. Some advanced proposals are based on negation semantics, and thus associate a large cost on query answering. It is our opinion that a technique similar to ours can be adapted in many systems that fall short of capturing inheritance logically. 4.1 Related Research and Motivation
In this section we brie y discuss few representative systems that rely on a translational semantics or capture features by non-logical means. The point we would like to stress here is that these systems, like several others, depend on a translational semantics and lack a logical interpretation of its features. Thereby they undermine their status as a purely declarative language. The suit of research in 1, 23, 71] extend Datalog like languages to incorporate object-oriented features. These proposals are conservative in that they exploit what has been achieved in deductive systems and provide an object-oriented shell that eventually make use of the deductive layer underneath. These proposals support limited modeling facilities and provide a rather narrow vision of object-orientation. Coral++ 71] is essentially an object-oriented interface to the deductive system 73 Coral 66] in which C++ objects can be accessed from Coral using linguistic extensions provided by Coral++. Clearly, this system introduces non-uniformity in the users view of the applications leading to the so called impedance mismatch problem. IQL+ 1] barely addresses the issue of inheritance. In particular, it does not cater for multiple inheritance and behavioral inheritance. In contrast to the above proposals, OOLP+ 25], OIL 76], Logical-objects 13], and LLO 56], for example, rely on mappings to deductive systems to give a semantics to their language and for de ning an implementation strategy as well. OOLP+ provides a mapping to Prolog but lacks a clear semantics for inheritance. Overriding seems to be a limiting factor for this language. Since it relies on Prolog, it is essentially incapable of query optimization for which deductive systems are well-known. OIL and Logical-objects are mapped to LDL. LLO is inspired by F-logic and HiLog, and capitalizes on its higher-order syntax. LLO is built around the data model of O2 and is also LDL translatable. Though inheritance is made part of this language, it is not at all clear how inheritance is handled in this framework. All these systems though appear to take a practical route, they su er from complementary or similar drawbacks as in the extended Datalog approach. Another interesting approach can be witnessed in proposals like ROCK & ROLL 10] and ConceptBase 45] where language integration is the key. ROCK & ROLL is more akin to translation based approach where it provides means for procedural (ROCK) as well as declarative (ROLL) speci cation of objects, methods, etc. The language is based upon a data model called the OM 10] where the two sub languages ROCK and ROLL, interact. ROCK allows schema declaration and data manipulation facilities and is implemented in E (extension of C++). ROLL is a function free typed Horn clause language. This language is strongly typed and allows mechanisms for static type checking. Although it gains from the integration of procedural and deductive languages through separation of logic and control, ROLL's dependence on ROCK is a real bottleneck. ConceptBase is based on the language Telos 45] and also features a co-existence of deductive and object-oriented layers in a single system. Very recently, the Peplomd 26] has also taken this language integration...
View Full Document