This preview shows page 1. Sign up to view the full content.
Unformatted text preview: the exibility of modeling the database semantics at the users' choice. Change in object schema is not that simple, but is a lot more exible than contemporary SDMs and OO systems. Since the class hierarchy is not based on types, simple type changes and withdrawal can be accommodated with minor changes in the schema and without the restructuring of the classes and instances provided the database still remains well typed. Change in method implementations have no side e ects since it is local to the object where it is de ned. Since the is-a semantics is di erent than most of the SDMs and OO models, the semantics of hierarchy association update is also quite di erent. Note that an object in OR model has a unique id and has only one copy that is sliced in many di erent components. That means if an object o is in class q and q is a subclass of p, o does not appear as an explicit instance of p as it is of q, rather it is implicitly an instance of p. This is not the case in many SDMs and OO models. Hence if o is removed from q it is implicitly removed from all the superclasses of q automatically. Similarly if o is an explicit instance of p and q (multiple subclass), then it is the case that o is a single object as an instance of these two classes by de nition. This semantics also means that, if a property is deleted from or added to o, o does not require to be relocated in a class in the hierarchy where it ts best since the association is not type based. 33 Chapter 3 ORLog: A Logic Based Object-Oriented Language
3.1 Related Research and Motivation
In the recent years the database research community has made signi cant strides in combining the declarative aspects of deductive databases and the superior modeling capabilities of the object-oriented paradigm. Although the appeal of a combined model seems overwhelming, its logical rendition is not so easy. This is largely because of the presence of the concepts such as inheritance of behaviors, code reuse and overriding that are related to non-monotonic reasoning. Although overriding complicates the underlying theory to a great extent, it is a notion that makes the object-oriented paradigm interesting and useful. The issue gets further complicated when we allow multiple inheritance. We are then required to deal with inheritance con icts and as a consequence may have to settle for multiple minimal models at the declarative level, e.g., as in 47]. Current solutions that are proposed in the literature are based on non-monotonic reasoning 74], strati cation 22], program composition 20, 61, 62], etc. These proposals have been criticized due to the skepticism about their feasibility as an e cient computational platform. Behavioral inheritance has been studied in deductive formalisms like the Ordered Theories of 50], in modular languages such as Contextual Logic Programming 61, 62] and several others. However, the framework in which they accomplish this are quite narrow compared to the needs of object-oriented databases and languages. 34 Logic languages like LOGIN 3] and LIFE 4] incorporate structural inheritance by means of an extended uni cation algorithm for -terms, complex typed structures that are used for data representation. Kifer et al. 47] proposed an elegant logic, called F-logic, as a logical foundation for object-oriented databases. Only structural inheritance is captured in its semantics and proof theory, and for this component of the language it was shown to be sound and complete. However, completeness is achieved by taking a monotonic view of inheritance. Behavioral inheritance with overriding in F-logic is captured indirectly by a pointwise iterated xpoint construction. Flogic directly accounts for ground molecules (corresponding to values computed from method execution) being inherited down an is-a hierarchy. Code inheritance is left outside the language and has to be simulated by the programmer using higher-order features of the language and F-logic's pointwise overriding in a clever manner. Dobbie and Topor 29, 30] have developed a language called Gulog, inspired by a restricted fragment of F-logic. Gulog is function-free. For a restricted class of programs which are strati ed with respect to inheritance and deduction, and where schema and data are separated, and the schema is predetermined, they propose a sound and complete query evaluation procedure. They account for (con ict-free) multiple inheritance with dynamic overriding, by forcing the is-a hierarchy to be static. However, they only account for value inheritance and do not capture behavioral inheritance. There are some proposals that address the issue of behavioral inheritance but rely on a translation of an object-oriented logic program into a value-based conventional logic program. In this approach the insight into the meaning of inheritance and its interaction with deduction and overriding is lost, and there is little control on how the translated program would behave. OOLP+ 25] and L&O 58] are two such proposals which capture a few features of inheritance in a limited way. 3.2 Objectives of ORLog
The goal of t...
View Full Document