TIGUKAT: A uniform behavioral objectbase management system

M. Tamer �zsu, Randal Peters, Duane Szafron, Boman Irani, Anna Lipka, Adriana Mu�oz
1995 The VLDB journal  
We describe the TIGUKAT objectbase management system that is under development at the Laboratory for Database Systems Research at the University of Alberta. TIGUKAT has a novel object model whose identifying characteristics include a purely behavioral semantics and a uniform approach to objects. Everything in the system, including types, classes, collections, behaviors, functions as well as meta-information, is a rst-class object with well-de ned behavior. In this way, the model abstracts
more » ... hing, including traditional structural notions such as instance variables, method implementation and schema de nition, into a uniform semantics of behaviors on objects. Our emphasis in this paper is on the object model, its implementation, the persistence model and the query language. We also (brie y) present other database management functions that are under development s u c h as the query optimizer, the version control system and transaction manager. 1. It has a purely behavioral object model where the user (a person or an application program) interacts with the system only by applying behaviors to objects. In this way, full abstraction of modeled entities is accomplished since the users do not have to di erentiate between attributes and methods. 2. Its object model is uniform. Everything in the system, including types, classes, collections, behaviors, functions and meta-information, is a rst-class object with well-de ned behavior. Thus, there is no separation between objects and values so the schema information is a natural part of the database that can be queried just like other objects. 3. This uniformity extends to other system entities (e.g., queries, transactions, views) which are treated as objects that can be created, stored, manipulated and queried like a n y other object. Two di erent approaches have been followed in the development of OBMSs. The rst approach i s t o adopt the type system of an object-oriented programming language as the object model of the OBMS. For example, ObjectStore LLOW91] adopts the type system of C++ Str86] while Gemstone BOS91] follows the type system of Smalltalk GR83]. The second alternative is what is known as language-independent or generic object models where the OBMS de nes its own object model and appropriate mappings are provided from languages to this object model. TIGUKAT follows the second approach as does, for example, O 2 Deu91]. A database programming language is being designed that is tightly integrated with the TIGUKAT o b j e c t model. In addition, mappings will be provided from other programming languages. TIGUKAT is an experimental system that is under constant d e v elopment and revision. We h a ve, therefore, chosen to follow an extensible system design approach. The uniformity of the model, which treats all system entities as objects, is the basis of TIGUKAT's extensibility. The general architecture of the system is depicted in Figure 1 . To date, most of the development and implementation work has concentrated on the object model, the query model, and the implementation of query languages. The architectural framework of the query optimizer has also been developed Mun93], however the details of the optimizer (e.g., the full set of transformation rules, the detailed cost functions) have y et to be implemented. The organization of the paper is as follows. We start, in Section 2, with an overview of the TIGUKAT object model, presenting the primitive t ype system. We include an example database application design to demonstrate the features of TIGUKAT. Section 3 describes some of the more important implementation design decisions and the approach w e h a ve taken. This is followed, in Section 4, with a description of the persistence model of TIGUKAT. Section 5 presents the query model with emphasis on the user-level languages. A more detailed description of the object and query models are given in PL OS93a, P et94]. In Section 6, we provide a brief overview of our approach t o p r o viding the common database management functions such as query optimization, version management and transaction management. Finally, in Section 7 we end with a discussion of our future research directions.
doi:10.1007/bf01231644 fatcat:mjzkthpxnnfcda4n3lvy4nu7d4