This preview shows page 1. Sign up to view the full content.
Unformatted text preview: resolution, etc. It uses, to a large extent, widely used constructs from the well-known ER model and leading OO models and combines object and value based modeling. It facilitates dynamic schema design and incorporation of knowledge in the schema in the form of rst-order rules in a way similar to DERDL 37] and DK model 38] respectively but in a much more e ective and sophisticated way. The choice of stressing inter-object association based on type constructors (e.g., relationships) provides exibility and practicality in schema design as opposed to models that stress inversion as the sole basis for de ning associations as in SDM 36, 63, 39], F-logic 47], etc. Finally, it guaranteed re-use of software components by adopting a exible notion of is-a hierarchy, where objects are organized at users' choice, but not based on types, or sub-superset relationships of property 102 inclusion. We then considered a simple and intuitive object-oriented logic called ORLog as a counterpart of the OR model and developed an elegant model theoretic and xpoint theoretic characterization of the semantics of its de nite clause fragment, accounting for multiple behavior inheritance with con ict resolution and overriding. We also provided a simple sound and complete proof theory. This was achieved by keeping the is-a hierarchy nite and static. While, compared to other logics such as F-logic, our language has limited expressive power, we have exploited the restricted setting and successfully captured the non-trivial concepts of multiple behavior inheritance within the model theory and a sound and complete proof theory, to our knowledge, for the rst time. On the other hand, our simple setting still admits a large class of practically useful programs. In addition, we have proposed the notions of locality, inheritability, and withdrawal of methods and signatures, as rst class concepts within the logic. These are useful concepts in their own right, as demonstrated earlier. We note that even though for the sake of simplicity, the proof theory was presented based on the closure of a program, in an actual implementation, it is really not necessary to compute the entire closure of a program. More precisely, it may be possible to compute only a small and relevant subset of the closure in order to prove a given goal. Similarly, the bottom-up xpoint computation can be made more e cient, by incorporating ideas similar to the well-known magic sets method 11]. We are currently investigating these and other optimization opportunities. We have completed a prototype implementation 43, 44] based on translation to Coral 65], and are working on a direct implementation. We are also investigating relaxations to the present restrictions on ORLog programs while still capturing behavioral inheritance within the logic. Although ORLog does not account for encapsulation, we show later in this chapter that encapsulation can be incorporated in ORLog as an orthogonal extension to the current proposal. We also developed a technique to reduce inheritance to pure deduction, and a translation of reduced ORLog programs to rst-order logic that can be exploited by several other languages for which a translational approach is critical to de ne their logical semantics and hence depends solely on this approach. This technique helped us implement ORLog in a rst-order deductive database system, such as Coral1. We
1 Note that Coral includes a few higher-order features too. 103 utilized this idea and implemented ORLog in Coral deductive database system as an object-oriented front-end. 7.1 Issues that are not Covered in this Thesis
Recall that the main focus of this thesis was to develop a logical semantics for behavioral inheritance, although we made provisions for other essential features of a complete object-oriented language to be included at a later time as an orthogonal extension. We will now discuss some of those missing features that we intend to carry on as our future work. Recall that in the OR model we introduced the idea of property re-introduction, accessibility and strati ed constraints. A formal de nition of accessibility can be found in 40]. While we leave the issue of accessibility and strati ed constraints as open issues, we can incorporate re-introduction by simply adjusting the de nition of inheritability function r as in Figure 7.1. Note that without developing a new syntax for re-introduction, in Figure 7.1 we use i-atoms to achieve the same e ect without any loss. The purpose of introducing the signature atoms was to utilize the signatures of properties to enforce \type safe" databases. We did not expand on this issue in this work. We can proceed to de ne well-typing and typed models in a way similar to F-logic 47]. We next discuss few other issues that we are currently investigating as our future work. 7.2 Future Work
Although ORLog has superior features compared to contemporary languages, it also has weaknesses, and hence there remains opportunities for furt...
View Full Document