Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
00001.tif
(USC Thesis Other)
00001.tif
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
TIM E IN OBJECT DATABASES by Niki Pissinou A Dissertation Presented to the FACULTY OF TH E GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (Computer Science) December 1991 Copyright 1991 Niki Pissinou UMI Number: DP22829 All rights reserved INFORMATION TO ALL USERS The quality of this reproduction is dependent upon the quality of the copy submitted. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if material had to be removed, a note will indicate the deletion. UMI DP22829 Published by ProQuest LLC (2014). Copyright in the Dissertation held by the Author. Dissertation Publishing Microform Edition © ProQuest LLC. All rights reserved. This work is protected against unauthorized copying under Title 17, United States Code ProQuest LLC. 789 East Eisenhower Parkway P.O. Box 1346 Ann Arbor, Ml 48106- 1346 UNIVERSITY OF SOUTHERN CALIFORNIA THE GRADUATE SCHOOL UNIVERSITY PARK LOS ANGELES, CALIFORNIA 90007 This dissertation, written by under the direction of h.f.f. Dissertation Committee, and approved by all its members, has been presented to and accepted by The Graduate School, in partial fulfillment of re quirements for the degree of Niki Pissinou DOCTOR OF PHILOSOPHY Dean of Graduate Studies D a te December k , 199] DISSERTATION COMMITTEE Chairperson Alexander... asked him, [Diogenes] if he lacked anything. “Yes, ” said he, u that I do: that you stand out o f m y sun a little. ” Plutarch, Life o f Alexander, 14 To M y Family i \ ! i 1 A cknow ledgem ents W hat can I say about these past few years? That they were full of chal lenges, achievements and disappointments. That they were the best and the worst of chaos. But Aristotle once said “suffering becomes beautiful when ] anyone bears great calamities with cheerfulness, not through insensibility but ! through greatness of mind.” The support and friendship of various people however, sustain me through the rough passages of the last few years. So, it 1 gives me great pleasure to acknowledge and thank those who have helped me i over various obstacles in the course of my graduate studies and professional j development in general. ! Dennis McLeod was the chairperson of my dissertation committee. I would ■ like to thank the other members of my committee, Rick Hull and Victor Li. Rick | deserves my very special thanks for all the support and enlightening discussions j I he provided at various stages of my work. I would also like to thank them for j their reading of early drafts of this thesis. Kia Makki played a vital role during my studies and in the development of my work. I am deeply indebted to Kia for his professional guidance, technical iv : advice and support during the research and writing of this thesis. His excellent suggestions and criticisms were enormously helpful. Few people could have stood the incessant explanations of my work as well as he has. My thanks also | goes to Seymoure Ginsburg and Alice Parker. Together with other members of ! this and other universities, they have been very helpful and supportive during a particularly painful and hard stage. All my friends here at USC (numerous to name one by one,) also deserve my special thanks for their support and I friendship and for providing a pleasant working environment. j i i I would like to thank the Department of Computer Science for the T.A. | I support they provided during my tenure at USC. Also, I would like to thank the National Science Foundation for funding my Ph.D. qualifier proposal (un- j der grant number IRI 9021028.) It was in this proposal th at I first formally , introduced to the “outside world” my thesis topic and ideas th at I had inde- j ! pendently originated, formulated, developed and subsequently expanded. j In a more special and endearing way, I would like to thank my family, to whom this work I dedicate. I would like to convey the depth of my gratitude j I towards my parents for their unflagging patience, love, encouragement and | confidence in me. They helped me both financially and morally throughout I this work in more ways than can be counted. They were a source of strength, j inspiration and true friendship in difficult times. ! I My warmest thanks and love goes to Kia, for his enthusiastic encourage- ! ' j m ent, emotional support and counseling, tolerance, understanding and love. i j v i Once again he has shown me the true meaning of unending love and trust and friendship. Thank you Kia, for being my friend when I needed one most, for challenging me when I was over confident, for encouraging me and believing in j I me when I was doubting myself, for making me laugh when I wanted to cry and for standing by me, and with me all these years. In your thesis you wrote, “May I be as supportive during her thesis writing...” And indeed you were... I and a lot more! ; Georgia Pissinou and Nondas Ioannou also deserve my very special thanks for their advice, counseling and emotional support offered generously, warmly and wisely throughout my studies. ; i If I were to name the ideal dog, it would be Toup-Tek, my dog. So last but ! not least, I would like to thank him, for his unconditional love and friendship. ! Our long daily walks together were very helpful in the formulation, clarification ■ and development of lot of my ideas! vi C ontents D edication iii Acknowledgem ents iv List Of Figures xiii A bstract xv 1 Introduction 1 1.1 Thesis G o als......................................... 4 1.2 Overview of the A p p ro a c h ..................................................................... 7 1.2.1 Research D esign.......................................................................... 8 1.2.2 Temporal Object S e m a n tic s ................................................... 10 1.2.3 A Core Temporal Object M o d e l............................................ 13 1.2.4 Extending an Object Model to Support T i m e ................... 15 1.3 Target Application E n v iro n m en ts....................................................... 18 vii 1.4 Scope of T h e s is ................................................................... 21 1.5 Organization of the T h e s is .................................................................... 23 2 Research C ontext 25 2.1 Database M o d elin g ................................................................................. 26 2.1.1 Conventional Database Models ............................................ 27 2.1.1.1 Limitations of Record Based S ystem s.............. 29 2.1.2 Object Oriented D ata M o d e ls ............................................... 31 2.1.2.1 Fundamentals of Object Oriented Database Mod els .............................................. 34 2.1.2.2 A Core Object Model ............................................. 34 2.1.2.3 Extensions to the Core M o d e l........................... 36 2.1.2.4 Existing Object Oriented Systems ...................... 37 2.2 Time in D a ta b a s e s ................................................................................. 42 2.2.1 Temporal Relational D a ta b a s e s ............................................ 42 2.2.1.1 A Taxonomy of Databases Supporting Time . . 46 2.3 Concluding R e m a rk s .............................. . ........................................... 49 3 Temporal O bject Sem antics 50 3.1 Temporal Principles................................................................................ 52 3.2 Temporal Semantics................................................................................. 57 3.2.0.2 Concepts and Definitions ...................................... 57 3.3 Temporal Abstraction M e c h a n ism s.................................................... 64 viii 3.4 Temporal M appings................................................................................ 67 3.4.1 Object Migration M a p p in g s .................................................... 69 3.4.2 Historical Mappings .......................................................... 74 3.4.2.1 Existence M a p p in g s ................................................ 75 3.4.2.2 Single Object M a p p in g s ......................................... 77 3.4.2.3 Inter-Object Lifespan Existence Relationships . 84 3.4.2.4 Inter-Object Lifespan R elationships..................... 90 3.5 Concluding R e m a rk s ............................................................................. 96 A Temporal O bject M odel 97 4.1 Modeling C o n s tru c ts .......................................... 99 4.1.0.5 Temporal Objects ...................................................... 100 i 4.2 Temporal A c tio n s 103 ! 4.2.1 Create Operations 104 , i 4.2.2 Attach and Exist O perations.......................................................106 | 4.2.3 Temporal Migration O p e ra tio n s 107 ! 4.2.4 Temporal Evolution O p e ra tio n s............................................. 109 4.2.5 Historical O p eratio n s.................................................................... 109 4.3 Temporal C onstraints............................................................................... 113 4.4 Concluding R e m a rk s ........................................................... 118 i The Temporal 3DIS M odel 120 ! 5.1 A Specification of the 3DIS .................................................................. 122 5.2 One Approach to Extending the 3 D IS ..................................................125 5.3 The Temporal 3DIS M o d el......................................................................126 5.3.1 The Design of T - 3 D I S ................................................................127 5.3.2 Modeling C o n s tru c ts ...................................................................128 5.3.2.1 Temporal Objects .......................................................132 5.3.2.2 Update P ro p a g a tio n ................................................... 137 5.3.3 Abstraction Mechanisms .................................................. 138 5.3.4 Temporal Specification Operations ........................................ 141 5.3.4.1 C R E A T E ....................................................................... 142 5.3.4.2 A T T A C H -U O I............................................................. 142 5.3.4.3 DEFINE .......................................................................143 5.3.4.4 R E L A T E .......................................................................144 5.3.4.5 U N R E L A T E ................................................................ 144 5.3.4.6 A R C H IV E ....................................................................145 5.3.4.7 Additional Tailored Temporal Operations . . . 146 5.4 The Geometric Representation Space of T - 3 D I S .............................150 5.5 Concluding R e m a rk s ............................................................................... 152 6 Experim ental P rototype 154 6.1 Features of the Prototype ..................................................................... 155 6.2 System Design Configuration..................................................................156 6.3 System A rc h ite c tu re ............................................................................... 159 x 6.3.1 User Interface M o d u le ................................................................ 162 6.3.2 Transaction Processing E n g in e...................................................163 6.3.3 Query Processing E n g in e.............................................................163 6.3.4 Time Manager ..............................................................................165 6.3.5 Constraint Manager ....................................................................167 6.3.6 Rule M an ag er................................................................................. 168 6.3.7 Temporal Evolution M o d u le ...................................................... 170 6.3.8 Dictionary M anager....................................................................... 171 6.3.9 Object M anager..............................................................................171 6.3.10 Storage M a n a g e r .......................................................................... 172 6.4 D ata S tru c tu re s...........................................................................................172 6.5 Concluding R e m a rk s .................................................................................176 7 Conclusions and Future Work 178 7.1 Summary of Our W o rk ........................... 179 7.1.1 Contributions of Our W ork..........................................................181 7.1.2 Impact of Our W o r k ....................................................................184 7.1.3 Directions For Further R esearch ................................................186 7.1.3.1 Theoretical F o u n d atio n s............................................. 186 7.1.3.2 Temporal Query L a n g u a g e s...................................... 187 7.1.3.3 Performance ................................................................. 188 7.1.3.4 User In te rfa c e s ..............................................................188 xi 7.1.3.5 Temporal Inferencing and Deductive Databases 190 7.1.3.6 The Multi Database Context .......................................191 7.2 Concluding R e m a rk s ..................................................................................193 A ppendix A A p p e n d ix .............................................................................................................. 195 Bibliography 196 xii i List O f Figures 3.1 An Example illustrating the uncertainty abstraction primitive . 66 3.2 An Example illustrating the temporal abstraction primitive . . . 68 3.3 A transition from a UOI to a different U O I .......................... 70 3.4 A transition from a UOI to a P O W ........................................ 71 3.5 A transition from one POW to another P O W ............................... 72 3.6 A transition from one POW to a U O I . . . 73 3.7 A Conceptual Representation of e x is t_ s ta rts ....................... 76 3.8 A Conceptual Representation of exist_finishes .................... 77 3.9 A Conceptual Representation of exist_after.......................... 78 3.10 A Conceptual Representation of exist_during....................... 79 3.11 A Conceptual Representation of sam e.tim ejstart................. 80 3.12 A Conceptual Representation of p ast_history....................... 81 3.13 A Conceptual Representation of fu tu re Jiisto ry .................... 82 3.14 A Conceptual Representation of concurrent J i i s t o r y ..................... 83 3.15 A Conceptual Representation of lifespan_meets.................... 84 xiii 3.16 A Conceptual Representation of lifespan_overlaps....................... 86 3.17 A Conceptual Representation of lifesp a n .d u rin g .......................... 87 3.18 A Conceptual Representation of lifespan_equals.......................... 88 3.19 A Conceptual Representation of lifespan_starts............................. 89 3.20 A Conceptual Representation of m e e t s ........................................... 90 3.21 A Conceptual Representation of life b e fo re .................................... 91 3.22 A Conceptual Representation of life q u a ls........................................ 92 3.23 A Conceptual Representation of life sta rts........................................ 93 3.24 A Conceptual Representation of lifefinishes.................................... 94 3.25 A Conceptual Representation of life o v e rla p s................................. 95 5.1 Graphically representing temporal in fo rm atio n ...................................151 6.1 System Design Conceptual L e v e ls ............................................ 158 6.2 System Architecture Levels....................................................................... 161 6.3 The Transaction Processing E n g in e ...................................................... 164 6.4 The Time M a n a g e r.................................................................................... 166 6.5 The Constraint M a n a g e r...........................................................................167 6.6 The Rule M a n a g e r .....................................................................................169 A bstract I i ! This dissertation identifies, explores, and provides an approach to handling temporal information in object databases. The research specifically involves the design, development and experimental demonstration of a model that integrates tim e with object databases. This model is the first step towards the synthesis of an integrated object model that supports the temporal aspects of data modeling in addition to the structural and dynamic ones. We study the semantics of tim e ! in the context of object databases and identify the temporal aspects of objects ! and changes to existing notions of temporal data that are necessary because of the transition from the relational to the object model. Our approach leads to \ I the precise characterization of the properties of temporal objects and provides a j i I means of augmenting the data modeling power of the object model, particularly ! i versions, with temporal modeling concepts. I i To provide a specific context for our approach, we define a framework for I a simple temporal object model. This model addresses tem poral problems at ; I the finest possible level of data granularity, viz., the object level. The model provides a user with the basic primitives for tem poral object definition, ma- I nipulation and retrieval. A set of generic temporal constraints is also defined. The primitive operations of this model may be used as the basis for the spec ification and stepwise development of database models and database systems of increasing complexity. To demonstrate this, we concentrate on extending a specific rich, extensible object database model to incorporate our new no- ! tions. An experimental database system prototype has been implemented for validation. I The approach to temporal object databases devised here can be utilized in several contexts. In particular, these temporal object notions can be applied to I the problem of object and schema evolution. One result of this should be insight | into dealing more effectively with the integration of version databases with ; i temporal databases. The class of application environments for which our model j and approach are suitable and useful includes time-dependent applications or systems th at require some form of action, such as design engineering, office information, medical information, and artificial intelligent systems. i C hapter 1 Introduction i i “ No army can withstand the strength o f an idea whose time has come” I V. Hugo j j There are currently many data models th at have powerful modeling con- j structs designed to make the tasks of database design, evolution, and manip- j ulation simple and easy for database designers and users [1, 10, 26, 27, 84, i 96, 99, 109, 167]. But most of these models do not provide adequate support I for representing temporal information. Traditional database management sys- { terns th at embody these models are therefore limited in their ability to directly ’ record and process time-varying aspects of the “real world.” Such databases represent only “current facts.” They do not incorporate the concept of tim e or j 1 provide support for the representation of temporal information. For example, I t I l a database records only the most current value of an object’s attributes, and when those values change their previous values are erased. There has been growing awareness among researchers of the importance of recording historical information in a database [22, 45, 64, 66, 86, 114]. W ith these approaches, more complete information of the dynamics of a database’s application environment is retained. The vast m ajority of research on tem po ral database systems is on relational and pseudo-relational database models, and has focused on the extension of such models to incorporate time. Little attention has been given to the temporal aspects of objects for semantic and object database models.1 This research provides a step towards exploring, identifying and defin- J ing the necessary concepts and techniques for incorporating tim e in object databases and provides a concrete experimental framework for demonstration ' thereof. The research specifically involves the design, development and exper- J imental demonstration of a model th at integrates time with object databases. 1 Our work presents the first step towards the synthesis of an integrated object i model that supports the temporal aspects of data modeling in addition to the ] structural and dynamic ones. This model is intended to be both a valuable 1 tem poral model in its own right, as well as a mechanism for describing and | analyzing tem poral extensions to other database models. 1 We use the term “object database” to refer to one which incorporates such character- ; istics as individual object identity, explicitly semantic primitives, active objects and object uniformity. ! 2 ; i i As a consequence of identifying this new research area, we first describe the central research questions involved. We then concentrate on the semantics of tim e and on identifying changes to existing notions of temporal data that are necessary because of the transition from the relational to the object model. This allows us to capture aspects of temporal object database design th at are not amenable to description by current database models. It also leads us to defining new notions and abstraction mechanisms for providing a natural and convenient mechanism of characterizing and representing temporal objects, i Our approach leads to a precise characterization of the properties of temporal : objects and may provide a means of augmenting the data modeling power of ! I the object model, particularly versions, with temporal modeling concepts. j A m ajor aim of our research is to achieve an integration of the abstract i concepts that were assumed to characterize temporal objects. To provide a spe- i t cific context for our approach, we develop a simple, core temporal object data model. The main purpose of this model is to provide a basic framework for tem poral object information modeling. The model addresses temporal problems at ' I the finest possible level of data granularity, viz., the object level. It provides a I user with the basic primitives for temporal object definition, manipulation and | i retrieval. The primitive temporal modeling constructs and operations of our model , I can be used as a basis for extending existing object models to support tem po ral data and the evolution of temporal data. To dem onstrate this, we extend I 3 i rich, extensible object database model the 3DIS (3 dimensional information j i I space) [10] to support temporal data and the temporal evolution of data. Our j j approach consists of designing a temporal 3DIS model and developing a frame work for extending an existing experimental prototype for validation of our work. The geometric space representation of the 3DIS seems to be a natural j environment for adding time. This space is a 3-dimensional geometric represen- j ! tation of information triplets (domain object, mapping-object, range-object); triplets are used to model all m eta-data. The remainder of this chapter is organized as follows. Section 1.1 contains j a statem ent of primary research goals. Section 1.2 presents an overview of the approach taken for supporting temporal data and the tem poral evolution of 1 objects and is followed by a discussion of the target application environments i of our approach. Section 1.4 specifies the scope of this thesis including an I outline of several limitations of this research. Section 1.5 is a guide to the subsequent chapters of this dissertation. i 1.1 T hesis G oals \ One of the problems faced by existing models is their weak expressiveness of the representation of events and the external world and the representation of j 1 tem poral information. Typical database systems that embody these models, j I i support the storage and retrieval of “facts” about the world and certain ag gregation and operations on them, but do not perform operations on either ! perception to map situations in the world into database contents or tempo- i ral operations. In view of this, a strong interest of ours is in developing a model th at represents realistic worlds. The key observations motivating this development are the following: • A realistic world most often supports some notion of time; j I • Very few events and actions are instantaneous - most such events and i actions take time; j I • More than one event or action may occur at the same time; I i • Different people may have different views of the same information in the J universe at a given tim e (or sequence of times) with different and possibly ' conflicting semantics; • An object can have different roles and behave differently at different times i or even at a specific time; j j • Most actions involve a complex ordering of tem poral constraints. , Of these problems, the most central is th at of dealing with the temporal representation of worlds. In consequence, a m ajor goal of this research is to 1 i provide the underlying principles and foundations for the support of such mod- I els. In particular, our overall goal here is the design and experim entation of J 5 I i a higher level temporal object database model th at will enable the database designer to naturally and directly incorporate the semantics of tim e into a con ceptual schema. Such a “temporal object database” description and formalism j t is intended to serve as a natural application modeling mechanism to capture and express the temporal aspects of the application environment in addition to the structural and behavioral ones. i To achieve this goal, we need to first study the semantics of tim e in the | i context of object database systems, and to identify changes to existing notions j of temporal data th at are necessary because of the transition from the relational | to the object model. This is necessary because the bulk of currently known tem poral data modeling techniques have been developed to meet the needs of what i may loosely be termed “adm inistrative” or “business” databases. These occur j in enterprises characterized by the repetitious performance of well-understood ! I information processing tasks on large quantities of data having a uniform struc- i i I ture, namely relational database systems. As such, a second goal of this work is to identify such changes, study the temporal aspects of objects and precisely i characterize their properties. ! Yet another emphasis of this work is on a specification approach to mod- j ifying and extending an archetype extensible object database model, to incor- 1 porate notions of time. This allows us to show th at our abstract temporal j 6 concepts and definitions can be used in general to augment the data model ing power of the object and semantic modeling concepts, particularly versions, , I with temporal modeling concepts. The final goal of this work is to apply tem poral notions to the problem of object and m eta-data (conceptual schema) evolution [107, 121]. By including the semantics of temporal aspects of objects into the database schema we in tend to provide the added functional capability of supporting the independent ; existence of a temporal object database, apart from the application programs and systems that manipulate it. i f I 1.2 O verview o f th e A pproach As noted above, this research involves the design, development and experimen- ; tal demonstration of a model th at integrates tim e with object databases. The j integration of tim e with objects is a complex problem, and our system is a ' complex system that isolates several of the functionalities needed. In this sec- I tion, we give an overview of our research. First, we present the principles th at j our model should adhere and describe the temporal characteristics of objects. i I Next, we provide an overview of a core temporal object model and illustrate 1 how aspects of this model can be incorporated into an existing non-temporal i I object database system. For validation and simulation of our theoretical work, an experimental prototype of our database system has been implemented using | 7 : _i current object-oriented programming technology and running on Sun 4 work stations and tested on small personal databases. In the remainder of this section, we first isolate the central issues unique to this area, give an overview of our new notions of temporal object semantics, present our core object model and describe the tools th at our system supports to facilitate the integration of time with objects. We also provide an overview of the tem poral 3DIS database model. 1.2.1 R esearch D esign Since our work has identified a new research area and has uncovered a number of problems unique to temporal object databases, this section aims at describing the features of the proposed research design. We briefly describe our overall research objectives and isolate several open problems unique to this work. In general, the research described in this thesis has three main objectives: • To study the semantics of tim e and develop a set of temporal principles to be used as an underlying basis for the design of our temporal model; • To study the temporal aspects of objects and develop a model for integrat ing tim e with objects, and to provide a necessary theoretical foundation for the proposed model; • To augment the data modeling power of the object and semantic modeling concepts, particularly versions, with temporal modeling concepts. I The integration of tim e into an object database management system raises several fundamental and intriguing open questions 2 such as: • W hat constitutes a temporal object model? • W hat are the temporal aspects of objects and what properties of an object are essential to its existence independent of time? • W hat are the temporal inter-object relationships? How can different ob jects be related with respect to time? W hat approaches can be employed to deduce temporal relationships? How can the tem poral behavior of relationships be represented? How can one object find another? • W hat constitutes temporal constraints? • W hat approaches can be employed to identify generic tem poral queries? • W hat types of temporal queries can be expressed and what query pro cessing techniques are appropriate? • How do we easily and directly determine the lifespan of an object i.e. when the object existed or the duration of its existence? How do we determine the times of creation and modifications of an object and its associated relationships? How can we easily derive information on the duration of existence of an object and its associated relationships? 2The questions raised here are not exhaustive but provide an insight into the complexity and the significance of the problem. 9 : • How do we accommodate the evolvability of the m eta-data (conceptual schema) of a database over time? How can a schema be refined to bet ter characterize reality as it is reflected over tim e (i.e. how do we best describe a schema as it evolves over time)? • How do we describe the structure of an object as it evolves over tim e and across its multiple representations (i.e versions and history)? How do we I characterize time with respect to versions and object migration? How do we handle object migration and multityping? To achieve our research objectives and provide some possible solutions to j I the questions we have raised earlier on, an appropriate data model th at is rich of j I i temporal semantic evolvability is essential. As such, it is necessary to study the j semantics of tim e in the context of object databases and define new modeling concepts to capture the temporal aspects of design that are not amenable to description by data models th at were developed in the context of non temporal database systems. ! I 1.2.2 T em poral O b ject Sem antics ! i The transition from a temporal relational to a temporal object model necessi- ! tates changes to existing notions of temporal data. As a consequence, we need i to study and identify the general temporal aspects of objects at the finest level 10 | i of data granularity, viz., the object level. But before we can proceed any fur ther, it is im portant that we examine the characteristics of a temporal object model. To this end, we have developed a set of principles to which our model ! j must adhere. Through these principles we have established a set of metrics for determining what constitutes a temporal object model. Therefore, this set can be used in general to evaluate any arbitrary temporal object database system. These principles which are defined in chapter 3 are listed immediately below: J i I { 1. Temporal Extension Principle j 2. Temporal Evolution Principle 3. Temporal Consistency Principle ' 4. Temporal Representation Principle j i I 5. Temporal Incompleteness Principle j 6. Temporal Abstraction Principle 7. Temporal Inference Principle , I 8. Temporal Derived D ata Principle ; To satisfy these principles, it is necessary to focus on the semantics of time j in the context of object databases and to define a new set of abstract concepts | to precisely characterize the temporal properties of objects. In this regard, ! 11 i we have identified a small number of generic modeling concepts underlying temporal objects and defined several new notions and abstraction mechanisms t which provide a natural and convenient way of representing tem poral data. To describe the structure and temporal behavior of an object as it evolves over tim e and across its multiple representations we introduce the notions of a I universal object identity and possible object worlds. P ut together these notions j I allows us to describe the meaning, characteristics, properties, temporal behav- ! ior and role of each individual object at different times and at a particular j I point in time. It soon becomes obvious that the universal object identity of an | object can be derived from all its possible object worlds at all different times ! with respect to our model and the world we are modeling, by taking the union \ of possible object worlds over time. j i The notions of a “universal object identities” and “possible object worlds” i I lead to several other definitions which are introduced in chapter 3. It also leads to questions of whether or not existing abstraction mechanisms such as generalization and classification are sufficient for describing and representing a j tem poral object. We argue that these two abstraction mechanisms are not suf ficient. In consequence, we introduce two new abstraction mechanisms. They are: the temporal uncertainty abstraction primitive and the temporal abstrac- j I tion primitive. The tem poral uncertainty abstraction primitive encompasses , the probability of an object having a possible object world, while the process 1 of temporal abstraction enhances the tim e dimension of possible object worlds by allowing individual possible object worlds to be classified into time slices. An im portant goal of a temporal object model is to support the temporal evolution of objects. W ithin this context, several kinds of im portant temporal I evolution principles have been studied. We specifically study two classes of j mappings, namely object migration mappings and historical mappings. The first class supports the temporal evolution and migration of objects while the later supports the historical evolution of objects. Such kinds of tem poral evolution , ! can be termed as “high level temporal evolution” accordingly. In order to ! understand the nature of the temporal evolution of objects, our core object ! I model described in the next section has been deliberately defined to be as j i simple and generic as possible. 1.2.3 A C ore T em poral O b ject M od el A m ajor aim of our research has been to achieve an integration of the abstract concepts th at were assumed to characterize temporal data. In order to achieve ■ this goal, these abstract concepts are mapped to a simple object data model, and thus articulated as concrete concepts. This provides a specific context for I our approach described in the previous section. It also allows us to define a con- | ceptual framework for a simple temporal object model. This model addresses j j temporal problems at the finest level of data granularity, viz., the object level. 1 13 i i l i The model is based on a small number of simple temporal constructs and primitive tem poral operations. The simple set of modeling constructs of this j model, viz., temporal objects and temporal mappings draw from the concepts defined in the earlier phases of our work. In the model, tem poral mappings are also regarded as temporal objects, and can therefore exist independently of the tem poral objects they associate. Such an approach presents a more consistent and uniform view of all database temporal objects, and provides the user with simpler tools to define, manipulate, and query database information of any j kind and at any level of abstraction. ! The model’s operations are embedded within a host programming language | in which high-level database applications can be written. The host language ■ must support data types such as objects, sets, identifier, and the usual set . operations. The primitive operations are themselves stored as temporal objects in the database. This approach enhances the flexibility and functionality of a ! temporal information system. The core temporal object model allows a user I to add new temporal objects to the database, to retrieve temporal objects and their histories from the database, to evolve temporal objects, etc. Even though a set of temporal constraints which can be applied on the mappings or the tem poral objects has also been developed, the core tem po ral object model only provides limited integrity control. For example, it is possible to create meaningless temporal relationships and there are no built-in J mechanisms for assigning possible object worlds to objects. j I 14 A substantive experimental prototype of our temporal object database sys tem has been implemented using current object-oriented programming technol ogy and running on Sun 4 workstations and tested on small personal databases. 1 The prototype environment uses the ideas we present to support temporal ob jects and the evolution of temporal objects. In particular, it tests the validity of our paradigms for analysis proposed in the conceptual portion of the thesis. The prototype system itself presents an advancement of “existing” temporal j 1 object system development and maintenance support technology. j The prototype system does not implement all the concepts discussed in the conceptual framework. For example, detailed verification of properties of j j evolving objects and object equivalence require sophisticated tools and much i research before incorporating them into the environment. Notwithstanding • i its limitations, the prototype provides im portant empirical feedback as to the usefulness of our paradigms. 1.2.4 E xten d in g an O bject M od el to Support T im e j I The primitive operations of the core temporal object model described in the ] I previous section may be used as the basis for the specification and stepwise ; development of database models and database systems of increasing complexity. To dem onstrate this, we concentrate on extending a rich, extensible object ; database model, the 3 Dimensional Information Space (3DIS) [5, 8, 10]. We | have chosen the 3DIS for several reasons: ! 15 1. The 3DIS Database Model includes prominent and desired features from semantic and object-oriented database models. The principle features of 3DIS are as follows: a. Objects at various levels of abstraction and granularity are accom m odated, including atomic data values, abstract objects, objects from various media, types (classifications of objects). b. Inter-object relationships are supported, which represent associa tions among all varieties of objects, including meta-objects (such as object types). c. A pre-defined set of abstractions is provided, including subtyping (specialization) and inheritance of relationships. The set of abstrac tions is extensible, allowing new ones to be defined. d. Constraints (semantic integrity rules) and derived data are sup ported. A pre-defined set of primitives is provided, which is ex tensible. e. Operations which support the behavioral manipulation of objects (methods) or provide “services” can be defined. 2. The geometric space representation of the 3DIS seems to be a natural environment for adding time. This space is a 3-dimensional geometric representation of information triplets (domain object, mapping-object, range-object); triplets are used to model all m eta-data (see [10]). 16 3. An existing experimental prototype serves as a foundation for our ex perimental implementation of the approach to tim e in object databases { described here. In this part of our work we concentrate on extending the 3DIS to incorpo rate the semantics of time, support temporal data and the temporal evolution of data. We first study alternative approaches to incorporate tim e in the 3DIS ; I and then present a unique approach towards the synthesis of an integrated ! t 3DIS model that supports the temporal aspects of data modeling in addition to the structural and dynamic ones, while preserving its original three dimen sional geometric space features. This new extended model utilizes concepts introduced and defined in the earlier phases of our work. j The T-3DIS (Temporal three Dimensional Information Space) is a sim ple object model for temporal information management which can be imple- . mented on top of the model described above and complies to the set of prin- j ciples described in the previous section. T-3DIS databases contain collections | of inter-related objects where all information including the data, the descrip- i j tions, classifications and temporal behavior of data (m eta-data), abstractions, operations, and constraints are treated uniformly as objects at various discrete j time intervals. I I In 3DIS the relationships among objects are modeled by (domain-object, 1 mapping-object, range-object) triples. In T-3DIS, each object is associated with a tem poral version {[ta, fj,], {uersionnum&ers}} which gives the lifespan 17 ! I of an object for a given version or a sequence of versions. Thus relationships among objects are modeled by “(domain — object{[U, tj], v), mapping — object([tk, ti],v), range — object([tm, t n],v ))” triples. T-3DIS provides a small set of primitive operations that allow end-users to define, m anipulate, and retrieve temporal objects. The abstraction primi tives of T-3DIS have also been extended to incorporate our new abstractions. Semantic temporal constraints that guarantee the basic consistency of database specifications are inherent in the T-3DIS. Although we do not thor oughly study modeling of generalized temporal integrity constraints, many kinds of temporal constraints can be included in the T-3DIS database trans actions. In consequence, each transaction will itself include verification and enforcement of its associated temporal constraints. 1.3 Target A pplication E nvironm ents Advanced database management systems were developed primarily without incorporating the time dimension and thus assuming th at the only information th at is of any interest to an enterprise is “current” information. Even though this assumption is invalid in many applications, in the past, storage costs made this design decision practical. This is because, if a database is to perm it access to historical data, such data must never be deleted, which means th at there 18 is a need to archive historical data while still remaining available for on line access. As such, the availability of enough storage space becomes significant. I W ith the emergence of optical disk storage technology however, the stor age space lim itation has been greatly alleviated and the need to accommodate tem poral information in databases has becomed even more im portant. In view of this recent development, our approach to supporting temporal information j in object databases can be utilized in several contexts. Examples of such ap plications are: • engineering and scientific databases; ! • decision support systems; j ( • networking; j • medical information systems; • business applications; I • scheduling; • computer aided design; ; i ! • computer-integrated manufacturing; ! • geographic information systems. 1 3 ! 19 i In scientific databases for example, physical experiments and simulations are typically in the time domain, making representation of the temporal dy- ! namics of data essential. In business applications, it is im portant to be able to manage the history of all transactions and consider it as part of the database. This way it can be statistically analyzed for decision making purposes. In scheduling, causal relationships must be represented, e.g., if one meeting causes a second meeting to occur, the interval of the first meeting should precede the interval of the second. i I In VLSI design, versions are often tagged with tem poral information such j as the release tim e of the design. Thus, to answer queries such as “what is the release tim e of the most recent version of a chip” we should be able to represent ; temporal relationships among the component of chip. This is because a chip is | best described by a part-of hierarchy which induces a containment relationship ' between the release times of a component and its parent in the pari-o/hierarchy. Geographic Information Systems (or otherwise known as earth resource I analysis systems) involve tracking changes in the environment based on human- : made and natural events. The information required to represent these changes i includes temporal relationships, spatial relationships, descriptions of targets j impacting the environment etc. Each of these factors m ust be represented so th at an analyst can query for relevant information on a particular geographic > area, feature, or time-period and perform an analysis based on the resulting I i information. So, our work has obvious direct applications on environments where there is a need to support temporal data and accommodate temporal information. In general, any system th at involves a form of action, such as robot motion and 1 natural language understanding, requires support for temporal relationships. Therefore, our approach can be easily incorporated into database systems that model these environments, because it supports queries about past states and i' t trend analysis, as well as record retroactive and pro active changes. j i I 1.4 Scope o f T hesis Temporal database research is traditionally classified by the following two cat egories: • Conceptual temporal information modeling; , i • Physical database design. | i i Conceptual temporal information modeling is concerned with a set of tech niques and constructs that support a higher level representation of the temporal data which can easily be understood by the end-user, while physical database : i design is concerned with a set of techniques and constructs that support an ef- , I ficient storage and retrieval system for the same data. Since our work identifies a new research area, the main focus of this research falls into the first category j in th at it provides a conceptual framework and primitive support for accessing j and manipulating temporal information and the temporal evolution of objects. As such, the primary contribution of this thesis is in the design and imple- i m entation of an integrated object model that supports the temporal aspects of modeling in addition to the structural and dynamic ones. We focus on the underlying semantics of time, and on identifying the temporal aspects of ob jects in the context of object databases. We also show how our ideas can be gracefully integrated into existing data models. Some of the critical issues discussed in this thesis include: • Temporal representation of objects; j I 1 • Temporal database operations; j i • Database evolution; j • Object migration; j • Levels of database granularity. ' This research does not consider all problems involved in temporal object I database modeling. Rather, it addresses some specific initial problems in this j area concerning the development of a temporal object database model and j the integration of temporal notions into existing object database systems. In j particular, even though we have defined a generic set of temporal constraints, formulation and specification of generalized integrity constraints and many im- 1 plementation issues are not addressed here. i Our temporal object database system provides the bare necessities required to support temporal data and the temporal evolution of data. Additional facili ties th at will be needed await further research for their resolution. Many critical issues related to physical design and implementation of tem poral databases in general are not addressed here. Such issues include: ! i • Efficient storage structures; I I I • Recovery; j • Access control; • Concurrency control and locking mechanisms. In defense of their omissions, many of these issues involve policy issues in ! a secondary storage development environment. Here, we merely try to provide the primitives upon which such an environment can be built. ! 1 I 1.5 O rganization o f th e T hesis In this section we present a brief description of the contents of the subsequent chapters of this dissertation. Chapter 2 contains a discussion of research context , I I and related work which had influences on this research. It provides an overview ' of object oriented modeling and recent work on temporal relational database ' t models. Chapters 3, 4 and 5 and 6 examine in detail our approach to integrating I tim e with objects. 23 Chapter 3 discusses the first level of our approach; it suggests changes to existing notions of temporal data that are necessary because of the transition from the relational to the object model, and identifies the temporal aspects of j t objects in the context of object databases. In Chapter 4, a model of a core temporal object database environment is introduced. The model subsumes the fundamental principles and definitions described in chapter 3. Our model can be used as a basis for the stepwise specification, development and extension of database models and database systems of increasing complexity. To demon strate this, in Chapter 5 we extend the 3DIS to support our new concepts and I definitions. Specifically, in this chapter we show how the 3DIS can be extended \ to incorporate the semantics of time and support temporal data. ! An experimental implementation prototype, based on current object-oriented | programming facilities, has been constructed, and is described in chapter 6. This prototype embodies a “ten module data model architecture” including a tim e manager and an end-user interface. The final chapter contains a summary : of the thesis, a statem ent of the contributions and impact, and directions of further research. C hapter 2 R esearch C ontext i “ Study the past if you would divine the future” Confucius t The results presented in this thesis have been influenced by recent work \ in a number of research areas. Current work on database modeling, temporal j relational database modeling, schema evolution and artificial intelligence have had an impact on the approach taken here. In this chapter, we discuss sig nificant research contributions from these related areas. We briefly describe , the m ajor categories of conceptual database models, namely those frequently referred to as the conventional and object oriented database models. Several of i I the modeling concepts suggested by object oriented database models are also | described. Some of the current work in object oriented modeling that has had I i a larger impact on the design of our temporal object database system and a few J of their significant contributions are outlined. A detailed discussion of these 25 database models and an evaluation of their modeling aspects can be found in [100]. We conclude this chapter by discussing in somewhat greater length recent work in temporal databases. 2.1 D atabase M odeling Most information management systems are based on a conceptual data model [159]. Such a model interpretates the real world in a sufficiently abstract way, yet powerful enough to allow us to understand how data about the world are related. Thus data modeling can be defined as the process of constructing a representation of a data intensive application, th at captures the static and dynamic properties necessary to support the application. Recent data model research has been influenced by several issues. The most im portant of these issues include the following: • D ata independence: the isolation of the physical storage of data from the user’s perception of it. • Persistent Data: data stored in a database remain in storage even when the database management system is not operating. • Semantic relativism: the ability to model and m anipulate the same data in different ways. 26 • Encapsulation of Behavior: a mechanism where the specification and the implementation of an operation can be separated. • D ata evolvability: the ability to modify the conceptual structure and/or physical organization of a database, this is essential where application environments are irregular, unpredicatable and evolving. These characteristics are better supported in recent data models. However, some of them such as data independence are also supported by conventional j I database models. j i i 2.1.1 C onventional D atab ase M od els The conventional database models are usually exemplified by the hierarchical, ' ! network, and relational data models. The database systems that embody these j models were designed and used for large commercial applications, where large j t quantities of form atted, rigidly-structured data need to be accommodated. Ex- ■ amples of today’s business applications where conventional database models serve best include banking and inventory databases. Although there is considerable variation among these models concerning specific modeling constructs, each presents the user-level view of a schema in terms of record structures. The essential approach of the hierarchical and j network models is to model data using records and inter-record connections, j In contrast with the hierarchical and network models, the relational model j accommodates only record types and not explicit links; logical inter-record connections are expressed implicitly via common field values. I The hierarchical and network models [72] represent data as records orga- j nized as nodes in a tree or a network (respectively.) A hierarchical schema (a j • database description specified with the hierarchical database model) consists of a number of tress each of which in turn consists of a collection of record types and link types which specify connections between record types. A hierarchical database consists of a forest of trees, conforming to the structure defined in the j schema. j The network model on the other hand, supports the specification of schemas ; th at can differ from the hierarchical model in that multiple link types be- i tween record types are perm itted and a given record can have multiple parent records. As such, the network database model is more flexible than the hierar chical model. Even though the hierarchical and network models support a rich set of built-in integrity rules th at reflect and m aintain the structural integrity of their specifications, they nevertheless suffer from some severe limitations j such as encouraging a direct correspondence between physical access paths and i inter-record links. ' The relational data model [69] is based on the m athem atical concept of a relation, where a relation is a set of n-tuples. Tuples are used to represent ; both an object and an n-ary relation. D ata m anipulation languages for the relational model are typically derivatives of a relational calculus or a relational 28 ; algebra [69]. The model also supports the definition of integrity rules through relational languages. An im portant contribution of research of the relational database model and its use has been the concept of normalization. The basic idea of normalization is to provide guidelines to the structuring of a relational schema. The relational database model provides an added degree of data indepen dence and flexibility over the hierarchical and network models. It also favors data manipulation languages th at are less procedural than the hierarchical and network data manipulation languages. But in general, record based systems have limitations which we briefly describe in the next section. j 2.1.1.1 Lim itations of Record Based System s j Record based models have caused some conceptual difficulties especially since we do not perceive reality in terms of logical records, but as objects and rela tionships between objects. In consequence, it is very difficult to transform this view into a record oriented representation because it causes an extra level of indirection. Also, the mapping of an application environment into low-level, ! record-oriented structures implies substantive modeling limitations. Thus these models employ simple data structures to model an application environment which inevitably results in loss of information. | | Another fundamental problem of these models is their limited semantic j i expressiveness. These models fail to adequately capture the semantics of the 29 application. In response to the criticisms of record based models “object ori ented” models were developed. Following is a brief summary of the limitations | i of record based systems: 1. Record based systems are restricted in their modeling power. Some ob jects cannot be adequately represented while others are over represented. 2. Meta-information is generally not accessible. 3. Dynamic objects have to be implemented using records which causes se vere inefficiencies. 4. Only a fixed set of operations are allowed on atomic data values, and new operations cannot be dynamically added. 5. Each record of a certain record type is assumed to be of the same exact fields (known as horizontal homogeneity.) ' 6. In relational systems each record should be from the same domain in all i the records (known as vertical homogeneity.) j 7. Transaction tim e for design objects is often long. I i Having realized the limitations of record based systems, impendence for re- j search into new approaches to data management has recently increased. There is a particular interest in the object oriented approach because many data » management requirements map easily onto object-oriented concepts. In the ! following section we briefly examine these new concepts. 2.1.2 O b ject O riented D ata M od els The intent of object oriented data modeling is to provide a “higher level” database interface than the logical record. This higher level view can serve as an interm ediate step in the design of a record oriented database, or as a data model itself. In either case, it has the advantage of providing some conceptual guidance and discipline at the database interface. As such, object oriented data models satisfy a lot of the database requirements of engineering and office autom ation applications. » In general object-oriented databases combine object oriented concepts, programming constructs, and database management capabilities. They support the concurrent and referential sharing of objects and alleviate the impendence mismatch between programming languages and databases. j W hen applied to database models, the term “object-oriented” is used to j i refer to many characteristics and mechanisms; we shall use the term “object- based” to refer to the class of models th at include those identified as “semantic” and “object-oriented” [1, 10, 27, 97, 100]. Specifically, we use the term object- , based to refer to the following characteristics: 1 i • Individual object identity: ’ i Entities in the relational model are often identified by key values. An 1These characteristics are directly quoted from [123, 124] with the author’s permission. i I I 31 1 alteration in this key value effectively creates a new entity. In object ori ented systems objects are given a unique identifier when they are created th at never alters. Any object can be refenced via its object identity. Ob jects in a database can include not only primitive (atomic) data values, 1 such as strings and numbers, but also abstract objects representing enti- i i ties in the real world and intangible concepts. Relationships among and i I classifications of such objects can themselves be considered as abstract < objects in the database. Graphical, image, and voice objects can also be i accommodated. Such abstract objects can be directly represented and m anipulated [70, 97, 105, 144]. ! • Explicit semantic primitives: ■ I Primitives are provided to support object classification, structuring, se- j l mantic integrity constraints, and derived data. These primitive abstrac- j i tion mechanisms support such features as aggregation, classification, in- | i stantiation, and inheritance. The roots of these semantic primitives are in 1 the “semantic” data models” [70, 97, 110, 125, 140, 143] and in artificial i intelligence knowledge representation techniques [40, 43, 166]. • Active objects: Database objects can be active as well as passive, in the sense th at they ' can exhibit behavior. Various specific approaches to the modeling of ob ject behavior can be adopted, such as an inter-object message passing i 32 ! paradigm (e.g., as described in [136, 148]), or abstract datatype encap sulation (e.g., [19]). The im portant point is th at behavioral abstraction is supported, and procedures to m anipulate data are represented in the database. • Object uniformity: All information (or nearly all) in a database is described using the same object model [10, 27]. Thus, descriptive information about objects, re- I ferred to here as m eta-data, is conceptually represented in the same way as specific “fact” objects. M eta-data is considered dynamic, and can be modified in a manner analogous to that utilized to alter “fact” objects. : In the above, the concepts and techniques underlying “semantic” and j i “object-oriented” databases have been aggregated to accentuate the main thrust j of the object-based approach. It is however im portant to note th at the first two | characteristics, object identity and explicit semantic primitives, can be more | directly ascribed to “semantic database models” and database management ! I systems based upon them; such systems are sometimes termed structurally object-oriented (see, e.g., [79]). The last characteristic, object uniformity, is j also addressed to an extent by semantic database models and systems. : In addition to object identity, explicit semantic primitives, and object uni formity, behaviorally object-oriented systems (sometimes termed just “object- ; oriented”) also address the issue of active objects, viz., accommodating application- specific methods or procedures on objects in the database itself [26, 136]. It is of further note th at some significant differences exist between the way semantic primitives are handled in structurally and behaviorally object-oriented systems (e.g., inheritance). 2.1.2.1 Fundamentals of O bject Oriented Database M odels Given the preceding brief view of the basic characteristics of object oriented database models, it is now possible to provide a brief analysis of the concepts I j underlying object oriented models in general. This section introduces some j basic terminology and concepts th at prevail the literature on object-oriented ; databases. We will present an object oriented model in two steps; first we will l describe a core object model and then describe some semantic extensions to the core model. | I I 2.1.2.2 A Core O bject M odel j An object is an abstract, complex or atomic entity th at corresponds to things j in the application environment being represented by the database. Any real- ' I world entity at any level of abstraction and of various modalities is an object. ; I The object can have a state that is stored in an encapsulated piece of memory j ! 3 4 ; and is associated by a system-wide unique identifier. An object is recursively related to any number of other objects through some semantic relationships. The relationships between an object and other objects are represented in terms of references to the objects; the references are the attributes of the object. An object has one or more attributes and one or more methods which operate on the values of the attributes. An object’s attribute may take a single value or a set of values. The value of an attribute of an object is itself an object. The protocol of an object is defined by a set of messages. A message is implemented by a method which is a piece of code th at accomplishes the desired effect. Messages are sent to an object to access the values of an attribute and the methods encapsulated. I All the objects which share the same set of attributes and methods are j grouped into a class (sometimes called a type.) Often the terms type and class i are used interchangeably, but when the two terms are used in the same system, i type usually refers to specifications, whereas class refers to all current instances. An object belongs to only one class as an instance of th at class. A class is also i i i an object; in particular a class is an instance of a metaclass. j The classes in a system form a hierarchy in that they are typically arranged j i in a directed graph, with the edges connecting superclasses to their subclasses. ; i These edges are often called “ is-a” links. A subclass inherits all the attributes j I and methods defined by its superclass and may define additional attributes and \ methods. Thus, all attributes and methods defined for a class are inherited into i i 35 i i i i l ! I all its subclasses recursively. In addition, an instance of a class is also a logical instance of all superclasses of th at class. ! 2.1.2.3 Extensions to the Core M odel » W hile the previous section identifies the main characteristics of the data mod els supported by object-oriented database systems, there are a wide range of further characteristics and issues th at must be addressed. These issues are a di rect consequence of the characteristics of the Core Model and must be directly embodied in an object system. The first such characteristic is versions. Versions is essential to many applications for object oriented systems such as engineering design, and office automation. In such domains, versioning is often used to create more enhanced versions of the design object. Therefore, since the same object undergoes mul- I tiple changes or state transitions, the evolution of object states is im portant because the previous state of an object might have to be referenced at a later ; time. j 1 In such a framework, an object version represents an identifiable state of ! I an object. The creation of a new object version is frequently associated with ; I a number of different semantics. Each object is defined by a set of versions, j Different sets of object versions are used for extracting the history of an ob- ject, concurrency control, liability and for handling changes in type definitions. Another im portant characteristic is schema evolution. Even though current I systems assume th at data instances change, most of them take the unrealistic | approach th at the definition of the structure of the data viz., the database ! schema will remain unchanged. Most recent research [107] has identified the advantages of dynamic database schemas. In general there are two approaches to schema evolution. In the first approach, such as the one taken by Skarra and Zdonik [142], the notion of versioning is extended from data instances to data definitions. Thus, a change J to a type definition will produce a new version of th at type definition. In the j second approach [107], a set of rules is defined which describe the actions to | be taken when a schema is modified in order to make existing data compatible ! with the new schema definition. ! I ! 2.1.2.4 E xisting O bject Oriented System s I I The preceding sections have shown how object oriented databases differ from ! I previous approaches for database systems. Here, we show how the aims of ! i i object oriented systems are achieved in practice by briefly describing some ; representative object oriented database systems. We have chosen these sys- 1 terns because of their attem pts to accommodate schema evolution which is one I of our ultim ate and ongoing research goals and because we have used their ( i ‘ ' architectures as “reference models” for designing and developing our system ! architecture. j GemStone is a commercial object oriented database system developed at t i ServioLogic. It runs on a network involving a VMS system and a file server ! t known as the GemStone object server, and on at least one IBM PC and Smalltalk 80 workstations. GemStone is one of the first object-oriented soft ware systems that combines object-oriented language concepts with database capabilities. GemStone attem pts to mirror the language Smalltalk-80 as closely as pos sible by providing one uniform language known as OPAL. It supports a model i of objects similar to that of Smalltalk-80. Inheritance is restricted to the type j instance and type-type lattice, and no instance-to-instance inheritance is al- I lowed. GemStone’s main database features include sharing of objects, cen- j tralized server, method execution and security. One of its prim ary goals is to ! provide a convenient vehicle for fast prototyping, fast implementation, ease of maintenance and ease of modification of application systems. In GemStone, a methodology for class modification has been developed. One interesting feature of GemStone is that it allows users to control object placement explicitly. ' O RIO N is a prototype object oriented database built at the Database Pro- | I gram of Microelectronics and Computer Technology (MCC). It has been imple- | mented in Common Lisp on a Symbolics 3600 Lisp machine. It is intended for applications in AI, multimedia documents and CAD/CAM . The main features of ORION include (multiple object) versions and change notifications, compos ite object support, dynamic schema evolution and transaction management. 38 ORION supports two types of schema changes to the contents and structure of a class lattice. The first such type is changes to definition of a class on a class lattice which include adding and deleting attributes and methods. The second type of changes is to the structures of a class lattice which include creation and deletion of a class, and alteration of the IS-A relationship between classes. Another distinguishing characteristic of ORION is multiple inheritance. ORION distinguishes between two types of versioning: transient versions and working versions. This distinction depends on the types of operations that ! 1 are allowed on them and the promotion of a transient version to a working J version may be either specified by the user or determined by the underlying i system. In order to facilitate the implementation of versions ORION requires ; application systems to identify those classes whose objects may have versions. | When an instance of a class is generated a generic object for th at instance is i created and the instance is designated as the first version. j The IR IS [117] database system is a research prototype developed at ' 4 j Hewlett-Packard Laboratories in Palo Alto. The database consists of an object j I I manager which is built on top of a relational database system which acts as I the storage manager for the system. The object-manager supports an object- j oriented model, providing facilities for schema definition, data manipulation and query processing. The data model is based on three constructs: objects, types and operations. It supports such features as inheritance, version control, extensible data types, constraints and user defined operations. These facilities | I 39 1 are accessed through, a number of interfaces. Construction of interfaces is made possible by a set of C language subroutines that defines the object manager interface. It is designed to be accessible from many programming languages , ! I and by stand-alone interactive interfaces. For example, in addition to embed ded C and LISP interfaces, a graphical interface and an extended SQL (OSQL for object SQL) interface have been provided. The OSQL language extends i SQL in three main ways: object identity, user-defined functions and syntactic J changes. j I EN CO RE [142] is an object oriented database system th at has been de veloped at Brown university. One of the most im portant feature of ENCORE , I th at is of interest, is its ability to support type evolution. ENCORE allows the addition, deletion, and modification of a type as well as the migration of a type to a new position in the type hierarchy. This approach is implemented by placing filters between instances of an older version of a type and methods that expect instances of a new version of the type; values are filtered before they are used. The storage manager of the ENCORE database system is known as the j ObServer. One interesting feature of ObServer is its object clustering mech- I anism, which utilizes two types of heuristics: transaction-oriented and single ; object evaluation of object usage. Since the ObServer has no knowledge of j object-oriented semantics such as inheritance and structural relationships, it I cannot exploit such information as the storage level. ! i 40 : i EXODUS [53] is an extensible database system being developed at the Uni versity of Wisconsin, Madison. It is a “DBMS generator” th at supports the rapid construction of application-specific DBMS. The Type Manager of EXO DUS maintains class hierarchies and allows inheritance along the class lattice. However, instance-to-instance inheritance is not supported by EXODUS. The PO STG RES data model [150, 138, 149] extends the relational model to provide capabilities such as abstract data types, data of type procedures, j triggers, inferencing, type hierarchy, and procedure inheritance. It is a com- ! plete database system with a well-defined data model and query language. Even ! \ I though it is not an object-oriented or semantic data model in nature, it can j be used to simulate a wide variety of semantic an object oriented data model- \ ing constructs including aggregation, generalization and complex objects with j shared sub-objects. It is also capable of maintaining some forms of versions. I The query language of POSTGRES is an extended version of QUEL, called | F POSTQUEL. POSTQUEL supports features such as a from-clause (to define • i I tuple variables) and a create command (to define a relation and to create a ; structure for storing the tuples.) Through POSTQUEL, the user can also I i query the past states of the data stored in POSTGRES. The storage system of | POSTGRES is based on the use of tuples and relations and maintains tuples and their updated versions. I 2.2 T im e in D atabases Thus far, we have concentrated on work in database modeling and on current object-oriented technology. We now turn to a brief analysis of relevant work on temporal relational databases, which has had a direct impact on our research. 2.2.1 T em poral R elation al D atab ases Over the past several years there has been a steady increase of interest in ^ directly modeling tim e in databases; several research efforts have addressed the problem of supporting such temporal modeling. This work is mainly focused on augmenting conventional database systems to incorporate several notions of time. Some research [18, 46, 47, 96], addresses the issue of tim e in databases | I by introducing the concept of an “event” or “process”. However, most of these , 1 models fail for queries about the state of the world at any given time, rather j i than just on the occurrence of times of events. We provide here a brief survey of i existing work in this area and present a description of a taxonomy of databases \ th at support tim e concepts. Extended surveys of the literature can be found in [38, 145]. | One of the earliest efforts in the area was by Bubenko [45]. He developed i a notably simple temporal model, by adding an extra field to each tuple of a ; relation (in a relational database) representing temporal validity. His method 1 is frequently referred to as tuple versioning. An obvious drawback of tuple ver sioning is a high degree of redundancy because of large duplication even when changes are small. An alternative to tuple versioning is attribute versioning [66, 89]. In attribute versioning each dynamic attribute of a tuple is a set of < value, tim e interval > pairs. Clifford and Tansel [66] formalized the concepts and provided an algebra for databases in attribute versioning. i One of the first attem pts to incorporate a semantically substantive concept j of tim e in a database was by Clifford and Warren [67]. Here, intentional logic is j used to define the formal semantics of time in database management systems. Their model incorporates time into the relational model at the attribute level. The main idea is to represent time-varying attributes of a database as functions from a set of times into values. Their logical model is somewhat complex but its query language is powerful. In the Time Relational Model by Ben-Zvi [32], a temporal dimension is added to ordinary relations and a consistent but limited algebra for the model is defined. This approach is similar to the one taken in the historical database model by Clifford [64]. | Jones and Mason [101] and Snodgrass [145] considered start and stop times j as special attributes and developed a temporal model with query language. The tem poral query language (TQUEL) developed by Snodgrass [145] is an ! extension of QUEL, incorporating notions of time. It supports historical queries by augmenting the retrieve statem ent with a valid clause, a when predicate, and added constructs such as “start of,” “precede,” and “overlap.” Ariav et j 43 i al. [23] present an extension to SQL, by incorporating temporal elements into ! the language. A lim itation of both these efforts is th at they do not address the formulation of a historical algebra, thus ignoring many operational issues. Vaishanav [163] and Gadia and Vaishnav [89] developed a query language called HTQUEL with a similar syntax as QUEL. HTQUEL allows two data types: I temporal relations and temporal elements. Ben-Zvi [32], Jones and Mason j [101], and Jones, Mason and Stamper [102], have also worked on designing i I tem poral query languages. ! Jones, Mason and Stamper [102] developed LEGOL 2.0, a formal language j for writing rules. The language is based on the relational model. Each rela tion has the following types of attributes: identifier, characteristic, and time. An identifier attribute names an entity. A characteristic attribute specifies a j property of an attribute and a tim e attribute assigns an interval over which ' an entity holds a property. The interval consists of a start tim e and a stop : time. A relation th at has these three attributes is often referred to as a “con- 1 i i tinuous temporal relation.” For a continuous temporal relation, a primitive rule of LEGOL 2.0 is represented as an “append” operation. The set of tuples to be appended is specified in a relational algebra like language. The algebra | includes temporal operators such as the “tim e intersect” operator. Even though interest on temporal databases is mainly concentrated on de veloping tem poral query languages or on extending relational data models to incorporate time [67, 89], there has also been some effort in either extending other models to incorporate notions of time or in proposing new models for temporal data management. Klopprogge [111] extended the entity relationship model, by developing a set of modeling constructs to handle tim e and time dependent information. For the definition and manipulation of historical data, he designed a “PASCAL-like” language called TERM . The basic modeling con- i struct in TERM is a structure. TERM has three different types of structures: tim e structures, value structures and history structures. A history structure is defined as a representation structure for histories of an attribute or a role. Its representation set is the powerset of the cross-product of the representation set of a tim e structure and a value structure. The basic operations in Klopprogge’s model axe “registration” and “correction.” A registration operation could ei- ; ther be an “initiation operation,” which is used for the addition of new entities ] or relationships, or a “completion operation” which is used for the addition of ! i attributes and roles. A correction operation is used for correcting errors. j i Shoshani and Kawagoe [141], and Segev and Shoshani [139] proposed a I i new model for tem poral data management. Their main idea is to capture the semantics of ordered sequences of data values in the tim e domain and the operators over them. They refer to a collection of data values over tim e as a “ time sequence” and define a tem poral value to be a (surrogate, time, attribute value) triplet where a surrogate is a system defined object-id. Operators over ! a tim e sequence can be expressed in terms of the values and of the temporal properties of the sequence. A collection of tim e sequences will therefore posses j 45 the ability to address the temporal attributes of an entire class and relate them to other class attributes. The main contribution of this work is th at rather than being an extension of the relational model, it is the first step towards the development of a comprehensive model of time. Physical structures for tim e sequences were discussed in a paper by Rotem and Segev [137]. Other research (e.g., [115, 116, 141]) has also focused on the implementation of temporal databases. For example, Shoshani and Kawa- goe [141] identify properties that are im portant for operations over tim e se quences and their physical implementation; these properties are: regularity, type, static/dynam ic, and tim e unit. They also discuss general implementa- j tion issues and details for incorporating tim e in a database. ! 2.2.1.1 A Taxonomy of Databases Supporting Tim e Research also proceeded towards the development of a taxonomy of databases | th at support the semantics of time. Snodgrass and Ahn [147] proposed four types of databases for supporting tim e concepts: snapshots, rollback, historical, j and tem poral databases. Snapshot databases model the “real-world” as it | l changes dynamically by only keeping the most recent snapshot of a relation. \ This reflects the most recent state of a database. Since no past information is retained, a state of a database is simply its current contents. Obviously such j databases cannot handle historical queries such as “what was James address j ten years ago,” or trend analysis queries such as “how did the stock market i I 46 change over the last ten years.” They also cannot record retroactive facts such as “Bush was elected president starting last m onth,” or proactive facts such as “Dole is joining the cabinet next m onth.” Rollback databases support the concept of transaction tim e, which can be defined as the tim e an event was recorded in the database. Such databases store all past states indexed by the transaction time as it evolves. While there is a record of the past snapshots of the database, modifications are made only to the most recent snapshot. Even though rollback databases record the history of the database activity, they still do not record real world events. As with snapshot databases, they also cannot record retroactive or proactive changes. Other obvious drawbacks include implementation difficulties due to excessive t duplication and the inability to correct past states. Historical databases record only one historical state per relation and there is no record of past database states. They support valid tim e, which is the tim e of occurrence of an event in the real world. Thus, valid tim e differs from j transaction tim e in that it represents the tim e an event occurs in the “real- \ I world” and not when it was recorded in the database. A m ajor difference ! between historical and rollback databases is th at rollback databases record a [ I » sequence of snapshot states and only the most recent snapshot can be modified. By contrast, historical databases record only the most recent snapshot of an j event and its valid time. Most of the work on relational databases was centered ' around adding valid tim e to the relational algebra [32, 65, 86, 8 7 ,1 0 2 ,1 5 4 , 121, j 127]. j The advantages of both a rollback database and a historical database are incorporated into a temporal database. A temporal database supports both valid and transaction times. Such databases are more powerful than an histor ical or a rollback database alone. The validity of information can be verified over a period of time, and historical and trend analysis queries can be handled by tem poral databases. Temporal databases can also record retroactive and , proactive changes. j Version databases [27, 28, 108] can be added to the preceding taxon omy since they resemble rollback databases. Versions can be considered as a sequence of snapshots. Since versions encapsulate semantically meaningful changes, versioning can be seen as related to temporal databases. I While the above has highlighted research on tim e within the context of ' database systems, the semantics of tim e has also been addressed in other areas ' such as artificial intelligence, logic, and philosophy. For example, the work of j I I De et. al. [78] involved temporal semantics and natural language processing in | a decision support system. They propose a mechanism for representing data and decision models with explicit temporal aspects and address the issue of processing temporal queries. 48 : I 2.3 C oncluding R em arks t i I i Much of the recent work in database research has been concentrated on object- ! I oriented database systems. In many cases, the rapid and widespread adoption : | of the “object-oriented” approach has resulted in the underlying principles of j i the approach being buried under numerous definitions and specific mechanisms. ! In this chapter we have concentrated on extracting the main concepts of the ^ object-oriented approach that have a larger impact on the development of our ! abstract temporal object modeling concepts. Since none of the current research j J in object databases incorporates the notion of time, we have also discussed in j i a greater length research work in temporal relational databases. ! 1 ! I I ! C hapter 3 Tem poral O bject Sem antics “ Ideas are the root of creation” \ * I Ernest Dim.net ! In this chapter we show how existing notions of tem poral data have to be f modified because of the transition from the relational to the object model. In [ I particular, we focus on the semantics of tim e in the context of object databases, and on the identification and definition of a set of generic tem poral modeling 1 concepts to capture aspects of temporal object database design, th at are not j i j amenable to description by current object database models. These notions j I J provide a richer and more flexible framework for developing tem poral object I models, and may be regarded as a set of proposed temporal requirements for a ' i tem poral object model. Here, fundamental concepts including new kinds of temporal representa tion elements, namely “possible object worlds” and “universal object identi ties,” are introduced. Possible object worlds and functions th at facilitate the evolution of objects in tim e to different states, viz., temporal object migration, and temporal relations are brought together in an abstraction framework, with an emphasis on the intentional and extensional definition of temporal objects j and their properties and inter-relationships. j The representation is intended to be sufficiently rigorous so th at one can | reason effectively about temporal objects, the properties of evolving tempo- 1 ral objects and the inter-relationships of temporal objects, while at the same j tim e incorporating features of practical importance. Our approach leads to the precise characterization of the properties of temporal objects and may provide means of augmenting the data modeling power of the object model, particu larly versions, with temporal modeling concepts. The representation follows naturally from the needs highlighted by the questions raised in chapter 1. ! The remainder of this chapter is organized as follows: In the next section , we present a set of temporal principles to which any temporal object model should adhere. In section 3.2 we focus on the new semantics of tim e in the ' context of object databases by defining and explaining several new concepts and , I definitions. Section 3.3 introduces some new temporal abstraction primitives, | while section 3.4 identifies several types of functions th at facilitate the temporal [ evolution of objects and the extraction of the historical information of objects. We conclude this chapter with some final remarks. 1 i I i 3.1 Tem poral P rinciples j i In the initial stages of this research, the most fundam ental question we were J i faced with was “what constitutes a temporal object database model?” So, to provide a specific framework for this question, and before we proceed with a design of a temporal object model, it is necessary to define a set of principles to which the model must adhere 1. Even though these principles might seem i too intuitive to be formally stated, they nevertheless form a significant role in the design and development of a sound and complete tem poral object database system. As such, they can be used as metrics for comparing and evaluating > I I any temporal object model in general. i In the framework proposed here, an event consists of a collection of objects, their corresponding specifications, relationships, actions and outcome over an ! interval [£i, fn] where t\ denotes the beginning of an event and tn its completion. J Events can be decomposed. An atomic event is an event th at can not be ! decomposed further. I I ! • Temporal Extension Principle: j 10ur notion of time is formally defined in Appendix A | A temporal object model should be a consistent extension of a non-temporal object model. In other words, a non-temporal object model should be embedded in a tem poral object model. E x a m p le 3.1. The database should be able to answer both temporal queries such as “what is Jam es’ salary in 1960” and non-temporal queries such as “what is Jam es’ salary.” • Temporal Evolution Principle: A temporal object model should not only allow us to describe the time-invariant meaning and properties of an object, but also specify and relate different time-varying aspects of th at object. In addition when an object evolves over time, it should posses the ability to sustain as much as possible its history and identity while acquiring new roles, behaviors and possible identities. To relate different aspects of an object at a given time, we need to specify the rules and constraints th at trigger coexisting extensions. The signifi cance of this principle will become more apparent when we introduce our temporal semantics. • Temporal Consistency Principle: 53 At any given time, either an event or its negation (but not both) can be “active” in a temporal object database. More formally, let: x be an event. 1 be a user specified discrete or continuous time. (x , t ) be an event x that occured at tim e t Then: if (x , t ) is valid then ( -> x ,t) should not be valid. This also applies to the duration of an event until the next update (from U to tj such th at i,- < tj where the immediate update of x occurs at tj). E x a m p le 3.2. A person can not be both married and single at precisely 10 AM on June 1 1990. Since in a temporal database all information is retained then it is possible to have a person married and single at some tim e in the past. This could for example be caused by an error in recording the information. • Temporal Representation Principle: A tem poral object model should capture and describe events as they occur in the application environment it attem pts to repre sent, and incorporate different views of the same information. 54 Thus it should allow the extraction of the temporal informa tion in the database. The order of events represented in the database should correspond to the order in which they occur in the “real world.” E x a m p le 3.3. Each patient’s record in a hospital database should reflect his/her complete medical history and its order as it occurs in real life. • Temporal Incompleteness Principle: A temporal object model does not necessarily have to capture and describe all events at all times as they occur in the appli cation environment it attem pts to represent. Thus it should tolerate incomplete information for certain periods of time. E x a m p le 3.4. It is possible th at a patient’s record in a hospital database is incomplete for certain intervals. For example we might know the pa tient’s record from 1983-1985 and 1989-1990 but have no records for the 1986-1989 period. • Temporal Abstraction Principle: A temporal object model should represent abstract concepts of tim e such as “when,” “before,” and “later.” It should also be extensible to incorporate user defined notions of time, such as calendar years. 55 Temporal Inference Principle: In addition to the information provided to the database at var ious points in time, there should be a set of operations th at enable the inference of certain properties at other points of time not explicitly provided. E x a m p le 3.5. If a user recorded Jam es’ salary in 1981, 1982, 1984, 1985 and 1986 then the database should be able to infer changes in Jam es’ salary during the 1982-1985 interval. Temporal Derived Data Principle: Let the state of an object at time U be Si and its state at tim e tj be Sj, where tj > ti. The state of the object at tk where ti < tk < tj is Si. In other words, if x was modified at tim e ti and x was again modified at time tj such th at U < tj then any information on x at time tk such th at U < tk < tj is the same as the information on x at tim e U. E x a m p le 3.6. Assume th at James were to record in the database that Christine owned a house in 1984. Also th at in 1986 James were to record th at Christine sold her house. If nothing is recorded about Christine and her house during this period (1984-1986) then it can be assumed th at in 1985 Christine still owned her house. 3.2 Tem poral Sem antics Having defined a set of principles to which our model must adhere thus estab lishing the goals and “m eta-constraints” of the model, we are now at a position to define temporal object semantics. Here, we identify changes to existing no tions of temporal data th at are necessary because of the transition from the relational to the object model. 3 .2 .0.2 C o n c e p ts a n d D efin itio n s To describe the structure of an object as it evolves over tim e and across its multiple representations (i.e., versions and history) we introduce the notions of j t universal object identity and possible object world. Together these two notions allow us to describe the meaning, characteristics, properties, behavior and role ! of each individual object at different times and at a particular point in time. Definition. The Universal Object Identity of an object, denoted as UOI, refers j to an object’s interpretation or sense and remains tim e invariant. j I I Definition. The Possible Object World of an object, denoted as POW , refers to j an object’s denotation and is usually tim e variant. ! i I I E x a m p le 3.7. The universal object identity of the temporal object “fight” would be a struggle but its possible object world could be an emotional struggle, ' physical struggle, quarrel, contest, etc. , An object cannot have a possible object world unless its universal object identity is defined. An object can have different possible object worlds at different times, and also several possible object worlds at a particular time, but its universal object identity remains unique over a specified lifespan. For t example, the object “fight” could be a physical struggle in 1989 followed by j an emotional struggle in 1990. Also the object “fight” can concurrently be } . a physical and an emotional struggle. In general, a universal object identity ! encapsulates the tim e invariant semantic meaning of an object, while a possible object world encapsulates the static and dynamic structure, behavior and role i of each individual object at different temporal intervals. Further, the UOI of an object can be derived from all its possible POW s at j [ all different times with respect to our model and the world we are modeling by | taking the union of possible POW s over time. Thus, we can formally define the ' I UOI of an object from all its possible POWs at all different times with respect j I i to POW s, our database model and the world we are modeling, as follows: i I U O Ia(M )= deJ{ t ^ P O W a( M ,t ) \ t e T } i ! I where j i i | • UOI is the universal object identity of an object a • P O W a is the possible object world of an object a • M is our database model i 58 ; • t 6 T is the tim e a possible object world is active (current) i The above definition assumes th at users interact with only a single world i j during a tim e period. When users interact with different worlds then the UOI j of an object is defined as follows: U O Ia(M ) =dej {< w ,t > — » P O W a(M ,w ,t) | w € W and t € T } where • U O Ia, P O W a and M are as defined previously • w € W is the “mini-world” we are modeling (may be assumed to be a j ! version) Given these two new notions of an object, we are now able to give the definitions of a universal object identity and possible object world class and tim e slice. These are as follows: ! Definition. A Universal Object Identity Class, related to a universal object ' i identity UOI, is defined as all objects that can potentially, independent of | I time, have the same universal object identity. i Definition. A Possible Object World Class, related to a possible object world j POW , is defined as a collection of (PO W ,< ,•) s.t. t = 1,2, ....n tuples, of all ! i objects th at can potentially have the same possible object world. Since an j object can have several POW s at a given time, an object can belong to several j possible object world classes. j E x a m p le 3.8. Consider the possible object world “of age 99.” The possible object world class of this POW are the people who have this possible object i world. j From our formal definition of a UOI of an object we can conclude that an object can be a member of only a single Universal Object Identity Class but belong to several Possible Object World Classes during a particular lifespan. Consequently, an object is not active if it does not belong to some particular Universal Object Identity Class at any given time t. If an object is not active it can not belong to any Possible Object World Classes. In other words, an object can not be a member of a Possible Object World Class if it were not a member of a Universal Object Identity Class. Definition. A Time Slice of a possible object world class is all objects with the same possible object world at tim e t{. It can be viewed as a set of instances of j a possible object world class at tim e U. 1 E x a m p le 3.9. The tim e slice of the possible object world “of age 99” in the previous example is the group of people who have this possible object world in I 1980. I 1 Thus the union of all time slices of a possible object world class is the possible ' I object world class. J I Definition. A Universal Object Existence is a function j j T : (U O I,t) — * {0,1}. | j I 60 i i A value of zero at tim e t implies th at the universal object identity of an object does not exist at that time or is undefined. Definition. A Possible Object World Existence is a function F : (PO W .t) - {0,1}. j I A value of zero at tim e t implies th at the POW of an object does not exist at th at time or is undefined. One m ajor requirement for the kind of temporal object model described ! here, is to have a general and convenient means for extracting the lifespan of an object and the history of th at object. For this reason, we introduce the notions of time-priority sequence and object history. In the following definitions, we specifically adopt modified notions of a tim e sequence introduced in [139]. In | these definitions we also incorporate the notion of priorities for POWs of an : object. The idea of assigning priorities to possible object worlds is particularly j I useful in resolving possible conflicts among co-existing possible object worlds I I for a particular object and in the meta-data. For example, given th at an object ■ t has two possible object worlds teaching assistant and research assistant then by ; assigning priorities to these two POWs we can determine the object’s primary ; role at any given tim e U. Definition. The Time Sequence of a POW of an object, denoted as TSEQ (POW ) ‘ is defined as j (P O W ,,, ..... , P O W tJ = (POW , ,<„)). I 61 j I Thus the lifespan of a POW of an object can be easily determined since t\ denotes the valid from tim e and tn denotes the valid to time. Definition. The Time-Priority Sequence of a POW of an object, denoted as TPSEQ(POW ) is defined as {POW(tuPi), ..... , P O W {tn,Pk)) = (POW , (h ,p j), , (tn,p k)). Definition. An Object History refers to the collection of tim e sequences TSEQ (POW ) of all the POW s of an object. Thus the lifespan of an object can be derived from the lifespans of all the POWs of th at object. There is a partial function Fipow th at determines the lifespan of a POW of an object. The domain of Fipow is P O W = {PO W l ,P O W 2,....,P O W n}, the set of all possible object worlds of an object, and its range consists of finite subsets of T = {<i,...,Zn}- Our last set of definitions and concepts is particularly useful when faced with such questions as “how do we accommodate the evolvability of the m eta data (conceptual schema) of a database over tim e” and “how do we handle object migration, m ultityping and type conflict resolution.” Here we introduce the notions possible object world lookup and equivalence. Definition. A possible object world lookup, is a function th at maps T into 2^ where M is a set of the POW s of an object 2. 2The collection of all possible subsets of the set N is itself a set, called the power set of J\f. This is denoted as 2^. 62 E x a m p le 3.10. Assume th at the object PERSON has the following possible object worlds: employee, friend, m ate and parent. Then a possible object world j lookup of person is a function that maps T into 2POWa°fpERSON as follows: t\ — * {employee} < 2 — * • {employee, frien d } t$ — ► und efin ed £ 4 — * • {employee, frie n d , parent} ts — * ■ {employee, frien d ,m a te,p a ren t} te — * ■ {frien d , parent} I The following definition introduces the notion of temporal object equiv alence. A temporal equivalence object is an object denoting the combination of two or more possible object worlds, that are equivalent to one another at ' I some discrete point in time. Informally, possible object worlds denote the view ( concept of an object at some point in tim e while equivalent objects represent 1 their static structure concept at th at particular point in time. j Let A(ai4j) represent the set of all possible object worlds of an object a at time , U. Let represent the set of all possible object worlds of an object jS at time ' I tj ■ j Definition. is represented by A(a > ti) denoted as C A(0iti), if there j exists a mapping / which associates every instance of a each POW , x G - 6 (0,^) | I 63 ! with an instance f(x) € In other words, every instance of is rep resented by at least one instance of Furthermore / can be an operation i or a sequence of operations. * Definition. A(aiti) is equivalent to B(0,t ■ ) if Q an(i Q A (a,U ) When we first take a look at the preceding concepts we might not be able < to immediately recognize the diverse differences between these new notions and ' existing representation concepts. In the following section we attem pt to reduce this confusion but show how existing abstraction mechanisms are not sufficient to represent these new concepts and by introducing two new mechanisms. i 3.3 Tem poral A b straction M echanism s j i The fundamental idea with assigning possible object worlds to objects is th at j a member of a class may have a possible object world and inherit some specific ; properties but it does not necessary have to do so. As such, the issue of , assigning possible worlds to objects becomes im portant and we are faced with j I the following two new questions: ] I I 1. Are existing abstraction mechanisms sufficient for representing temporal objects? ; I I i I 64 2. If existing abstraction mechanisms are not sufficient what other mecha nisms are required? i i In the following we argue that existing abstraction mechanisms are not : I sufficient for describing and representing a temporal object, as the following two observations show: O b se rv a tio n 1. Generalization (is-a) is not appropriate for handling possible object worlds mappings, because it forces all members of the subclass to adopt the same possible object worlds for any given tim e U. Thus, at any given tim e all members of the subclass will inherit the same properties and acquire i the same temporal meaning and behavior. Consequently possible object world > i mappings cannot be handled separately for each (instance, ti) tuple. i For example, the set AIR CONDITIONERS is-a COOLING SYSTEM in 1990- i 1992, yet some individual members of the set at some specific tim e during this | period, such as in May 1991, may simply behave as FANS. | O b se rv a tio n 2 . Classification (instantiation) is not appropriate for handling | i possible object world mappings, because a subclass is required to have the same properties as its superclass for any given time t,- which creates conflicts. For example, at some given tim e U an AIR CONDITIONER is an instance , of a FAN but it may acquire conflicting properties because it might have more j features than a FAN. I 65 uncertain(0.65) egg, 1991 chicken, 1992 Figure 3.1: An Example illustrating the uncertainty abstraction primitive As we have shown, these preceding abstraction mechanisms are not suf ficient for representing the possible object worlds of an object and their time dimension. Consequently, we introduce the following two notions: 1. The T e m p o ral U n c e rta in ty abstraction primitive ! 2. The T e m p o ral abstraction primitive J There are times we need to attach to temporal objects the likelihood that the temporal object represents a certain phenomenon or that it would occur j ! in the future. The process of T e m p o ra l U n c e rta in ty refers to a specific j examination and indicates that an object has probably a possible object world at some specific tim e This concept is not only needed because of the previous ; two observations but also because it can be used to model the future i.e., proactive changes. In figure 3.1 we illustrate how this concept can alleviate the ! i previous drawbacks. ! 66 The process of T e m p o ra l abstraction enhances our understanding of the tim e dimension of possible object worlds by allowing individual possible object worlds to be classified into tim e slices. Time slices can be further classified into other, more specific tim e slices. By using temporalization, emphasis is j placed on similarities in the temporal lifespans of objects while abstracting away other differences or similarities. Figure 3.2 illustrates the tem poral abstraction primitive. 3.4 Tem poral M appings In this section, we consider the properties of relations defined by the mappings ; between sets, and see how these properties provide us with some temporal ; object data modeling semantics. We specifically study two classes of mappings, ! i namely object migration mappings and historical mappings. The first class j facilitates the temporal evolution of objects while the later class supports such | I tem poral relationships as same-time, during. Together these two classes of ! • tem poral mappings allow us to determine temporal object relationships and , how different objects can be related with respect to time. They also allow us I to deduce tem poral relationships. I V.V.W aw T 1 § T 2 Figure 3.2: An Example illustrating the temporal abstraction primitive 68 90 3.4.1 O b ject M igration M appings The construction of a universal object identity and a possible object world necessitates the the definition of four functions: i I 1. Universal Object Identity-to- Universal Object Identity Mapping; I 2. Universal Object Identity-to-Possible Object World Mapping; 3. Possible Object World-to-Possible Object World Mapping; 4. Possible Object World-to-Universal Object Identity Mapping. | i These mappings provide some of the basic groundwork for the development j of our temporal object model th at supports the temporal evolution of objects and versions. These functions allow us to answer such questions as “is the behavior of object a at time tj, affected by a modification of object /3 at tim e | ti, where j > i ?”, thus providing some powerful semantic capabilities. In , addition, and even more im portantly, they define and establish a required set J of object migration patterns over an object’s given lifespan. J A Universal O bject Identity-to-U niversal Object Identity map- j ping is a function J-uu whose domain contains the universal object identity of object a at tim e f,-, and its range contains the universal object identity of I i object /? at tj such th at tj > ti, and a ^ /?. Formally, | I t iFuu : (U O Ia,ti) — ► (U O Ip,tj) j 69 ; I I i I uu book tree Figure 3.3: A transition from a UOI to a different UOI This function allows an object to change its universal object identity over time. E x a m p le 3.11. There is a function th at facilitates the evolution of universal object identity of the object “book” to a new universal object identity such as “tree” as shown in figure 3.3. A U n iv ersal O b je c t Id e n tity -to -P o ssib le O b je c t W o rld m a p p in g is a function T uv whose domain contains the universal object identity of an object at tim e t{ and its range contains the POW of the object at tj such that tj > ti. Formally, F up : (UOI,ti) - PO W tj This function associates a possible interpretation to an object which has only a universal object identity and no possible object worlds. Figure 3.4: A transition from a UOI to a POW I E x a m p le 3.12. There is a function th at associates to an object which only J i has a universal object identity such as “fight” a possible object world such as 1 i “emotional fight” as shown in figure 3.4. ; i A P o ssib le O b je c t W o rld -to -P o ssib le O b je c t W o rld m a p p in g is a ' i i function J-vv whose domain contains the POW of an object at tim e t{ and its range contains the POW of the object at time tj such th at tj > U. Formally, k ^ I and £ ,• < tj. This function facilitates the evolution of an object from one possible POW to another. E x a m p le 3.13. There is a transition from the possible object world “assistant professor” in 1988, to yet another possible object world in 1989; that of a “chairperson.” This transition is shown in figure 3.5. A P o ssib le O b je c t W o rld -to -U n iv e rsa l O b je c t Id e n tity m a p p in g j is a function J-pu whose domain contains the POW of an object a at tim e ti ! i 7! | assist, prof. 1989 assist.prof 1988 chairperson 1989 Figure 3.5: A transition from one POW to another POW fpp Figure 3.6: A transition from one POW to a UOI and its range contains the universal object identity of an object (3 at tim e tj such th at tj > ti and a ^ j3. Formally, fpu • (PO W a,ti) — ► (U O Ip,tj) where a ^ and < , ■ < tj. This function facilitates the evolution of an object with a possible object world to a different object with a new universal object identity. E x a m p le 3.14. An object which has a universal object identity “student” and a possible object world “research assistant” in 1989 , can evolve in 1990 to a new object with a new universal object identity, “employee” . This example is illustrated in figure 3.6. 73 3.4.2 H istorical M appings In addition to the above four functions that facilitate the evolution of objects, the integration of tim e with objects also necessitates the definition of certain I mappings such as future, past, during, precede, sameMme, equals, overlaps, j finishes, meets, before, after. Even though these relationships are mutually ex- J i elusive, they can be joined to form complex temporal relationships. Naturally, J i such joins will produce certain levels of uncertainty. 1 I These mappings provide some of the basic groundwork for the develop- j ment of any temporal object model that supports historical information. In j i ! particular, they facilitate the deduction on temporal relationships, and allow us to extract how different objects are related with respect to time. Specifically, these functions allow us to answer such queries as “which other faculty were ; present when James was a chairperson” and represent tem poral relationships between transactions, thus providing some powerful semantic capabilities. For ■ ! example, the transaction “insert players” and “insert coach” are part of “in sert basketball game” and thus are temporally related. Therefore the first two ! transactions have to occur before the last one occurs. \ i In the following, we present these relationships in terms of relations on one 1 object and one inter-object relationships. We have grouped these mappings into ; fours sets. These are as follows: I I i _ I • Existence mappings; I 74 • Single object mappings; • Inter-object lifespan existence relationships; • Inter-object lifespan relationships. For the sake of simplicity, in this part we only refer to possible object world, unless otherwise indicated. However similar functions exist for the universal object identities of objects. In the following, the term POW denotes P O W ^ ^ y 3.4.2.1 E x iste n c e M ap p in g s j l Existence Mappings were developed so th at we can determine whether or not j i ! the possible object world of a given object exists at, before, after, during, etc., j a given tim e t, or an interval [< * , tj]. This set consists of the following mappings: J i • exist_starts:(jP 0W ,£,) — ► {0,1} 1 This functional relationship determines whether an object’s possible ob ject world is created at the start of some tim e point. A value of zero I implies th at the POW of an object is created at th at tim e point or is undefined. • e x istJ in ish e s : (.POW, t,) — ► {0,1} This functional relationship determines whether an object’s possible ob ject world is created at the finish of some tim e point. A value of zero A _ A - A --------------------------- A 1987 exist_starts(POW,1991) = 0 1991 exist_starts(POW,1991) = 1 Figure 3.7: A Conceptual Representation of exist .starts determines whether the POW of an object is “virtually deleted” at the end of its existence or is undefined. • exist_after:(P O W , ti) -* {0,1} This functional relationship determines whether an object’s possible ob ject world is created after some tim e point. A value of zero implies that the POW of an object is created after some tim e point or is undefined. • exist_before:(P O W ,t,) — * {0,1} This functional relationship determines whether an object’s possible ob ject world exists before some tim e point. A value of zero implies that the POW of an object deos not exist before some time point or is undefined. • ex ist_ d u rin g :(P O W ,t.) — » {0,1} 76 1991 exist_finishes (student, 1991) = 0 1991 i exist_finishes (student, 1991) = 1 i I I 1 Figure 3.8: A Conceptual Representation of exist-finishes j f This functional relationship determines whether an object’s possible ob ject world exists uring of some tim e point. A value of zero implies th at the [ POW of an object does not exist before some tim e point or is undefined. 3.4.2.2 S ingle O b je c t M ap p in g s Single Object Mappings provide certain historical information on a possible ; i object world of a given object, such as its past history, at a given tim e f; or an ; interval tj]. This set consists of the following mappings: i ! • saxnejtimejsta.rt:(POWa,ti) — * {POWp, . . . ,POW u } I I I i | 77 ! 1985 exist_after(student, 1985)=0 A i i --------i -------- 1991 exist_after(student, 1991 )=1 Figure 3.9: A Conceptual Representation of exist_after 1991 esist_during(student, 1991 )=1 a ikiJLiJbiJUL 1991 exist_during(student,1995) = 0 Figure 3.10: A Conceptual Representation of exist_during This functional relationship determines the set of all possible object worlds of an object th at occurred at the same tim e as given POW of the object. Note th at this does not necessarily imply th at the lifespans of all the objects are the same. • sam e_tim e_finish:(PO W a,<,) -+ {POWp, ... ,P O W w} This functional relationship determines the set of all POWs of an object th at ended at the same tim e as given POW of the object. Note th at this does not necessarily imply th at the lifespans of the POWs are the same. • p a st_ h isto ry :(POWQ,t{) — > {POWp, ... ,P O W u} This functional relationship determines the past history of POWs. 79 student comdian ta ............................ 1991 samet_time_start(student,1991) = {comedia} Figure 3.11: A Conceptual Representation of same_time-start 80 clown student cornelian t a 1991 1996 past_history (comedian,1996)= {student,clown ,ta} Figure 3.12: A Conceptual Representation of past_history 81 4 1985 future_history(clown, 1985)= {student, comedian, ta} Figure 3.13: A Conceptual Representation of future_history • futureJhistory^POW ajt,) — > {POWp, ... ^POW^ } This functional relationship determines the future history of all POWs. • concurrentJhistory:(PCW a,<t) — » ■ {POWp, ... ,POWw} This functional relationship determines the set of all POW s that existed during the time th at a given POW existed. 82 1991 . 1996 concurrent_history(clow, 1991 )= {comedian} Figure 3.14: A Conceptual Representation of concurrentJiistory life_meets(student,sailor)=0 i life_meets(student,scientist)= 1 Figure 3.15: A Conceptual Representation of lifespan_meets - 1 3. 4 . 2 . 3 Inter-O bject Lifespan Existence R elationships j i Inter-Object Lifespan Existence Relationships allows us to determine whether j i or not the lifespans of different possible object worlds of an object meet, overlap, ■ equal, etc., during a given period [U,tj]. The set consists of the following : relations: • lifespan-meets^POW a, POWp) — + • {0,1} i This function determines if the lifespan of a POW meets with the lifespan j of another POW. A value of zero implies that this is false or undefined. I S j • lifespan_overlaps:(POWa,.P0W0) — ► {0,1} ; I 84 | This function determines if the lifespan of a POW overlaps the lifespan of another POW. A value of zero implies th at this is false or undefined. • lifespan_during:(PCWQ , POWp) — » {0,1} This function determines if the lifespan of a POW occurs during the lifespan of another POW. A value of zero implies th at this is false or undefined. • lifespan_equals:(POWQ ,POW/j) — ► {0,1} j This function determines if the lifespan of a POW equals the lifespan of ! i another POW. A value of zero implies that this is false or undefined. | • lifespan_starts:(POW a,PCW/j) — * {0,1} ; This function determines if the lifespan of a POW starts the lifespan of another POW. A value of zero implies th at this is false or undefined. j I • lifespan_before:(POWa, POWp) — * {0,1} I This function determines if the lifespan of a POW finishes before the I i lifespan of another POW . A value of zero implies th at this is false or ! i undefined. t These basic functions allow us to determine the existence of relationships among POWs. Using these we can now determine inter-object lifespan rela- 1 tionships. 85 Iifespan_overlaps(scientist,sailor)=0 ■ I nl I I ■ I I I I I I I I , 1987 lifespan_overlaps(scientist,sailor)=l Figure 3.16: A Conceptual Representation of lifespan_overlaps 86 Uifespan_during {scientist,sailor} =0 k U M M U U M l lifespan_during {scientist, md} =0 Figure 3.17: A Conceptual Representation of lifespan .during S ' r / * \ * f t 0 I / y ■ 1 1 ■ 1 1 1 1 W “ lifespan_equals {scientist,student}=1 z ' ' ■ « 1 » i 1 1 t ■ ■ ■ 1991 lifespan_equals {student,sailor} =0 Figure 3.18: A Conceptual Representation of lifespan_equals 88 lifespanstarts(scientist,sailor)=0 lifespabstart( student, comedian)=1 Figure 3.19: A Conceptual Representation of lifespan_starts 1991 lifemeets {scientist, 1991}={president} Figure 3.20: A Conceptual Representation of meets 3.4.2.4 In te r-O b je c t L ifespan R e la tio n sh ip s The Inter-Object Lifespan Relationships set provide the set of all possible ob ject worlds of a given object that existed simultaneously with a given POW , such as before a given POW. The set consists of the following relations: • m e e ts :(PO W a,U) -► {POWp, ... ,P O W w) This function returns all the POW s of an object whose lifespans meet the lifespan of another POW. 90 1991 lifebefore(president, 1991 )={student,scientist,student} Figure 3.21: A Conceptual Representation of lifebefore • lifebefore:(PO W a, t {) -> {POWp, ... PO W w} This function returns all the POWs of an object whose lifespans occur before the lifespan of a given POW. • lifequals:(POPKa, U) -+ {PO W p, ... , PO W , w } This function returns all the POW s of an object whose lifespans occur at the same tim e of the lifespan of a given POW. 91 lifequals(president, 1991 )= {student,scientist, student} Figure 3.22: A Conceptual Representation of lifequals lifestart(president, 1991 )= {student,scientist,student} Figure 3.23: A Conceptual Representation of lifestarts • lifestarts:(PO W a,ti) -> {POWp, ... ,POW „} This function returns all the POW s of an object whose lifespans starts at the same tim e with lifespan of a given POW. • lifefinishes:(PO W a, U) -► {POWp, ... ,P O W w} This function returns all the POWs of an object whose lifespans occur after the lifespan of a given POW finishes. • lifeoverlaps:(POW Q , < ,■ ) -> {POWp, ... ,POW „} 93 lifefinishes(sailor, 1991 )= {student,scientist) Figure 3.24: A Conceptual Representation of lifefinish.es 94 ■ . lifeoverlaps(scientist, 1991 )= {student,comedian} Figure 3.25: A Conceptual Representation of lifeoverlaps This function returns all the POWs of an object whose lifespans overlaps the lifespan of a given POW. • lifed u rin g :(P C W a, < ,•) -> {POWp, ... ,P O W w} This function returns all the POW s of an object whose lifespans occur during the lifespan of another POW. 95 3.5 C oncluding R em arks Our work in this chapter has focused on the identification and definition of temporal modeling concepts to capture aspects of temporal object database design, th at are not amenable to description by current object data models. We have shown how the fundamental concept of object is extended by defining specialized forms of objects that capture specific notions of real-world infor m ation structuring and temporal behavior. By this means we have defined I concrete constructs th at give concrete form to the notions of tem poral objects, object evolution and temporal relationships. The basic concepts are intended j to represent real-world entities in general, and are not specific to temporal j i entities only. j From a data modeling perspective, our approach has been to extend the i scope of object data models by relaxing certain restrictive assumptions th at ; underly what may be termed the “standard” approach to data modeling. We \ consider this relaxation of assumptions to be justified, since existing object j i models do not posses temporal primitives, and are used with the assumption ' I of a static schema. | I In this chapter we have focused on the definition of a set of generic concepts j 1 I for describing tem poral objects and temporal inter-object relationships, which ' would be the core of a temporal object model. In the next chapter we use these | new concepts to design and develop our temporal object model. ' I 96 ; i C hapter 4 I j j A Tem poral O bject M odel i i “The world embraces me, and I cannot dream that this watch exists and has no watchmaker” i Voltaire j In chapter 3, we have identified a number of generic modeling concepts [ I underlying temporal objects and gave concrete definitions to them. In this ! chapter, we design and develop a core temporal object model th at provides a ! I specific context for our approach. As such, this model achieves an integration ! of the abstract concepts that were assumed to characterize tem poral objects. The main purpose of our model is to provide a basic framework for tern- 1 poral object information models and information systems. The model is based on a small number of simple “tem poral” constructs and primitive “tem poral” I operations. The simple set of modeling constructs of this model viz., temporal 97 i objects and temporal mappings draw from the notions introduced in the pre vious chapter. A set of primitive operations is defined on temporal objects th at allows uniform viewing, definition, insertion and manipulation of objects in temporal object databases. A simple set of temporal constraints is also provided. 1 Our work presents the first step towards the synthesis of an integrated j object model that supports the temporal aspects of data modeling in addition to the structural and dynamic ones. Our model is intended to be both a valuable temporal model in its own right, as well as a mechanism for describing and analyzing temporal extensions to other database models as illustrated in chapter 5. This can be mainly achieved by using our model’s small number : i of simple constructs and primitive operations, th at can be used as the basis j I i for the specification and stepwise development of temporal information models j and systems of increasing complexity and levels of abstraction. | The remainder of this chapter is organized as follows: In the next section \ we describe the modeling elements that encompass our temporal object model. | Section 4.2 describes the model’s data definition and manipulation language ! i while section 4.3 defines a simple set of temporal constraints. In the final | section we provide some final remarks. I i 98 4.1 M odeling C onstructs t Given the temporal semantics introduced in chapter 3, we can now illustrate our proposed approach to the modeling constructs appropriate for the design and implementation of a temporal object database model. In this section we j i show how objects with several possible object worlds are defined, and develop | \ the necessary mappings th at allow a transition from one possible object world to another to occur over time. Much in the spirit of several other models [10, 119], the temporal object I model is based entirely on the notions of objects and inter-object relationships. A temporal relationship among object cannot exist unless all the components i are existing database objects, or relationship is proactive such as “James is going to be promoted to full professor as of next m onth” (given that in the second case proactive changes are not allowed.) In addition since temporal i databases need to retrieve and manipulate historical data, an object is not I removed from a database unless there was an error. Instead the object and all | the relationships in the database in which it participates are “virtually deleted”, which is a form of archiving the object. j Theoretically, a temporal object database system can be thought of as | consisting of temporal objects and temporal relations. Each temporal object in the database consists of a single universal object identity and a set of possible | i i object worlds, as defined shortly, and corresponds to a temporal relation on j i I ! 99 | the set of all database temporal objects. Let (a ti, 6tj,0tk) be temporal objects. For each temporal relationship, f3tk), 8tj is a temporal relation. In particular, 8ti — { ft'tk) | the temporal relationship (a'ti,8tj, fd'tk)exists}. If proactive relationships are disallowed then the constraint, U < tj and tk < tj j is explicitly imposed on the temporal relationship. In the following section we introduce our definition of an object. This definition draws heavily from the notions introduced in chapter 3. 4.1.0.5 Temporal O bjects The restrictions th at some object models such as the 3DIS impose on an object are too strong in the face of the desire to model the behavior of temporal ob jects. For example, in the 3DIS an object is restricted to having only a globally j I unique object-id generated by the system. In our work we relax these restric- J tions by defining two new concepts: the universal object identity of an object \ I th at refers to an object’s interpretation or sense and remains tim e invariant, : and the possible object world of an object that refers to an object’s denotation i or reference. An object only has a single universal object identity but can have j i several possible objcrl worlds at a given tim e or at different times during its j lifespan. j i Each temporal object is a tuple consisting of an object id, its interpretation and a sequence of possible POWs i.e. ' | object = (oid, UOI, (.POWa(liK), ....... , n„ J ) | I 100 | where • oid is the object id; • UOI is the universal object identity of the object, which is time invariant; i t • PO W a(n p ), ..... , POW W {tnf)k) is a sequence consisting of the possible object worlds of the object and their corresponding priorities at some specific time. I | In our model an object id (oid) has no intrinsic meaning. Instead it is an | I entry point (reference or handle) for accessing information about a temporal I object such as an object’s UOI and POWs. It “derives” its meaning from its associated universal object identity and from its possible POWs. W ith each universal object identity we associate a universal object identity id, and with each possible object world PO W a , we associate a possible object world id, a ; tim e priority sequence T P S E Q , a set of temporal constraints, and a set of operations. ’ i Our model also allows the creation and manipulation of T e m p o ra l C om - j i posite O bjects (TCO.) A temporal composite object consists of a group of tem poral objects. It exists at tim e T if each of its components exist at tim e £ ,• i.e. i TC O t o o lti + C > 2 t2 + . . . + o ntn ! I I where T > U for i = 1,2,.... | I 101 | and o denotes the temporal compose operator. O denotes the temporal composite object or an atomic j 1 temporal object. 4- denotes the temporal aggregation operator. A temporal composite object has a possible object world if the possible object world or reference of the whole object can be described as a function of j the possible object worlds or the references of its parts. Thus, for a composite j object to exist at time tj, the universal object identity and possible object world existence of each of its components should be 1 at such th at tj > f,. E x a m p le 4.1. Let the components of the composite object car be its body I and engine. Then the composite object car exists in 1989 if both the universal ' object identity and possible object worlds of each of its components exist in ! I 1989 or at some earlier years and are “active” in 1989. | It is tem pting to treat “time” as a temporal object. However, we have ! chosen to treat it as a new modeling construct instead since tim e does not posses the same characteristics as temporal objects such as having universal j 1 object identities or possible object worlds. Hence, in our model we treat time 1 I as discrete and define the set Time to be a linear order set such that for any two times t\ and t2 either t\ equals t2 or t\ is less than t2 l. In our implementation of the model, time can be represented either as ! a tim e point or as interval where in the former case a tim e point is defined 1 I 1The set Time is formally defined in Appendix A. ’ 102 as an interval of zero duration. To more accurately represent temporal data and the evolution of temporal objects, it is desirable to model different time dimensions such as valid, transaction and user-defined times. For simplicity in representing this information and in developing an initial experimental proto type we consider only valid time, but the other two kinds of tim e can easily be ! | incorporated into the model. j 4.2 Tem poral A ctions The data definition and manipulation language is described as a set of primitive operations th at are embedded within a host programming language. The host programming language supports the data types of temporal objects and set of j I objects, the usual set operations, a looping construct to iterate on elements of sets, a counter for elements of sets, and a data type for time. ' i Programs written in the host language can reference temporal objects, j I The purpose here is not to propose a specific approach to host programming ' language embedding of data manipulation operations, but rather to define a set of primitive building blocks for high-level database systems. In this section we briefly present our temporal operations 2. and address some constraint issues. In our model all operations can be specified as either messages or processes. | A process provides inferencing capabilities such as creating messages from other i _________________________________ I 2The operations presented here are by no means exhaustive; we are only presenting a ! flavor of the temporal operations supported by our approach. J 103 ! given messages. It consists of a set of preconditions and a set of actions. In addition to these processes there are other implied ones th at are initiated I automatically as a result of some specified relationship. We have used these concepts to develop a set of specialized temporal operations on objects and mappings. In the following we describe a sample subset of such operations. 4.2.1 C reate O perations The set of Create Operations supports the creation, activation, deactivation, and context release of objects. In particular, there are three primitive opera- I I tions associated with the POW of an object. These are create-pow, deactivate, ! and activate. The possible object world of an object may be created, activated or deactivated using the following messages: create-pow(oid,(t„pfc),powid). The CREATE-POW operation creates a new POW for an object, tj is ' the object’s tim e of creation and pk is the initial priority assigned [ to that object. Here powid is a possible object world identifier. This new POW may not be created at tj unless its associated UOI exists at some tim e tj such th at f,- < tj. (An UOI for an ' object may be created only once during its lifetime.) Initially, 1 no object is bound to a POW. i deactivate(oid,(t„ pk), tj, powid). ; 104 The DEACTIVATE operation suspends the POW of an object at time ti until tj] If tj is set to oo then the object is suspended indefi nitely. In our temporal object model an object is never removed from the database. It is either suspended indefinitely or it is archived through the ARCHIVE operation, which is similar to a “virtual” delete. activate(oid,(t,-, pa),powid). The ACTIVATE operation resumes the POW of an object at time ti where ti is greater than the time of its suspension. Before we activate (and even create) a new POW for an object we need to verify th at it is not currently active. This is done through the EXIST-POW operation which is described later. release (oid, (f„pfc), powid). The RELEASE operation releases a specified POW for a specified tim e from being bound to a specified object. If the POW is not bound to the object the operation has no effect. error_delete(oid,(f„ pa),powid). The ERROR_DELETE operation deletes the POW of an object. Since in our model we only allow virtual deletes, this operation is meant to be used where there is a transaction error which is of no use and has no historical value e.g., a user inputs the 105 wrong time. Thus, the sole purpose of this function is to delete ! erroneous information. } create_fun(oid,(< t -,p*), po w id , flag). The CREATE-FUN operation creates one of the four mappings dis cussed in the previous chapter. There are four kinds of func tions that can be created namely a POW -to-POW , POW-to- UOI, UOI-to-POW and UOI-to-UOI. The type of transition is denoted through the flag. Also, the function createjmap creates | I the actual relation. I i I i 4.2.2 A ttach and E xist O perations The set of Attach and Exist Operations is used for providing context to univer- I sal object identities of objects and temporal contexts to possible object worlds of objects. Before we can create the POW of an object, we need to verify that it has an associated universal object identity. If it does not have a UOI then i the appropriate universal object identity is attached to it. This sequence of events is captured through the following two operations. ex ist-u o i(o id ,< „u o id ). The EXIST-UOI operation verifies that an object’s universal object identity is active at t,-. If so, it returns true otherwise it returns j false. | 106 a tta c h -u o i(o id , m ean in g ). If an object’s universal object identity does not exist at t,- i.e. if the specified UOI is already bound to the specified object, it is created through the ATTACH-UOI operation. exist-pow(oid,<„pou>a) . The EXIST-POW operation verifies that an object’s POW is active at ti. If so, it returns true otherwise it returns false. attach-pow (oid,(poiyQ ,tj),p o w m ea n in g ). The ATTACH-POW operation attaches temporal context to a pos sible object world. If the given POW of an object does not exist at ti, it is created through the CREATE-POW operation and bound through the attach-pow operation. If the specified pow is already bound to the specified object, the operation has no effect. 4.2.3 T em poral M igration O perations To facilitate the temporal evolution of objects and to accommodate the four types of mappings described in section 3.4, we have designed the following set of corresponding operations. These operations facilitate an object’s migration from one UOI to a different UOI (or similarly from one possible object world 107 (or a set of POW s) to another possible object world (or a set of POWs)) at any given time. tr a n s fe r -p o w (o id , u o id , (PO W a, tj),(POWp, tj)). The TRANSFER-POW operation allows the migration of an object from one possible object world at time to a different possible object world at a different tim e tj, where < tj. If the object’s possible object world at tj already exists then an appropriate warning is broadcasted. m u ltitr a n sfe r -p o w (o id ,u o id ,(P O W a , f,), {(P O W e,ti ),...,(P O W „ ti ))). The MULTITRANSFER-POW operation allows the migration of an object from one possible object world to a new set of possible object worlds. The transitional path of this migration is also recorded. As with the previous operation, if the new set of pos sible object worlds already exists then an appropriate warning is broadcasted. e v o lv e (oid,uoidj,uoidj). The EVOLVE operation creates a new universal object identity for a given object. As such, this operation facilitates the transfor mation of an object to an entirely new object over time. g r o w (o id ,uoidj,(POWa,tj)). 108 The GROW operation allows an object th at has only a universal I object identity to obtain its first temporal context. Thus, this j operation facilitates the first temporal representation of objects. 4.2.4 T em poral E volution O perations In addition to the above operations we have developed a set of operations th at j allows us to manipulate the tim e priority sequences of an object. I { T P S E Q -ev o lv e (o id , T P S E Q UT P S E Q 2), j The TPSEQ-EVOLVE operation creates a new time priority se quence for an object. This operation allows us to extract the ! temporal behavior of objects over a period of time. J A different operation is used for changing the priorities of a given possible object world at any given time t,-. ! I I I 4.2.5 H istorical O perations j We have also developed a specialized set of operations which allows us to ma nipulate and extract the lifespan of an object and its history, compare inter temporal relationships among objects, as well as to accommodate the relations , i introduced in section 3.4. In general, this set of operations supports the histor- ; I ical definition and manipulation of objects. In the following, PO W x indicates J P O W {ti,P}). ! 109 ' future(m eaning) The FUTURE operation displays all the times of the possible object world that follow the current POW of a given object. same_timejstart(POW a,tl) : {POWp, ..., POWJ) The SAME_TIMEjSTART operation provides us with a set of all POWs of a given object that start at the same tim e as the given POW. past_time_finish(POWa,i,) : (POWp, ..., POWJ) The PAST_TIME_FINISH operation provides us with a set of all POWs of a given object th at ended at the same tim e as the given POW. past_history(PCW a, U) : {POWp, ..., POWJ) The PAST -HISTORY operation is used to determine the history of a POW. It returns all the possible worlds that existed before the given possible object world. concurrent_history(POW a,t,) : (POW0, ..., POWJ) The CONCURRENTJHISTORY operation returns all the possible ob ject worlds th at existed before the given possible object world. m eets(PCW a, U):(POWfi, ..., POWJ) The MEETS operation returns all the possible object worlds whose lifespans meet the lifespan of a given POW. lifebefore(POW a,tt) : {POWp,...,POWJ) 110 The LIFEBEFORE operation returns all the possible object worlds whose lifespans occur before the lifespan of the given POW. lifequals(jPCWa, i,) : (POWp, ..., POWu) The LIFEQUALS operation returns all the possible object worlds whose lifespans equals the lifespan of the given POW. lifestartsOPCWa,*,) : (POW0,...,POWU ) The LIFESTARTS operation returns all the possible object worlds whose lifespans occur at the same tim e as the lifespan of the given POW. lifefinishes(PCW a, £,): (POW0,...,POW„) The LIFEFINISHES operation returns all the possible object worlds whose lifespans finishes at the same tim e as the lifespan of the given POW. lifeduring(POWa,*,) : (POW$i...,POWu) The LIFEDURING operation returns all the possible object worlds whose lifespans occur during the lifespan of the given POW. past_pow(£,): (POWa, ...POWw) The PASTJPOW operation provides us with all the possible object worlds of an object acquired before same_time(.PCWa,<,) 111 Since an object can have different possible object worlds at the same tim e the SAME_TIME operation displays the other possible object worlds that an object might have at a given time. during-pow(POWA a ,U) The DUEING-POW operation provides us with the possible object worlds of other objects which co-exist with the current object. pastim es(POWa,U) • ({<j, The PASTIMES operation returns the set of all the past times that a given POW existed before some tim e where t,- could be the current time. If t,- were the only time that the given POW existed this would be indicated as such. objecthistory(m'd) : ({POWa,....,P O iyu ,}) The OBJECTHISTORY operation returns the set of all POWS of a given object and their tim e of existence. equivalent ((ob jectl,t,),(ob ject2,tJ)):(boolean) The EQUIVALENT operation utilizes the definition of equivalent ob jects introduced in section 3.2. It takes as argument two objects at two given times and returns true if the objects are found to be equivalent and false otherwise. 112 4.3 Tem poral C onstraints i I i The interaction of objects with other objects has to be subjected to some strict temporal constraints. This tends to be a rather complicated task since there is a significant difference between conventional “non-temporal” data models and temporal object models. While in the first case only true messages are j allowed, and any checks on such messages are made at the tim e the message is j i input, in temporal data models any message could potentially be true. There- | fore, our model’s constraints should categorize information into true, false and meaningful the later making the specification of such constraints complicated. In earlier sections we have defined various tem poral operators such as j starts, meet, finish. Based on these operators, we have developed a set of prim- ■ itive explicit constraints which can be applied on the mappings or. the objects i i themselves. These constraints are enforced when we process such queries as | i “who were UK’s prime ministers while Mr. Bush was in office?”. In defining j these constraints, and for simplicity we assume the existence of only two POWs and explicitly indicate the valid to and valid from times of a TSEQ(POW ). , i However, the generalization of these constraints is straightforward. I I • Constraints for Lifestarts ! The create.tim e of PO W a equals the create_time of POWp Formally, given (PO W a, tj)) lifestarts (PO W p, (£*, */)) then ! i I I I 113 ti equals tj • Constraints for Lifefinishes The virtual-delete_time of PO W a equals the virtual-delete_time of POWp Formally, given (POW a,(U,tj)) lifefin ish es (PO W p,(tk,ti)) then tj equals ti • Constraints for Lifeequals I The create.tim e of PO W a lifeequals the create_time of POWp and The virtual-delete_time of PO W a equals the virtual-delete_time of POWp ! j Formally, given (POW a, (U, tj)) lifeequals (POWp, (tk, t/)) then j ti equals tk and tj equals t\ • Constraints for lifeoverlaps i The create.tim e of PO W a is less than the create.tim e of POWp and j i The virtual-delete_time of PO W a is less than the virtual-delete.tim e o f ! POWp and The create_time of POWp is less than the virtual-delete_time of PO W a Formally, given (PO W a,(ti,tj )) lifeoverlaps (POWp, (tk, t/)) then ti less than tk and tj less than ti and tk is less than tj or similarly given (POW Q, (U ,tj)) lifeoverlaps (POWp, (tk,ti)) then (POWp, (tk,ti)) lifeoverlaps (POW a, (U ,tj)) » Constraints for lifeduring The create.tim e of PO W a is greater than the create.tim e of POWp and The virtual-delete_time of PO W a is less than the virtual-delete_time of POWp Formally, given, (POWa, (ti,tj)) lifeduring (P O W p,(tk,t\)) then U greater than tk and tj less than ti • Constraints for lifecontains Formally given, (POW a, (ti, tj)) lifecontains (POWp, (tk, ti)) then (POWp, (tk,ti)) lifeduring (POW Q, (U,tj)) 115 • Constraints for lifesametime The create.tim e of PO W a equals the create.tim e of POWp and The virtual-delete_time of PO W a equals the virtual-delete_time of POWp Formally, given (PO W a , (ti,tj)) lifesam etim e (POWp, (tk, ti)) then ti equals tk and tj equals ti • Constraints for lifemeets The virtual-delete_time of PO W a equals the create_time of POWp Formally, given (POW a, (ti,tj)) lifem eets (PO W p,(tk,t[)) then tj equals ti » Constraints for lifebefore The virtual-delete_time of PO W a is less than the create.tim e of POWp Formally, given (POW Q, (U,tj)) lifebefore (POWp, (tk,U)) then tj less than tk 116 • Constraints for lifeafter Formally, given (POW a, (ti,tj)) life a fte r (POWp, (tk, tj)) then (PO W p,(tk,ti)) lifebefore (POW a,(U,tj)) • Constraints for lefeseparately Formally, given (POW Q, (U,tj)) lifeseparately (PO W p,(tk,ti)) then (POWp, (tk, U)) lifebefore (POW a, (t{, tj)) or (POW a,(U,tj)) lifebefore (PO W p,(tk,ti)) • Constraints for Temporal relationships For each relationship, (ati,Stj, /3tk), and assuming no future relationships can be established ti before tj and tk before tj 117 Finally, we can have a set of general state constraints viz., semantic con straints such as: I • an object cannot have a POW unless its UOI is defined. i • a temporal composite object cannot exist at tj if the UOI and POW of each of its components is not 1 at U such th at t,- < tj. In addition to these constraints in section 3.1 we have suggested a set of temporal principles th at our model should adhere to. We call this set “meta- j tem poral semantic constraints.” Although the constraints studied in this chap ter are very restricted, it is believed th at our temporal object database system provides a good basis for studying other, more general constraints. 4.4 C oncluding R em arks In this chapter we have described an approach to the design, development j i and experimental implementation of a model th at integrates tim e with object j databases. Our work applies tem poral notions to the problem of object and j I m eta-data evolution. It presents a first step towards the synthesis of an inte- ' I grated object data model that supports the temporal aspects of data modeling in addition to the structural and dynamic ones. In our results we suggest a set j of tem poral principles to which our model should adhere, and develop tempo- I I ral constructs, operations and constraints for supporting and m anipulating the J temporal evolution of objects. | I ! 118 i i f [ I ! Our system is a very simple temporal object database model for modeling tem poral objects and temporal relationships. All data in the database are I treated uniformly as temporal objects; relationships among these objects allow j i the tem poral evolution of objects to be modeled. Operations on the data allow tem poral behavioral properties to be modeled. Mechanisms are provided to allow the modeling of temporal relationships of objects, the temporal evolution of objects and object migration. In addition, the model provides a high degree of tem poral and semantic expressiveness. j Our tem poral object database system is not a high-level model appropriate for unsophisticated database users; for example, it is easy to create meaningless i relationships and operations. The model lacks mechanisms for data protection | and integrity control, and high-level constraints. However, the main purpose . of our system is not to define a high-level temporal object database model, but | on the contrary, to define a small set of fundamental concepts to be used as ! a vehicle in the design and implementation of temporal object models and for providing more expressive models. ' i I ( I 119 i C hapter 5 T he Tem poral 3DIS M odel | “ 'Many ideas grow better when transplanted into another mind than in the one where they spring up” ' Oliver W. Holmes i The simple, generic set of temporal modeling constructs and primitive j operations of the tem poral object model described in the previous chapter, may j i be used as the basis for the specification and stepwise development of database ' I models and database systems of increasing complexity. To dem onstrate this, ; in this chapter we concentrate on extending an existing object model, the 3 i Dimensional Information Space (the 3DIS [10]), to incorporate the semantics of time, and to support tem poral data and the tem poral evolution of data. j The 3DIS is a rich, extensible, object database model for information man- I agement. We have chosen the 3DIS for several reasons: First the 3DIS model j includes prominent and desired features from semantic and object-oriented j i i 120 database models. For example, objects at various levels of abstraction and granularity are accommodated, inter-object relationships are supported and a pre-defined set of abstractions is provided. Second, The geometric space rep- j resentation of the 3DIS seems to be a natural environment for adding time. 1 I This space is a 3-dimensional geometric representation of information triplets j (domain object, mapping-object, range-object); triplets are used to model all ! m eta-data. Third, an existing experimental prototype serves as a foundation , for our experimental demonstration of our approach. This chapter, presents a : unique approach towards the synthesis of an integrated 3DIS model th at sup- j ports the tem poral aspects of data modeling in addition to the structural and behavioral ones, while preserving its original three dimensional geometric space features. The remainder of this chapter is organized as follows: In the next section we present a brief overview of the 3DIS model. The model is described exten- i sively in [10]. To support our design decisions, in section 5.2 we briefly outline one of the possible approaches we devised for extending the 3DIS to incorporate ! tem poral data. This is followed in section 5.3 by a detailed description of our ; chosen approach solution to the problem and the mechanisms we have devised. J Here, we also show how tem poral data and the evolution of tem poral data is j represented in this framework. The temporal geometric representation of our model is included in section 5.4. In the last section we provide a summary and formulate some conclusions. 121 5.1 A Specification o f th e 3DIS i Our approach to temporal data in the object database context is based upon a generic object database model called the 3DIS. As described in [10], the 3DIS is an extensible, object-oriented framework for information management. It is specifically oriented to supporting the database requirements for data-intensive information system applications in which: ; 1. Information objects of various levels of abstraction and modalities must be accommodated; i 2. Descriptive and structural information (m eta-data) is rich and dynamic; 3. Users who are not database experts must be able to design, manipulate, and evolve databases. i i ! In response to these needs, the 3DIS provides an approach in which data and the descriptive information about data are handled uniformly in an extensible framework. It provides a uniformity between the representation of “schema” information and “data.” It also allows the modeling of various kinds of data j uniformly so th at they can be m anipulated by a single set of basic operations. I i The 3DIS supports two basic modeling constructs: objects and mappings, j Every fact in the “real-world” corresponds to an object in a 3DIS database. The ; i 3DIS supports atomic, type and composite objects. Atomic objects represent j I the symbolic constants in a database. Type objects specify the descriptive and ; 122 : _ _ _ _ i classification information. Composite objects describe entities of application environments. Mappings are a special kind of composite object. They are mainly used for modeling relations among two objects. Thus relationships among objects are modeled by (domain-object, mapping-object, range-object) triples. i 3DIS databases contain collections of inter-related objects where all infor- ; mation including the data, the descriptions and classifications of data (meta- ' I data), abstractions, operations and constraints are treated uniformly as objects. W ithin this object-based framework, the 3DIS incorporates several predefined fundamental abstraction primitives, and is further extended to support a num- ; ber of other abstractions th at are commonly needed in application environ- \ ments. The predefined abstractions include a specific generalization hierarchy | th at connects to the structural graph (DAG) of application environments to or- ! i ganize and simplify access to the database’s structural information of databases, i A set of primitive operations is defined on objects th at allows uniform viewing, insertion, deletion, and modification of information objects in a 3DIS database. : i Basic associations among objects are enacted through a set of predefined ! abstraction primitives such as basic data/m eta-data relationships, and generic J 123 i recursion and interrelation abstractions. Basic mappings support the defini tion of three abstraction primitives namely classification/instantiation, aggre gation/decomposition and generalization/specialization. Classification is rep resented by m em ber/type mappings th at each relates atomic or composite ob- j f jects; aggregation is represented by m em ber-m apping/type mappings that each j i relates a type object; generalization by subtype/supertype mappings th at each j relates a type object. j The basic data definition and data manipulation operations are supported ! i by a small and simple set of specification operations. These operations allow users to add or remove objects or to create and destroy relationships among existing objects. Also objects and relationships among objects can be retrieved or displayed and behavioral objects can be invoked. I The 3DIS geometric representation is used to represent and organize database ' objects and their interrelationships graphically. It can also be used to model, view, and investigate databases by providing a simple object-oriented graph ics based user interface. The three axes in the space represent the domain, j 1 I I mapping and range axes. All objects appear on both the domain and range | axes. The mapping axis holds only mapping objects. Although the 3DIS is a j rich, extensible object database model for information management, support j for tem poral data and the temporal evolution of data within the 3DIS frame work continues to be a m ajor requirement. In the following section we show 1 124 I how the 3DIS can be extended to incorporate the semantics of tim e and support the temporal evolution of data. I In this remaining sections we show how the 3DIS can be extended to incor porate the semantics of time and to support tem poral data and the temporal evolution of data. In what immediately follows we present one possible way of extending the 3DIS and its possible advantages and disadvantages. We then present our chosen solution to the problem. I I I I j 5.2 One A pproach to E xten d in g th e 3D IS j t One possible approach to extending the 3DIS to incorporate temporal data is to j support a “new” kind of object called time object. A tim e object is a temporal ; version of the form ([ti,tj], versionnumber) where U and tj denote some form of time. W ithin this framework, temporal relationships among objects are modeled by: (domain-object, mapping-object, range-object, time-object). | i quadruples. Thus a single-valued temporal relationship stating th at Jam es’ i j telephone number from 1980 to 1990 is 740-0011 will be represented as (James, j has-telephone-no, 740-0011, ([1980-1990],1)). In this case a tem poral instance ! I I is defined as: I C Dx M xR x T, where D, M, R and T are the domain, j mapping, range, and tim e objects respectively. This approach is described in j more detail in [132]. i 125 Even though this approach is conceptually easier to understand, we have deliberately avoided it for several reasons: First it necessitates a fourth dimen- | i sion which by itself adds to the complexity of the problem. This could not be achieved without substantial overhead and without substantial technical and implementational difficulties. The geometric representation of 3DIS (and now T-3DIS) provides an appropriate foundation for information browsing and serves as an environment for a simple object-oriented graphics-based user in terface. A fourth dimension will essentially destruct this simple and desirable feature. Also, this method does not provide any temporal information on the do- I main, range and mapping objects. Finally we were unable to show th at this 1 alternative approach allows us to satisfactorily describe the structure of an ob- , ject as it evolves over tim e and across its multiple representations. This still is an open question. I I l ! | 5.3 T he T em poral 3DIS M odel j I In extending the 3DIS to support temporal data, one of our main objectives is | i to preserve the 3DIS’s 3-dimensional (3-D ) framework th at organizes database I l objects and their temporal interrelationships graphically. The T-3DIS (Tem- : poral - 3 Dimensional Information Space) draws from notions introduced in ! i earlier chapters. In what immediately follows we describe a set of principles 126 j to which the T-3DIS model must adhere. These principles are derived from j the set of principles introduced and defined in section 3.1. We also describe ' the T-3DIS in terms of its modeling constructs, its predefined and extended abstraction mechanisms, and its object manipulation primitives. 5.3.1 T h e D esign o f T -3D IS The T-3DIS has been designed to meet a number of criteria which we believe to be essential in an effective temporal object database description and structuring formalism. They are as follows: 1. The T-3DIS (a temporal object model) should be a consistent extension | i of 3DIS (a non-temporal object model). 2. The T-3DIS should not only allow us to describe the time-invariant mean ing and properties of an object, but also specify and relate different time- i I varying aspects of th at object. ; i I 3. At any given time, either an event or its negation (but not both) can be | ! “active” in the T-3DIS. This also applies to the duration of an event. \ 4. The T-3DIS should capture and describe events as they occur in the ap- j plication environment it attem pts to represent, and incorporate different ; i views of the same information. 127 i 5. The T-3DIS should tolerate incomplete information for certain periods of \ time. 6. In addition to the information provided to the database at various points in time, there should be a set of operations that enable the inference of certain properties at other points of tim e not explicitly recorded. 7. The T-3DIS should support temporal derived data. These principles provide a general view of the characteristics of our tem- j poral 3DIS model. In the following sections we show how the 3DIS model can i be extended to incorporate temporal data while still preserving these charac- t teristics. Our approach here, also demonstrates th at the notions introduced ( in chapter 3 and the primitive operations of the model we designed in chapter j 4, can be used as the basis for the specification and stepwise development of j database models and database systems of increasing complexity. j f 5.3.2 M od elin g C on stru cts | The T-3DIS model extends the 3DIS model to include temporal information on . objects, mappings and types. Each object is associated with a temporal version, ; {[fa, fj], {versionnum bers}} which gives the lifespan of an object for a given J I version or a sequence of versions (the later case occurring when an object’s ) existence persists over several versions.) The default version is represented as v0. By augmenting the version number with a tim e interval we capture the evolution of an object. We adopt the notion of a time interval [90], [ta, tb] where ta is a first time instant and t\, is the last tim e instant of the tim e interval. When the last tim e instant of the time interval is the current time, this is denoted as [t„, oo]. A sin gle discrete time point t is denoted as [ttt, ta). The tim e interval of non-temporal objects is denoted as ([0,0], 0). To more accurately represent temporal data and the evolution of temporal objects, it is desirable to model different time dimensions such as valid, transaction and user-defined times. For simplicity in representing this information and in developing an initial experimental proto type we consider only valid time, but the other two kinds of tim e can easily be incorporated into the model. A possible way for accomplishing this is to slightly extend our definition of a temporal version to incorporate these kinds of time. In such a case we will define a total temporal version as follows {valid time temporal version, transaction time temporal version, user-defined tempo ral version }. A valid tim e temporal version is a tem poral version whose time interval denotes the valid time. • Similar definitions apply to the transaction and user-defined temporal versions. Relationships among objects are modeled by “(domain-object ([t;, t,],u ), mapping-object ([<*,*/], i>), range-object 129 triples where: t,, tk and tm are each a “first time instant,” and tj, ti and tn are each a “last tim e instant,” for the domain-object, mapping object and range object respectively. Here v indicates a version number. In the T-3DIS we represent the temporal behavior of relationships and deduce temporal inter-object relationships through the mappings by attach ing to the mapping-object a “tim e interval.” Thus a single-valued temporal binary relationship stating “the telephone number of James is 743-1100 from 1980-1990” , is represented by a temporal simple triple'. (Jam es([1 9 5 0 ,o o ],l), H a s-te le p h o n e -n u m b e r ([1980,1990],1), 743-1100([1980,1990],l). The tem poral version of the mapping object ([1980,1990],1) represents the tempo ral relationship between James and his telephone number. In this way we can determine the lifespan of a mapping which in turn allows us to determine tem poral inter-object relationships. A multi-valued temporal binary relationship stating “the phone numbers of E m pi are 743 and 740” may be represented by the two simple triples: (.£ m p i([1 9 5 0 ,o o ],l), H a s-P h o n e -N o .s ([1 9 8 0 ,1 9 9 0 ],1 ), 7 4 3 ([1 9 8 0 ,1 9 9 0 ],1 )), (.£ m p i([1 9 5 0 ,o o ],l), H a s-P h o n e -N o .s ([1 9 8 5 ,1 9 9 0 ],1 ), 7 4 0 ([1 9 8 5 ,1 9 9 0 ],1 )), or by the single temporal compound triple'. (l? m p i([1 9 5 0 ,o o ],l), H a s-P h o n e -N o .s ([1 9 8 0 ,1 9 9 0 ],1 ), { 7 4 0 ([1 9 8 0 ,1 9 9 0 ],1 ),7 4 3 ([1 9 8 5 ,1 9 9 0 ],1 )} ). A temporal compound triple contains a set as one of its three elements. Triples with more than one set element are not allowed, since in general the 130 semantics of the relationships among the elements of the two sets is ambiguous. There are certain temporal constraints associated with temporal compound j » triples. For example, the first and last time instances of the temporal version of the mapping object should be within a range of the first and last time instances of the temporal version of the domain and range objects. As in the case of the 3DIS, in the T-3DIS temporal n-ary relationships among objects (where n > 2) are handled by defining a new object to represent the n-ary relationship itself, and then a set of temporal binary relationships j i between th at new object and all objects involved in the original n-ary rela- { tionship. For example, a contract is a relationship th at can involve more than : two objects, e.g., a buyer S u e([1 9 2 0 ,1 9 9 1 ],l), a seller E ri([1 9 6 0 ,1 9 9 l],l), a ' i property car([1 9 6 9 ,o o ],l), and a price $ 18,000 ([0,0],1). i I i These facts are modeled by introducing a new object, C o n tra c t. Then, j I the buyer, the seller, the property, and the price are related to this contract as j follows: I (C o n tr a c t ([1 9 8 0 ,1 9 8 0 ],1 ), H a s-B u y e r ([1 9 8 0 ,1 9 8 0 ],1 ), S u e ( [1 9 2 0 ,1 9 9 l] ,l) ), (C o n tr a c t ([1 9 8 0 ,1 9 8 0 ],1 ), H a s-S e lle r ([1 9 8 0 ,1 9 8 0 ],1 ), E r i([1 9 6 0 ,1 9 9 1 ],l)), (C o n tr a c t ([1 9 8 0 ,1 9 8 0 ],1 ), H a s-P r o p e r ty ([1 9 8 0 ,1 9 8 0 ],1 ), c a r ([1 9 6 9 ,o o ],l)), ! (C o n tr a c t ([1 9 8 0 ,1 9 8 0 ],1 ), H a s-P r ic e ([1 9 8 0 ,1 9 8 0 ],1 ), $ 1 8 ,0 0 0 ([0 ,0 ],1 )) j The decomposition of temporal n-ary relations into their irreducible bi- 1 nary relations has not proven to be a lim itation in capturing the semantics of ■ tem poral n-ary relations. | I 131 I 5 .3 .2 .1 T e m p o r a l O b j e c t s As in the 3DIS, every identifiable information fact in an application environ ment corresponds to a temporal object in a T-3DIS database. Consequently, 1 the generic notion of temporal objects represents all modeling concepts de- ' scribed above. Simple, compound, and behavioral entities in an application j i environment, attributes of objects and temporal relationships among objects, as well as object groupings and classifications (temporal and non-temporal) are all modeled as temporal objects. W hat distinguishes different kinds of (tem poral) objects in a T-3DIS database is the set of structural and non-structural (temporal) relationships defined on them. In addition to the 3 kinds of objects supported by the 3DIS, namely atomic 1, composite and type objects the T-3DIS supports a fourth kind of object, namely time-slice objects. Temporal Composite objects describe (non-atomic) entities and concepts j of application environments. The information content of these objects can be interpreted meaningfully by the T-3DIS system through their decomposition j into other objects. As such, there is a temporal constraint imposed on tem poral j i objects which says th at “a composite object exists at tim e T if each of its j components exist at tim e where T > ti and i = 1 ,2 ,...” [133]. ! i 1 Atomic Objects are simple, nondecomposable “printables” and are treated in the T-3DIS i the same as they are in the 3DIS. > 132 ! i I | I I An example of a temporal composite object is a student 5iuc?i([1989- 1990],1) . The identifier Study([1989-1990], 1) is the system generated object-id that serves as the symbolic name (colloquially, the logical reference name) of this object. The composite object S'£we?i([l989-1990],l) may be decomposed into a set of objects that define its characteristics, e.g., its social security number, name, status, advisor, etc. The first instant of the tim e in terval of each of these objects must be less than the time interval of the object Study. For example if the time interval for name is [1970-1990] then the first tim e instant of this interval should be less than the first tim e interval of Study i.e. 1970 < 1989. This implies th at the object Study cannot exist before a name is assigned to it. Temporal Mapping objects are a special kind of temporal composite object. Mappings can in general model arbitrary te m p o ra l relations among two ob jects. They also model both single and multi-valued temporal relations, where a multi-valued mapping is defined from a domain element to a set of range elements. Every mapping is defined in terms of, and may be decomposed into: • a domain type object; • a range type object; • the time th at the relationship was established; • the tim e that the relationship was disestablished; if the relationship is current then this value is set to oc; 133 • the version in which the relationship was in effect; • an inverse mapping object; • the minimum number of values it may return; • the maximum number of values it may return. ' i Formally, a mapping is M : D([ta,tb],v) H (P)i?([ta,f&], v), where D and : R are its domain and range sets and (P)R([ta,tb\, v) is the set of all subsets (powerset) of i?([ta, f;,], u). As in the 3DIS, in the T-3DIS for every mapping there is a system inverse mapping with the same tim e interval and version number. Mappings can be constrained in terms of the number of values they ‘ i return, e.g., to support one-to-one and many-to-many functions. In fact, limits \ i can be imposed on both the minimum and maximum number of values. There j can also be temporal constraints on mappings. j ! Type objects specify the descriptive and classification information ' database; a type object is a structural specification of a group of atomic or composite objects. It denotes a collection of database objects, called its mem- I bers, together with the shared common information about these members in j terms of each object’s Universal Object Identity [133]. The tim e of creation of | j each member of a type object as well as its lifespan might be different. A type i I object is defined in terms of: ! ! I • its members; i I 134 I • a set of mappings common to its members, called member-mappings; j • the universal object identity of its members; • the fundamental semantic relationships between this type object and j other type objects for several discrete tim e points; • the fundamental temporal relationships between this type object and j i other time-slice objects for several discrete tim e points; j | • a set of operations defined on its members. Type objects encapsulate the stored information about object sets. A type l object can be a subtype of other type objects, viz., its supertypes. Every member | of a subtype is always a member of its supertype, but not vice versa. That is, j the set of members of a subtype is always a subset of the set of members of its j supertype(s). ; Type objects do not specify the temporal specification of a group of ob jects. If we were to allow them to do so, we would be facing tremendous j difficulties in not only determining the lifespans of objects but also their tem poral inter-relationships. More im portantly we would also have introduced several temporal semantic conflicts. For this reason, we have introduced a new kind of object called a time-slice object. In introducing this kind of object, we adopt the philosophy th at at different discrete time points objects can assume different roles and behave differently. In addition, different people can have j i 135 | I I different views of the same information during these tim e points. As such, a » data model should essentially support an object’s different tem poral (some times co-existing) roles. The essence of this philosophy is captured through the combined use of type and time-slice objects. Time-slice objects specify the temporal and behavioral information in a ! database for a single discrete time point t{. As with type objects, time-slice i objects denote a collection of database objects called its members, where all j ] its members are “active” during a single discrete tim e point with “common” \ I temporal and behavioral roles. Time-slice objects denote the Possible Object World of objects [133]. So in a very abstract sense, a collection of time-slice j objects will derive the corresponding type as shown in section 4.2 and in [133]. ! I A time-slice object can be the subtype of more than one other type object, j i Also a member of a time-slice object can belong to several time-slice objects; ! thus objects can exist at different discrete tim e points. A time-slice object is : defined in terms of: I • its members; j I • a certain discrete tim e point th at its members are active; j I • the possible object world of its members; • a set of temporal mappings common to its members; 1 » 136 I I • the fundamental relationships between time-slice objects and type ob jects; • the fundamental relationships between time-slice objects and other time- slice objects; • a set of operations defined on its members. 5.3.2.2 U pdate Propagation The suggested update propagation algorithm of this section, is along the lines of the update propagation algorithm of [10]. But here, we are mainly concerned with time-slice objects. 1. When a time-slice object T S \ is “deleted” 2 from a database: • If there exists a type T\ th at does not have any other immediate time-slice object, then T\ is “deleted” from the database by applying the propagation algorithm of [10]. 2. If a member m i of a time-slice object T S \ is to b e“deleted”: • m i is also “deleted” from all subtypes of T S \. • All possible object worlds of m i are deleted. 2Here by delete we mean a virtual delete as described in section 4.2.1 • All relationships defined between m x and other objects, through the member-mappings of T S \ or its subtypes, are “deleted.” • All relationships defined between m x and other objects in other time- slices T S n where n ^ 1 or its subtypes are “deleted.” 3. If a new member m \ is to be added to a time-slice object T S x: • m \ will also become a member of all supertypes of T S x. • All initially necessary relationships between m x and other objects in other time-slices T S n where n ^ 1 or its subtypes are defined. • The possible object world of m x is added. 5.3.3 A b straction M echanism s Basic associations among objects in T-3DIS databases are established through a set of predefined abstraction primitives as well as the definition of additional ab straction primitives. As with the 3DIS, in the T-3DIS basic mappings support the definition of the three abstraction primitives of classification/instantiation, aggregation/decomposition, and generalization/specialization. Here, we de scribe an additional set of predefined temporal abstraction mechanisms partic ularly tailored for T-3DIS. The fundamental associations among data and temporal data are captured through a set of basic temporal relationships defined on objects, in addition to the ones defined for the 3D IS. Basic temporal mappings support the definition j of the following abstraction primitives: I I • Temporal A ssignm ent is represented by temporal version/member map- j 1 pings th at each relates a temporal object such as an atomic or composite to a temporal version, e.g. E m p\ to its tem poral version ([1980-1990],1). • Tem poralization is represented by type/time-slice mappings th at each relates a type object e.g., PERSON, to a time-slice object for a discrete tim e point t , e.g. PERSON([1980-1990],1). j * 1 • Temporal U ncertainty is represented by member/member mappings i th at each relates with some degree of uncertainty a tem poral object to ! j another temporal object. • U O I-to -U O I id e n tific atio n is represented by a universal object iden- : tity / universal object identity mapping th at maps the universal object identity of an object to the universal object identity of a “newly created” I i object. This mapping allows an object to change its universal object | i identity over time. | • U O I-to-PO W identification is represented by a universal object iden tity / possible object world mapping that maps the universal object iden- I tity of an object to a possible object world of the object. This mapping , 139 associates a possible temporal interpretation to an object which has only a universal object identity and no possible object worlds. i • P O W -to -P O W id en tifica tio n is represented by a possible object world/ possible object world mapping that maps a possible object world of an object to another possible object world object of the same object. This mapping facilitates the evolution of an object from one possible POW to another. j • P O W -to -U O I id e n tifica tio n is represented by a possible object world/ , i universal object identity mapping th at relates a possible object world j object to universal object identity of the object. This mapping facilitates j the evolution of an object with a possible object world to a different object with a new universal object identity. t Temporal mappings also support the definition of operations common to ; the members of a type object and a time-slice object, namely their tempo ral constraint-evaluators. There is a difference between the 3DIS and T-3DIS when it comes to constraint-evaluators. While in the first case only true mes- i sages are allowed, and any checks on such messages are made at the tim e the j message is input, in T-3DIS any message could potentially be true. Therefore, [ I our model’s constraints categorize information into true, false and meaningful j I the later making the specification of such constraints complicated. Also in the j 140 T-3DIS there is a set of primitive semantic constraints such as always, some- \ times, before, during, separately, contains and consecutive. Even though in j I this chapter we introduce some temporal constraints, here we primarily con- J centrate on the general features of the T-3DIS; constraints-evaluators and their implementation are separately discussed in an upcoming paper. i i 5.3.4 T em poral S pecification O perations A set of simple but functionally powerful temporal primitives, also called the T- J 3DIS temporal specification operations, is defined for the T-3DIS that supports j the basic data definition and data manipulation tem poral operations. The term te m p o ra l o p e ra tio n is loosely used to refer to a temporal action, i.e. a temporal operation, function or message. As with the 3DIS, these primitives ’ are assumed to be embedded within a host programming language. These operations allow users to add new temporal objects that may be of ] kind atomic, composite, type or time-slice. Unlike the 3DIS, but in the spirit ! I of temporal databases, the T-3DIS does not allow an object to be deleted from I the database. It is either suspended indefinitely or archived which is similar to | a “virtual” delete. The operations allow users to also retrieve temporal inter- j object relationships, to invoke behavioral objects, and to display objects on ! appropriate devices. 3 3The operations presented here are by no means exhaustive. Here we are presenting ; a flavor of the temporal operations supported by the T-3DIS; our experimental prototype supports an exhaustive set. 141 ’ 5.3.4.1 C R E A T E The C R E A T E : o b je c t-id operation generates a new type object, adds it to the database, and returns its system generated object-id. The object-id generated for a composite or type object is a globally unique identifier for that object. This identifier is selected from a different domain than the one for atomic objects. Based on the temporal semantics th at we have introduced in the modeling constructs, the CREATE operation does not produce a temporal version. For example, the following operations: PERSON <- CREATE STUDENT <- CREATE FACULTY <- CREATE | I create three new objects and assign their system generated object-ids to j their corresponding variable names. The relationships th at will be later de- ! fined on these objects (through the RELATE operation) determine the actual ! semantics of each object. This operation generates a new type object. A similar tailored operation has been designed th at generates the appropriate time-slice object. 5.3.4.2 A T T A C H -U O I , I The A T T A C H -U O I(o :o b je c t,U O I):(U O I) operation generates the univer- j < sal object identity of an object. For example, ' I 142 ! I_ _ contest <- ATTACH-UOI(Fight,contest) A corresponding, A T T A C H -P O W (o :o b je c t,te m p o r a l v e r sio n , POWu .., POWn):(POWu .., POWn) was also designed. This operation attaches possible object worlds to objects. Here we may need to attach more than a single possible object world to a given object, because objects can exhibit different roles at a given discrete tim e point U. 5.3.4.3 DEFIN E The D E F IN E ((o :o b je c t,te m p o ra l v e rsio n ) : (o b je c t-id ,te m p o ra l v e r sio n )) operation of the 3DIS is extended so as to generate a new atomic object and its temporal version and adds it to the database, for example, (addr.temporal version) <- DEFINE (1080 Marine Ave., temporal version) ; (message,temporal version) <- DEFINE (to: John j I from:Mary | date:Jan 1, 1991 ! j The group has decided ...) i The above operations create two new atomic objects and return the objects I themselves as their object-ids and their temporal versions. W hen an object is ■ 143 defined, the last time of its time interval is set to oo by default unless otherwise specified. j i i I 5 .3.4.4 R E L A T E ! [ I ; I : The R E L A T E (d :(o b je c t-id ,te m p o ra l v e rsio n ),m :(o b je c t-id ,te m p o ra l 1 v e rsio n ), r:(o b je c t-id ,te m p o ra l v ersio n )) operation generates a temporal j relationship among objects and adds it to the database, where d is the domain- j element, m is the mapping-element, and r is the range-element in the relation- I I ship. The arguments d, m, and r must have been CREATED, or DEFINED j before this operation. The following example defines a tem poral relationship j among database objects: ! RELATE(Mary([1970-oo],l), Is-a-member-of([1989-1990],l), ' GRAD([189-1990],2)) i i i | Every mapping specified in a RELATE operation must have been defined I in the database previously in terms of its domain-type and range-type, so th at 1 the domain and range elements of the specified relationship can be verified. 5.3.4.5 U N R E L A T E The U N R E L A T E (d :(o b je c t-id ,te m p o ra l v e rsio n ), m :(o b je c t-id ,te m p o ra l! I v e rsio n ), r:(o b je c t-id ,te m p o ra l v e rsio n )) operation destroys the speci- ' fied temporal relationship from the database. If the specified relationship in j 144 ! an UNRELATE operation does not exist in the database, then this opera tion has no effect. Because T-3DIS is a temporal database, the operation UNRELATE(Mary([1970-1990],l), Is-a-member-of([1989-1990], 1), GRAD([1989-1990],2)) j does not destroy the relationship. Instead the temporal relationship “Is-a- j member-of” is simply converted to its equivalent past tem poral relationship | I | “Was-a-member-of” and leaves the objects M ary , Is-a -m e m b e r, and G R A D I ! intact as follows: UNRELATE(Mary([1970-1990],l), Was-a-member-of([1989-1990],l), I | GRAD([1989-1990],2)). j j 5 .3 .4 .6 A R C H IV E In view of the desire to model the tem poral behavior of objects, temporal j databases face both space and tim e limitations because historical data and j | current data must be m aintained and accessible. Accordingly, the T-3DIS does j not allow any deletions and in consequence, we are faced with an ever-growing j storage size. To “eliminate” some of the side affects of this requirement, we have \ developed a new operation called “archive” to replace the “delete” operation of the 3DIS and can be thought of as a “virtual” delete. The A R C H IV E (i:object-id,tem poral version) operation simply archives the specified object from the database. The last_tim eJnstant of the temporal version is changed from cc to last.tim eJnstant. If the object th at is being : archived participates in tem poral relationships with other objects then those 145 relationships will need to be re-evaluated and possibly cease to exist, i.e., they will be UNRELATED. For example, ARCHIVE(Mary,([1990,1991], 1)) archives the object Mary, and UNRELATES any corresponding relationships (and their inverses): Because of space limitations, here we do not show the D IS P L A Y , R E T R IE V E , P IC K -D , P IC K -R and P IC K -M operations 4 and how they are modified to incorporate temporal versions. Along the same lines we have de signed a tailored P IC K -T operation which extracts the temporal version from the domain, mapping and range. 5.3.4.7 A d d itio n a l T a ilo red T e m p o ral O p e ra tio n s The following operations are specifically tailored for the T-3DIS. Before de scribing these operations we need to define the following notations: • D denotes d:(object-id,temporal version); • M denotes m:(object-id,temporal version); • R denotes r:(object-id,temporal version). If the operation does not require a temporal version, the temporal version is assumed to be [(0,0),0], which here we usually omit. 4The PICK-D, PICK-R, and PICK-M project simple triples on the domain, mapping and range respectively. 146 H IS T O R Y (D , M) : (t:dates). j 1 The HISTORY operation generates the history of an object. For example, ({1985,1991} ) <- HISTORY (Mary, has-address) This operation creates a sequence of all the dates that Mary lived in a specified address. i I P A S T (D , M) : ({ } ) I The PAST operation generates the entire history of an object. For ex- ) ample, , ({LA([1980,1985],1),C0([1986,1991],2)}) < - PAST (Mary, has-address) j i This operation creates a sequence of tuples of all the addresses and the ' corresponding dates for those addresses. ; N E X T (D , M, R) : ({ } ) j The NEXT operation generates the history of an object th at immediately j i follows the current history. For example, I i j (UCI([1991,1992],1) <- NEXT (Mary, has-address, j USC[1980,1990],1) I This operation generates the history of the next addresses th at Mary lived after the 1980-1990 period. ' . D U RIN G (D ) : ({ Z > ,, ...,D n } ) I The DURING operation generates a set of objects whose lifespan m eets! the lifespan of the given object. The semantics of DURING were de-1 scribed in chapter 3. t For example, i ({ John([1981,1989],2), James([1982,1983],1) » ' < - i DURING (Mary[1980-1990],1) i The operation generates a set of objects whose lifespan exists during the J i lifespan of the given object. j I • OVERLAPS(D) : ({ Vh ...,Vn } ) ! The OVERLAPS operation generates a set of objects whose lifespan over laps the lifespan of the given object. The semantics of OVERLAPS w ere; described in chapter 3. For example, I (Eri([1985,1991],1)) <- OVERLAPS (Mary[1980-1990],1) 148 j ! i i The operation generates a set of objects whose lifespan overlaps the lifes pan of the given object. • M EETS(D) : ({ } ) The MEETS operation generates a set of objects whose lifespan meets the lifespan of the given object. The semantics of MEETS were described in chapter 3. For example, ( { J o s h ( [ 1 9 6 0 ,1 9 8 0 ] ,2 ) , Jam es( [ 1 9 4 1 ,1 9 8 0 ] ,1 ) » < - MEETS (M ary[ 1 9 8 0 - 1 9 9 0 ] ,1 ) • BEFORE(D) :({!>,■, ...,2?n } ) The BEFORE operation generates a set of objects whose lifespan is be fore the lifespan of the given object. The semantics of BEFORE were described in chapter 3. For example, ( I r a ( [ 1 9 5 0 ,1 9 7 9 ] ,1 ) ) < - BEFORE (M ary[ 1 9 8 0 - 1 9 9 0 ] ,1 ) Along the same lines we have designed several other tem poral operations for the historical mappings described in chapter 3. Also, we should note that this set of primitive temporal operations is extensible, in th at all the temporal operations th at were developed in chapter 4 can be directly incorporated here. 149 5.4 T he G eom etric R ep resen tation Space o f | T-3D IS In extending the 3DIS to support temporal data, one of our main objectives was to preserve the 3DIS’s 3-dimensional (3-D ) framework that organizes database objects and their temporal interrelationships graphically. The geometric rep resentation space is discrete, orthogonal, and is assumed to be located in the positive octant of a 3-D space. The three axes in the space represent the i tem poral domain, mapping and range axes. I As with the 3DIS, all temporal database objects appear on both D and R axes, but the M-axis holds tem poral mapping objects (a subset of all ob jects) only. Temporal relationships among objects are represented by specific, ! explicit points in this geometric space (termed ”on” points) th at are defined ; via their three coordinates, namely “(domain-object ([£,-, tj],v), mapping-object ([< ■ * , </], t>), range-object ([fm, t n],t?))” triples. All database objects are treated , i uniformly and by convention (without loss of generality) information traversal j in 3DIS representation space always starts from the D-axis, continues on the ! M-axis and ends with the R-axis. In order to illustrate how the T-3DIS geometric representation is used ] to represent database objects and their temporal interrelationships and how j its capabilities are used to model, view, and investigate databases, a simple j example is given below. Consider a personal database th at contains information ! ! 150 | I I Has-authors< Black Holes ([1980-inf],1) Jones([1950-inf],l) Smith([1940-inf], 1) Figure 5.1: Graphically representing tem poral information about people and their professional activities. A p a p e r in this database might have several authors and a title. For instance, a paper P\ has the title B lack H oles and is co-authored by Jo n es([1 9 5 0 - oo],l) and S m ith ([1 9 4 0 -o o ],l). This information is graphically represented as shown in Figure 5.1. In this figure H a s-title ([0 ,0 ],l) and H as-au th o rs([1 9 8 0 -o o ],l) are map pings and Jo n es([1 9 5 0 -o o ],l), S m ith ([1 9 4 0 -o o ],l) and B lack H o les([l9 8 0 - oo ],l) are all objects. W ith this example we have shown how the T-3DIS’s 3-dimensional frame work organizes temporal objects and their temporal inter-relationships and how 151 our approach in extending the 3DIS to support tem poral data preserves the 3- dimensional features of the 3DIS. Here, because of space limitations we do not go over all the possible cases presented in [10] and how they can be extended to incorporate our new tem poral concepts. The extensions are straightforward and are left to the reader. 5.5 C oncluding R em arks In this chapter we have shown how our temporal modeling elements and primi tive operations developed in chapter 4, can be used to augment the data model ing power of existing object models. To do this, we have described an approach to the design and development a model that integrates tim e with the 3DIS and provides (temporal) meaning to objects. Our work presents a first step towards the synthesis of an integrated object data model th at supports the temporal aspects of data modeling in addition to the structural and dynamic ones. In our results we suggest a set of temporal principles to which our temporal model, T-3DIS, should adhere, and develop tem poral constructs, operations and con straints for supporting and manipulating the temporal evolution of objects. We expect our mechanisms developed in this chapter, to have a direct im pact on how various temporal properties of objects can be incorporated into yet other existing object models. Our results should add to and complement 152 existing modeling constructs, by providing support for higher level temporal constructs. 153 C hapter 6 E xperim ental P rototyp e “A little experience often upsets a lot” of theory ” CAD M AN A prototype of our temporal object database system exists as proof of the concepts and provides a platform for further experimentation. This experimen tal prototype has been implemented using current object-oriented programming technology. It is running on Sun 4 workstations and tested on small personal databases. In this chapter, an overall description of the prototype is presented. We first introduce the basic features of the prototype and provide an overview of the functionalities supported. We also present the conceptual representation of the system design configuration followed by a detailed description of the 154 architecture of our tem poral object database system. We conclude the chap ter with some other implementation issues including a description of the most im portant data structures of the prototype. 6.1 Features o f th e P rototyp e The focus of our prototype is on functionality rather than efficiency, so portions of the code are suboptimal. In addition, several modules described in section 6.3 are somewhat “naively” designed; our intent here was not to develop a full scale temporal object database management system, but to establish the groundwork so th at we were able to verify and validate our theoretical work. Some of the features that our prototype provides are the following: 1. A simple temporal object database implementing the tem poral object model; 2. Valid time, transaction time and user-defined tim e support; 3. Temporal transformation support; 4. A simple dictionary; 5. Query and transaction processing support; 6. Temporal constraint evaluation. 155 Compared to the ideal implementation, our prototype has some lim ita tions: 1. Access control is not supported; 2. Concurrency control is not implemented; 3. The persistent storage structure of our database, schemas and specifica tions are simplistic; 4. Only a restricted set of temporal constraints is supported. More general constraints m ust be supported in a realistic environment; 5. Our user interface assumes th at the user is not naive. A more realistic user interface is required. The initial interface to our temporal object model stayed quite close to the atomic level of the operations supported by the object manager and was very useful in debugging the system. The prototype does minimal error checking and leaves most errors to be trapped at runtime. 6.2 S ystem D esign C onfiguration We first introduce an overview of the conceptual system design configuration. The overall structure of our Kernel temporal object model implementation can be described in five levels, as shown in figure 6.1. (The application and 156 interface levels are not represented in this figure.) Thus a database specification is divided into five levels namely, the kernel data level, the temporal object level, I the temporal constraint level, the temporal action level, and the application and j ! i interface level. We have chosen this five level approach because it allows us to j i specify different specification languages and semantic models for the different j I specification levels. The k ern el d a ta level defines the conceptual structure of the basic infor mation units to be stored which can be specified using abstract data types such as integers and characters. The te m p o ra l o b je c t level consists of the model | described in chapter 4. The kernel model is used as the implementation base of our prototype and provides much low-level database development th at is a main ' part of this research. Together the specification of the kernel data and object levels determine the states of the database. The c o n s tra in t level expresses ! ! the properties of the database states and enforces dynamic constraints. The te m p o ra l ac tio n level consists of the specification of the update operations 1 I and arbitrary transactions. Finally the top level, not shown in figure 6.1, is the a p p lic a tio n a n d in te rfa c e level through which the high level temporal object database system can call the kernel operations for managing temporal ■ objects and their temporal evolution. I 157 kernel data level temporal object level H constraint level n temporal action level Figure 6.1: System Design Conceptual Levels 158 1 , 6.3 S ystem A rchitecture j I Our conceptual system design configuration represents a very abstract view of j our system. For example, it does not provide insight information in how the five levels are interconnected. It does however provides us with framework for I designing our temporal object database management system. In this section, j we present the m ajor components of our system. Some of the components are | I not fully implemented but are presented here because they are a vital part J of what we consider to be an “ideal” temporal object database system. For ! example, we have not implemented the Rule Manager (shown in figure 6.2 in i dotted lines) but we have included it here for completeness and because this is ( i a component th at we intend to implement as part of our ongoing research in j this area. ; The overall structure of our temporal object system architecture consists of j the following ten m ajor components (these components and their relationships 1 with one another are depicted schematically in figure 6.2): 1. User Interface Module 2. Transaction Processing Engine 3. Query Processing Engine ; I 4. Time Manager i 5. Rule Manager (not implemented) j I 159 ' 6. Constraint Manager 7. Temporal Evolution Module 8. Dictionary Manager ! I I 9. Object Manager i 10. Storage Manger J 1 I As shown in figure 6.2, the user Interface Module is directly connected to the Transaction Processing Engine and the Query Processing Engine. In turn, both the Transaction Processing Engine and Query Processing Engine are linked to the Time Manager. The Time Manager in connection with the j Rule Manager and Constraint Manager calls on the Temporal Evolution Mod- 1 ule which in turn calls on the Object Manager. Finally, the Object Manager interacts with the Storage Manager. In the following section we provide an overview of each of the modules , of our temporal object system. Each subsection describes a module’s func- j tionality, our design choices and m ajor operations supported by the module. | We also outline any difficulties we have encountered while implementing the ; component. User Interface Module I Transaction Processing Engine , 1r Ru Manager Processing Engine Time Manager Temporal Evolution Module Constraint Manager Manager Storage Manager Dictionary Manager Figure 6.2: System Architecture Levels 6.3.1 U ser Interface M odule The main purpose of our User Interface Module is to provide a user with the most reasonable presentation of the state of the system and its functionalities. Our user Interface Module is able to interact with users (who are not necessarily computer experts) to gather information needed to formulate a historical or a j I non historical transaction or a query. In addition this module includes routines j to control the output format of answers to queries, commands to save and edit • temporal queries, and features to facilitate the generations of historical reports, i This interface puts together a set of facilities in an integrated way, to create a user-friendly environment for our system. Our current implementation of this module is not appropriate for unsophis- I ticated database users; for example, it is easy to create meaningless historical relationships and operations. It is also easy to attach the wrong possible object I world to an object or the wrong time. Another major difficulty with our imple- : m entation is that it requires a fair bit of creativity to decide on good paradigms | for representing and m anipulating object histories. We also encountered a bit \ of a problem in deciding between richness and uniformity, but have chosen the I second feature in favor of the first. In justifying these drawbacks and decisions we want to emphasize th at the ; main purpose of this module is not to define a high level user interface module I , but instead to provide a small set of primitive temporal functionalities. In I j the last chapter, we show how this interface can be improved to support such ! I 162 i facilities as a temporal object browser and graphical representations of temporal objects. Our User Interface Module accepts historical and non-historical transac tions and queries from the user, and pass them to the Transaction Processing Engine and Query Processing Engine respectively, and displays the results. 6.3.2 T ransaction P rocessin g E ngine The function of the Transaction Processing Engine is to process the transactions received from the User Interface Module and passes the results back to the User Interface Module. The main modules of the Transaction Processing Engine are shown in figure 6.3. In our implementation, each transaction is handled as a single atomic entity without interference from other transactions. This module interfaces with the Dictionary Manager. The Transaction processing engine queues the transactions and dispatches them one by one to the Time Manager. 6.3.3 Q uery P rocessin g E ngine The Query Processing Engine is responsible for processing temporal queries received from the User Interface Module and passes the results back to the User Interface Module. In our current implementation our system’s queries are expressed in terms of objects and functions. Our Query Processing Engine includes a Query Translator for parsing each query and a Query Optimizer 163 I dictionary/facts transaction analyzer transaction definitior transaction parser Figure 6.3: The Transaction Processing Engine 164 which produces an application specific query optimizer from an input query. | i The Query Processing Engine queues the incoming queries and then forwards j them to the Time Manager after they are processed for further interpretation which is needed when the query is a tem poral one. Our current implementation does not include an interface between the i Query Processing Engine and the Rule Manager, but we believe th at an “ideal” | temporal object system should include such an interface. i 6.3.4 T im e M anager j The Time Manager processes transactions and queries received from the Trans action Processing Engine and Query Processing Engine. Its responsibilities j | include the assignment of appropriate tim e tags to each transaction, interpre- : tation of complex temporal queries and handling of the temporal aspects of ' object versions. The time tag can be either user defined time, transaction time j or valid time. A schematic representation of the basic modules of the Time [ Manager is shown in figure 6.4. ! ! The Time Manager in consultation with the Constraint Manager (and later j with the Rule Manager when it is implemented) decides which transaction or query should be satisfied. The Time Manager will then pass these transactions ; » or queries to the Temporal Evolution Module for further processing. i i 165 i Transactions / Queries / facts consistency checker Time Organizer clock dictic nary error checker Figure 6.4: The Time Manager Meta Integrity Constrain s Integrity Constraints 1 Dynamic Constraints I Figure 6.5: The Constraint Manager 6.3.5 C onstraint M anager The Constraint Manager determines which tem poral constraints must be sat isfied for each transaction or query. In chapter 4, we have given a set of generic tem poral object constraints that this module implements. The Constraint Man ager is directly connected to the Time Manager, the Dictionary Manager and in the future to the Rule Manager. A schematic representation of the basic modules of the Constraint Manager is shown in figure 6.5. 167 6.3.6 R u le M anager As we have mentioned at the beginning of this section we have not implemented the Rule Manager module. However, because our immediate goal is to extend our system to incorporate rules, such as a rule that embodies the temporal notion of always, we have included this module in our initial design of the system architecture. The Rule M anager’s sole function would be to fire the appropriate rules for a given tem poral transaction or a given temporal query based on the constraints provided by the Constraint Manager. If the constraints are not satisfied then the Rule Manager will suspend the corresponding transaction or the query. This module accomplishes its function through a direct association with the Constraint Manager and the Time Manager. A schematic representation of the basic modules of the Rule Manager is shown in figure 6.6. 168 Deductive Laws Meta Deductive Laws Dynamic Rules 1 * Temporal Rules rule selector rule analyzer Figure 6.6: The Rule Manager 6.3.7 T em poral E volution M odule The Temporal Evolution Module manages different versions of possible object worlds, the universal object identities of objects and their specifications. It captures some of the most fundamental evolution cases associated with these objects. Specifically, it accommodates the four types of temporal evolution introduced in chapter 3. These are: 1. Universal Object Identity-to-Universal Object Identity; 2. Universal Object Identity-to-Possible Object World; 3. Possible Object World-to-Possible Object World; 4. Possible Object World-to-Universal Object Identity. It also handles the historical mappings introduced in chapter 3. In general the Temporal Evolution Module considers the temporal past and current in formation of a given possible object world and accommodates new information for it, including but not limited to any possible new temporal relationships between it and other possible objects worlds for a given object or different ob jects. In general, this module also provides services for the Time Manager and request services from the Object Manager. 170 6.3.8 D iction ary M anager The Dictionary Manager attaches meaning and describes contexts to the pos- i sible object worlds and universal object identities of objects. This module j I consists of three components: The first component describes the attachm ent of context to possible object worlds and universal object identities. The second component describes the objects that may have the same possible object world and the corresponding lifespans of those possible object worlds. The third j component describes the meaning of words. At this stage of our implementa-j tion we have attached very simple sentences and contexts to possible object ' worlds. Also our dictionary contains only a set of 100 or so Webster dictionary > words th at are useful for testing our model. The Dictionary Manager is directly J connected to the Constraint Manager and Object Manager. j i 6.3.9 O b ject M anager ! The Object Manager offers object-oriented data management by providing sup- i port for schema definition, non-temporal and temporal object manipulation, j i non-historical and historical transaction, and temporal query processing and j version control. It also handles the definition of possible object worlds, univer- I j sal object identities and temporal operations and functions on these objects. In addition it offers primitives for creating and archiving objects, and attaching > 171 meanings and temporal interpretations to objects. The Object Manager pro vides these services by calling the Dictionary Manager and Storage Manager. 6.3.10 Storage M anager The Storage Manager provides routines for creating, modifying and archiving i temporal and non-temporal objects within a file. It also provides routines fo r! temporal and non-temporal object retrievals. In our system, we have used records to store temporal and non-temporal objects and their temporal v er-' sions. Also, as our basic data structures we have used link lists and trees. For example, an object and its versions are all linked together as a linked list, with j i the current version being the first node in the linked list. In order to reduce; ! the search tim e for finding a specific possible object world, in our implementa tion we have stored the records according to their tim e tags. That means that [ all the possible object worlds of an object with the same tim e tag are linked together as one link. 1 I I 6.4 D ata Structures j i In this section we describe some of the data structures of our prototype, namely J j Temporal object, POW , UOI, Func_Obj and dictionary. All data structures1 consist of mainly three kinds of “attributes” which are grouped according to their functionalities. The main functionalities considered in the first version of the prototype were: • identification; • house keeping; • physical linkage between different objects. In chapter 4, we have defined our temporal object to be as follows: object = (oid, UOI, (PO W a(ti pj), ....... , PO W W {tn n))) where • oid is the object id. • UOI is the universal object identity of the object, which is tim e invariant. • PO W aiH p ), ....... , jP0W W (tn p jk ) is a sequence consisting of the possible object worlds of the object and their corresponding priorities at some specific time. Object is definition of our temporal object which has three groups of “at tributes” as described at the beginning of this section. The first group is to identify the object by using o b jJd and name. O b jid is a data structure of three identification numbers. The second type of “attributes” is a set of house keeping variables for the object such as create.time for recording the tim e of 173 creation of an object, last.modify time for recording the time of the object’s j last modification and archive_time for recording the time of the virtual delete. ! i The third group of attributes is a set of five pointers. The object has two pointers, namely next and prev, pointing to other objects th at are next to it and preceding it. One pointer (uoLptr) is for the Universal Object Identification (UOI) and the rest of the pointers (pow start and pow.end) are pointing to a I I chain of Possible Object Worlds (POW) related to the object. All Objects are j linked as a doubly linked list with the head node called obj.time-tbl and the i newly created object is appended at the end of the linked list. The data structure of UOI contains two sets of triple identifier, namely j uoLid and msg-id. UoLid is the unique identification for the Universal object j i identity of an object, and the msg.id is to record the “message” identifica- I \ i tion which is stored in one of the dictionary entries. In the prototype imple- j m entation, each unique meaning or message is mapped to an unique message j identification. POW consists of three groups of “attributes” similar to the data structure I of OBJECT. The first group is for the identification of the POW itself. These ! I are: powJd, msgJd and Ls. powJd and m sgJd are triple identifiers which have j been described previously. Ls is a new data structure which represents a period [ of tim e with the starting and ending time. In the prototype implementation, t different POWs can have the same meaning but with a different period of time. The second group is the house-keeping group. Priority is self explanatory. Transact J is a record of the last modification time. Flag shows the activeness of the POW and also shows the active period of time. In the flag, PLUS means j active and MINUS means inactive. Both PLUS and MINUS are macros defined ! ! in the same file of all the data structures. Furthermore, the starting time of the object being active is recorded as the current time of the transaction and i the end of the time will be assigned as infinity by default, which is actually the j current time. Modification of the flag is lead by a virtual delete of the POW . j AddJnfo is used for the attachem ent of additional information for the POW of { an object. 1 The third group of three attributes (prev, next and obj-ptr) are used for ; pointing to the previous POW , the next POW and the object which links to the POW . All the POWs on the same chain are related as doubly linked lists : j and the newly created POW will be appended to the end of the POW chain, j I FUNC-OBJ stands for functional object which show the evolution of one i i tem poral object to another temporal object. In other words, the data structures ! OBJECT, POW and UOI have established the physical connections between 1 these objects while FUNC-OBJ will give the user another view of the connection of the objects. There are four kinds of FUNC-OBJ defined in the prototype : I system, namely PP (POW to POW transition), PU (POW to UOI transition), i UP (UOI to POW transition) and UU (UOI and UOI transition). Similar ! to the above data structures, a functional object has its unique identification (f_oid) and its name. In terms of house-keeping, a functional object has a flag which records I the type (UU,UP,PU, or PP) of transition of the function. There are two pointers pointing to the next functional object and to a data structure called FUNC-MAP. FUNC-MAP stands for functional mapping, which records the domain (from) and range (to) of a function. I 6.5 C oncluding R em arks i | This chapter has described the system architecture of a temporal object database] system and its implementation. The prototype environment developed here uti lizes the ideas we presented in earlier chapters for the support of temporal data and the tem poral evolution of data. Specifically, it tests the validity of our ; paradigms for analysis proposed in the conceptual portion of the thesis. This , implementation is based upon current object-oriented programming technology • and resembles a stepwise approach to developing a fully-fledged temporal ob- j I ject database management system. Our current system runs on a Sun 4/UNIX j workstation and is tested on small personal databases. ' The prototype does not implement all the concepts discussed in the con- i i 1 ceptual framework. For example, detailed verification of properties of evolving j I objects and object equivalence require sophisticated tools and much research i I I 176 | I i I I before incorporating them into the environment. Notwithstanding its limita- I i tions, the prototype system should provide vital empirical feedback as to the usefulness of our paradigms before one can contemplate the sort of investment i 1 needed to implement the full framework. This prototype has revealed several im portant implementation issues. At an early stage of the construction of our temporal object database system, we had the choice of “starting from scratch” and “utilizing an implementation j base” (e.g., the 3DIS prototype.) The later required substantially less effort , on low level object oriented database implementation but it lack somewhat the ; generality and independence and several basic functionalities we were interested in, and provided less efficient performance. For the purpose of this prototype, I we chose the former approach mainly for two reasons. j f First, utilizing an existing object-oriented development system will not ' perm it us to focus and verify the generality of our approach. We wanted t to construct extensive temporal object management facilities because this was ; i part of our initial research goal. Second, our approach to extending “real” j object oriented software systems such as the 3DIS, calls for the addition of an j “interface layer” between our system and the other system. We have chosen this ! direction because we felt it would be easier to extend any other object oriented database system to incorporate our approach to temporal data modeling. Only j further work in the area will determine whether this decision was indeed viable. ! C hapter 7 C onclusions and Future W ork “ I like the dreams of the future better than the history o f the past” Patric Henry In this thesis, an approach for integrating tim e with objects and for sup porting the tem poral evolution of objects in object databases was presented. We introduced the possible object worlds paradigm, a novel concept for de scribing tem poral objects. Although presented using the object data model in this thesis, the underlying philosophy of the possible object worlds paradigm transcends the details of any data model or modeling paradigm. We also showed how our new ideas and propositions can be utilized to extend other models, such as the 3DIS to incorporate temporal objects and the tem poral evolution of objects. Finally, we discussed the implementation of a prototype system which realized many of the proposed ideas. This chapter concludes this thesis with a summary of the work, its contributions, expected j impact of the work and evaluations and directions for future research. i. I 7.1 Sum m ary o f Our Work This thesis has described an approach for integrating tim e with objects and i | for supporting the temporal evolution of objects in object databases. First, we | identified a new research area and described the central research questions in ! I th at area. Our research has uncovered a number of problems unique to tern- , poral object database systems, and identified some possible solutions to them. In consequence, we concentrated on the definition of new modeling concepts to ; i capture certain aspects of design th at are not amenable to description by data ; models th at were developed in the context of adm inistrative database systems. ^ i Such data models include the “classical” record-based data models, and the I > t “semantic” data models. In particular, we focused on the semantics of time and on identifying the ■ tem poral aspects of objects in the context of semantic and object databases. ; Our work identified changes to existing notions of temporal data th at are nec- : essary because of the transition from the relational to the object model. We ■ extended and modified existing object notions with temporal semantics. j The framework for this research is a simple, extensible, temporal object database system. In the approach taken here, several temporal principles in the [ I \ I 179 ! 1 r I context of object databases were first defined; they served as a framework for the definition of what constitutes a temporal object model and of the semantics of tim e in the context of semantic and object databases. We also presented a precise characterization of the properties of temporal objects, thus providing a means of augmenting the data modeling power of the object model, particularly versions, with temporal modeling concepts. A temporal object model has been developed to provide a descriptive sup port for conceptual temporal object database design. This model provides a simple set of temporal modeling mechanisms to support graceful temporal database evolution. Some of the critical research issues addressed include tem poral information modeling, dynamics and evolvability (information structure and database content), and semantic object equivalence. The primitive temporal constructs and operations of our model serve as a foundation for extending an “existing” model to incorporate temporal notions, thus demonstrating the applicability of our model and abstract concepts. In particular, we concentrated on extending the 3DIS database model to incorpo rate the semantics of tim e and support temporal data. Our method resulted in a unique approach towards the synthesis of an integrated 3DIS model that utilizes several of our abstract concepts. For validation and simulation of our theoretical work, an experimental prototype of our temporal object database system has been implemented us ing current object-oriented programming technology and running on a Sun 4 180 workstation and tested on small personal databases. The prototype tests the paradigms for analysis proposed in the conceptual portion of the thesis. The system itself presents an advance of “existing” temporal object system devel opment and maintenance support technology. The simple temporal object database concepts and model described in this thesis addresses the problems of temporal modeling and evolution of objects. The model provides the user with the basic primitives for temporal object definition, manipulation and retrieval. It supports the tem poral evolution of objects, allows tem poral relationships to be established among objects and allows the dynamic migration of objects. The primitive operations of the model may be used as the basis for the specification and stepwise development of database models and database applications of increasing complexity. 7.1.1 C on tributions o f Our W ork The contributions of our work to the specific research endeavor of developing generic concepts for temporal object database modeling are several. In this section, we outline the primary contributions of this work. First, this thesis identifies a new research area and isolates the central research questions in th at area. While we feel that our initial efforts substan tially meet the goals outlined in chapter 1, we also realize that this new area has opened several new avenues of potential future research and development, some of which are outlined below. 181 Second, we have shown that existing notions of temporal data must be modified because of the transition from the relational model to the object model. We therefore, have isolated and identified such changes by focusing on the semantics of tim e in the context of object databases. In consequence, we have defined several new notions and abstractions mechanisms which provide a natural and convenient mechanism of representing temporal objects. One such abstraction, is the notion of “uncertainty” which allows us to handle potential objects, i.e., objects that may or may not exist sometime in the future. I The temporal object/data modeling concepts identified and defined in our j temporal object database system may be regarded as a set of proposed con- ! I ceptual requirements for a temporal object model. This definition of temporal . modeling requirements is based on our view of what are the distinctive features i l of a temporal object. Our contribution in this regard has been to identify a j small number of generic modeling concepts underlying temporal objects, and i give concrete definitions to them while imposing as few conceptual restrictions ! as possible. An example of this approach, is the concepts of possible object worlds and universal object identities. These notions provide a richer and more flexible framework for designing and developing temporal object models. The reason for v I ascribing greater reality to objects through the possible object worlds paradigm, ■ comes out in the view that users impose a temporal interpretation on reality. ! I l As such a database schema must conform to the structure of the user’s mind, ; 182 as opposed to the user conforming to the structure of the database. Another example is the representation of temporal inter-object relationships and the . identification of temporal constraints. A m ajor aim of the design of our temporal object database system has been to achieve an intergration of the abstract concepts that were assumed to charac terize temporal data. These abstract concepts may be regarded as representing I temporal objects, temporal inter-object relationships, and the temporal evolu- : tion of objects as described in chapter 3. All such aspects of abstract temporal j I concepts have been given concrete definitions in our system. We are unware of any existing temporal object data modeling approach that has attem pted an conceptual integration of time. I A fundamental contribution of our work, not shared by previous approaches, i is the integration of our notions to existing object models, thus showing the i feasibility of our approach. We have done this by extending a rich, extensible | object database, the 3DIS, to incorporate the notions developed in our tempo- i ral object database model. In addition, we have defined a set of principles that i all temporal object models should adhere. As such, we have established some i metrics for determining what constitutes a tem poral object database; these | metrics can all be used to evaluate temporal object database systems. j I The approach to temporal and conceptual database object modeling de- j I scribed in this thesis is a system with facilities to support the temporal evolu- J i tion of objects at various levels of abstractions and granularity, either directly \ 183 i requested by the user, or suggested and/or conducted by the system. It sup- , i ports evolvability and object migration all of which must be supported in a dynamic object database. In addition, the model supports a wide range of i object modalities such as temporal, structural, behavioral, abstract and unfor m atted objects. One of the goals of temporal object model has been to give some practical definition to these notions. In this sense, our model may be I thought to illustrate a paradigm for object oriented, temporal and evolution : data model development. 7.1.2 Im pact o f Our W ork | This research has potential significant impact in several areas. First, our work is the first step towards the synthesis of an integrated object model th at sup ports the temporal aspects of data modeling in addition to the structural and [ i dynamic ones. As such, our work on identifying the temporal aspects of objects and operators over them should provide significant insight into the problem of supporting and manipulating the temporal evolution of data. Our research i I should establish the first solid framework for integrating tim e with objects. 1 Second, we expect our work to have a direct impact on how various tem- | poral properties of objects can be incorporated into existing object models. Once our work on identifying the temporal aspects of objects and operators j over them is complete, these structures and operations can be used in other ! I models by extending or changing these models. Thus our model should be a ■ I 184 valuable temporal object model in its own right, and a powerful notation for ' describing other temporal object models. While the primary context of our , i study is object databases, our results should be applicable to record-oriented j (e.g. relational) database management systems as well. j Third, our research applies temporal notions to the problems of object and j m eta-data (conceptual schema) evolution. One result of this should be insight J I into dealing more effectively with the integration of version databases with | l tem poral databases. In consequence, our work results in evolution principles j and techniques useful in object systems, which are of increasing significance j and practicality. For example, we anticipate results in dealing effectively with ! schema evolution and object migration over time. Fourth, our work on tool construction and experimentation should provide ; 1 i insight into the nature of the design and development of object systems in a i temporal domain. In the specific framework of temporal data, we have explored I I ! the practicality of creating temporal objects and temporal object relationships in response to a temporal query and of representing and viewing temporal ' objects. The results we have obtained in this area should be applicable in . practice to the design of end-user interfaces for databases including tem poral ’ information. i While there are no formal measures to show the power of the work de- | i scribed here, functionality and simplicity have been demonstrated by examples | throughout the thesis and by experimenting with the parts of the prototype implementation that are functional. 7.1.3 D irection s For Further R esearch The gradual acceptance of object database systems allows us to expand our research horizons and start looking at some problems which are particularly relevant to objects. The research described herein has focused on the defini tions of a set of generic concepts for describing temporal data, th at would be the core of an temporal object model. Thus, while the outlook for a temporal object database system is improving, before such use can become more prac- ■ tical, a number of im portant issues need to be addressed. In almost all cases, i ! the answers to these questions will have a theoretical components and an im- j plementation component. Also, there are several further areas which can be j explored to extend the techniques developed here. Areas of particular note are ! also discussed in this section. 7.1.3.1 Theoretical Foundations i l i Recently, there have been some efforts to provide a logic-based formalism for j object oriented concepts by extending first-order logic with the semantics o f f object identity, inheritance, complex object and even declarative functions. We believe th at temporal logic can be used as a basis for the description and analysis of the dynamic properties of a temporal database system. 186 Temporal logic reasoning can also be directly interpreted on infinite trees and so can be used to represent the evolution of objects, viz. the evolution in tim e of the database states. Temporal logic is best suited for studying liveness properties of a database system, which is a characteristic th at our system supports. Therefore, one possible future research direction is to develop certain special logic primitives for describing and analyzing temporal database systems such as ours. The primary aspect of the temporal object model that requires a formal basis is the temporal query model. 7.1.3.2 Temporal Query Languages Temporal calculus-based query languages have made great strikes in the past few yeaxs in terms of extending Quel or SQL. The underline model of each proposed language, and there have been at least ten such proposed languages, their comprehensiveness and their definitional completeness varies widely. For example, some languages support only basic queries while others m aintain full support for update and aggregation. From this we can clearly conclude that there does not seem to be some common temporal query language. So, one possible future direction of this work is to look towards the development of such a language. For a temporal query language to have more impact on temporal object databases, we need to address several issues such as “what constructs are most appropriate in a temporal query language?” . Also since temporal, calculus-based query languages can be implemented using a temporal algebra, 187 a possible research direction is addressing the question “on which algebra should ; a temporal object database management system be based?”. 7.1.3.3 Performance Various components of a temporal object database system must be architected to both support temporal data and accommodate the fact th at in a temporal object database system historical information is im portant and should not be deleted. Hence, the architectural techniques used in “non tem poral” systems | are not adequate or appropriate for temporal object databases. Therefore, con- ' i siderable work needs to be done in devising approaches and specific techniques I for designing hardware architectures more suited to tem poral object databases and to improving their performance. Secondary indexing, physical clustering, authorization and temporal ob- : i ject directory management are some of the primary components of a temporal . object database which require new architectural techniques to obtain at least satisfactory performance. Our experience from implementing our ideas has verified this. I I 7.1.3.4 User Interfaces j j Although a simple prototype has been developed for the user interface, many features of the model’s interface are still unimplemented. A fruitful direction , would be towards the expansion of the temporal object user interface and a | more complicated set of temporal queries. Particular emphasis on the develop ment of a framework and facilities for graphically visualizing the contents of a t temporal object database system and creating an animation as a response to a | temporal query would be beneficial. Naturally, the design of a graphical user j interface raises several considerations such as: * I i • The interface should handle schema representations th at may be larger j than the display area; | • The tim e axis should be easily represented; • There should be a natural (object,time) mechanism that allows key fea- i tures to be displayed while other suppressed; j I I i • Style consistency should be maintained among all the components of the j I interface. I • Different display modes should be employed for efficiency. Also a design of a Temporal Object Server for answering questions about 1 ! the temporal aspects of a system such as relationships among activities would I I also be a desirable feature. The temporal object server will also manage versions I and configurations. Designing a Temporal Object Browser that will provide a graphical viewing of temporal objects is also a possible direction. j l Future work on end-user tool construction and experimentation, viz., the Temporal Object Server and the Temporal Object Browser, should provide 189 i [ insight into the nature of user/system interaction in a temporal domain. In the specific framework of temporal data, exploring the practicality of creating , an animation as a response to a temporal query and of graphically viewing j temporal objects is im portant because any results obtained in this area should j be applicable in practice to the design of end-user interfaces for databases | i including temporal information. As part of our on-going research in the area, 1 we are currently exploring these issues. ; 7.1.3.5 Temporal Inferencing and D eductive Databases ! Recently there has been a tremendous interest in research on deductive databases i [106, 91, 160]. One of the reasons for this “sudden” interest on Deductive 1 I Databases is because they provide a natural basis for handling such problems I as negation, recursion and recursive temporal constraints th at conventional 1 i databases have usually some difficulty with. Deductive databases have prop- . erties such as existence of natural semantics, realistic evaluation mechanisms ; i for answering queries, and the expressibility of languages. One of the most | prominent features of deductive databases is their ability to support a rule- based, declarative style of expressing queries. In general, traditional deductive i databases consist of a relational database and a set of rules of inference. More j recently a deductive object database based on the object data model has been j 1 introduced [167]. This model utilizes mathem atical logic and provides support i i i 190 ! for classification, aggregation, generalization and association. A deductive ob ject database can be realized by extending a deductive database with a set of primitive operations that can be directly evaluated. j Since deductive databases represent available knowledge about the real world, they can also incorporate temporal inferencing into the temporal database. Therefore one possible future research direction of this work is to concentrate on temporal inferencing mechanisms. This allows us to drive some temporal information about objects which is not currently available under non-deductive databases. Unfortunately, the richness of deductive databases is normally coun terbalanced by the complexity of their associated evaluation mechanisms, an issue that becomes even more problematic when temporal inferencing is incor porated. ! 7.1.3.6 The M ulti Database Context i The recent trend towards decentralization of computing has accentuated the ' need for principles and techniques to support the controlled information shar ing and exchange among the component database systems. The ever larger ; number of databases available makes it imperative to allow shared access these ; 1 databases in such a way th at individual systems m aintain their automonomy. ! Sharing may be at various levels of abstraction and granularity, ranging from 1 data objects to m eta-data, to operations and even data models and database , t i 191 management systems. Our preliminary results indicate th at such an environ ment can be a very fruitful application domain of our approach. In the following we attem pt to demonstrate this argument more clearly. • The Acquaintance Problem The preceding discussion on sharing of objects assumes th at the objects being shared are already known. However, given a large group of in dependent objects th at exist in a network and that continuously evolve and expand, it is usually necessary for an object to communicate with other totally unknown objects. The acquaintance problem pertains to introducing two unknown objects to each other and finding out what in formation should be shared among these two newly acquainted objects. Preliminary results show th at by using our concepts of universal object identities, possible object worlds and tim e discussed in earlier chapters and our definition of object equivalence we can alleviate many such prob lems. • Presentation Problem The presentation problem pertains to representing the different states th at a dynamic and evolving object can reach at different tim e slices. This is particularly im portant for use in CAD applications. • Semantic Extensions 192 In this work we have largely emphasized on the semantics of versions of ' a single object. Although our work is extendible to semantics of versions ' of composite objects, of a class and of a schema we have not emphasized | it enough here; this is mainly due to the complexity of our original goal. | However, we feel th at this is an immediate goal and are currently looking I towards a layered architecture approach to this problem. ' i 7.2 C oncluding R em arks The work in this thesis provides some conceptual mechanisms to represent tem poral objects and to analyze the effect of tim e on the evolution of objects : in the context of object databases and at the finest level of data granularity, viz. ; the object level. The flexibility of the underlying representation permits us to j capture how the evolution of objects manifest themselves on the existing system j structure in a coherent fashion. The suggested approach has much merit as a ; means of incorporating the semantics of tem poral objects into existing data models, as illustrated by the use of a simple mechanism to extend the 3DIS to | support temporal data. Since there has been little previous work on tim e in object databases, our J concern has never been what rigorous specification techniques should be used in incorporating tim e in object databases, but rather, what sort of semantics I i are necessary to characterize temporal objects and the feasibility of using these | I I 1 9 3 ; I concepts to extend existing object models. By arguing th at it is necessary to re-define existing notions of temporal data, by defining such notions, charac terizing the temporal aspects of objects in the context of object databases, and incorporating them into existing databases we have shown th at our notions can be actively employed for representing temporal objects. In addition our experimental prototype has validated our results. In consequence, we hope to contribute to the developing consensus to adopt rigorous techniques and to further research in the area. In this dissertation we have identified a fruitful re search area and have opened several new avenues of research for the remaining decade. 194 A p p en d ix A A p p en d ix I i I i i “ What then is time? “ I f no one asks me, I know what it is. u I f I wish to explain it to her who asks, ” i “ I do not know ” St. Augustine, Confessions i It is tem pting to treat “tim e” as a temporal object. However, we have ! chosen to treat it as a new modeling construct instead since time does not posses the same characteristics as temporal objects such as having universal ' object identities or possible object worlds. Hence, in our model we treat tim e 1 ! as discrete and define the set Time to be a linear order set such that for any I two times t, and tj | i either U equals tj or £ ,• is less than tj ! 195 Formally, the set Time is a countably infinite set of times < 1, t2 ,... with a linear order Before such that Before = { (U,tj) \ ti is less than tj }. In the implementation of our temporal object model, time can be repre sented either as a tim e point or as interval where in the former case a tim e point is defined as an interval of zero duration. To more accurately represent temporal data and the evolution of temporal objects, it is desirable to model different tim e dimensions such as valid, transaction and user-defined times. For simplicity in representing this information and in developing an initial experi mental prototype we consider only valid time, but the other two kinds of tim e can easily be incorporated into the model. B ibliography [1] S. Abiteboul and R. Hull. Ifo: A formal semantic database model. AC M I Transactions on Database Systems, 12(4):525-565, 1987. [2] J. R. Abrial. D ata semantics. In J. W. Klimbie and K. L. Koffeman, editors, Data Base Management, pages 1-59. North Holland, 1974. j [3] H. Afsarmanesh. The 3 dimensional information space (3dis): An exten-! sible object-oriented framework for information management. Technical j Report CRI-85-21, Computer Research Institute, University of Southern California, Los Angeles CA, October 1985. [4] H. Afsarmanesh, D. Knapp, D. McLeod, and A. Parker. An approach toj engineering design databases with applications to vlsi/cad. In Proceedings ■ o f the International Symposium on New Directions in Computing. IEEE, | August 1985. I I I [5] H. Afsarmanesh, D. Knapp, D. McLeod, and A. Parker. An extensible, 1 object-oriented approach to databases for vlsi/cad. In Proceedings o f the International Conference on Very Large Databases. VLDB Endowment, > August 1985. j [6] H. Afsarmanesh, D. Knapp, D. McLeod, and A. Parker. Information i management for vlsi/cad. In Proceedings o f the IE E E International Con- \ ference on Computer Design: VLSI in Computers and Processors. IE E E ,! October 1986. [7] H. Afsarmanesh and D. McLeod. A framework for semantic database models. In Proceedings o f the N Y U Symposium on New Directions for Database Systems. New York University, May 1984. ' [8] H. Afsarmanesh and D. McLeod. A framework for semantic database models. In G. Ariav and J. Clifford, editors, New Directions fo r Database Systems, pages 149-167. Ablex, 1986. [9] H. Afsarmanesh and D. McLeod. An interactive interface for 3 dimen sional information space object databases. Technical report, Computer Science Department, University of Southern California, Los Angeles CA, October 1989. [ [10] H. Afsarmanesh and D. McLeod. The 3dis: An extensible, object- i oriented information management environment. A C M Transactions on \ Information Systems, 7(4):339-377, October 1990. j [11] R. Agrawal and N. Gehani. Ode (object database and environm ent):! The language and the data model. In Proceedings o f the A C M SIGMOD j International Conference on Management o f Data. ACM SIGMOD, May I 1989. ! I [12] R. Ahad. The object shell: An extensible system to define an object- i oriented view of an existing database. In K. R. Dittrich, editor, Advances ' in Object-Oriented Database Systems, pages 174-192. Springer-Verlag, 1988. [13] R. Ahad and D. McLeod. An approach to semi-automatic physical1 database design and evolution for personal information systems. Techni- I cal Report CRI-85-11, Computer Research Institute, University of South- j era California, Los Angeles CA, September 1985. ; [14] R. Ahad and D. McLeod. Performance optimization techniques for an j object-oriented semantic data model. Technical Report CRI-86-21, Com- ! puter Research Institute, University of Southern California, Los Angeles CA, July 1986. ' [15] I. Ahn. Towards an implementation of database management systems J with temporal support. In K. R. Dittrich, editor, Proceedings of the AC M | SIGMOD International Conference on Management of Data, pages 174- j 192, 1986. i [16] A. M. Alashqur, S. Y. W. Su, and H. Lam. Oql: A query language for manipulating object-oriented databases. In Proceedings o f the Interna tional Conference on Very Large Databases. VLDB Endowment, August 1989. [17] A. Albano, L. Cardelli, and R. Orsini. Galileo: A strongly-typed inter active conceptual language. AC M Transactions on Database Systems, 10(2):230-260, 1985. [18] T. L. Anderson. Modeling time at the conceptual level. In Proceed- \ ings o f the Conference on Object-Oriented Programming Systems, Lan- \ guages, and Applications, Jerusalem, 1982. 2nd International Conference ! on Databases. i [19] T. Andrews and C. Harris. Combining language and database advances in an object-oriented development environment. In Proceedings o f the Conference on Object-Oriented Programming Systems, Languages, and ■ Applications, pages 430-440. ACM, 1987. i [20] G. Ariav. A temporally oriented data model, pages 499-527, 1986. ■ I [21] G. Ariav and H. L. Morgan. Mdm: Embedding the tim e dimension in ' information systems. Technical Report 82-03-01, Department of Decision ' Sciences, The W harton School, University of Pennsylvania, March 1982. i i [22] G. J. Ariav and J. Clifford. A system architecture for temporally oriented j data management. In Proceedings of the International Conference on j Information Systems, pages 177-186, Tucson, Arizona, November 1984. ! [23] G. J. Ariav, J. Clifford, and M. Jarke. Panel of tim e and databases. In J Proceedings o f the AC M SIGMOD International Conference on Manage ment of Data, pages 243-245, May 1983. I [24] M. P. Atkinson and P. Buneman. Database programming languages, i A C M Computing Surveys, 19(2):105— 190, June 1987. [25] R. Balzer. Autom ated enhancement of knowledge representations. In i Proceedings of the International Joint Conference on Artificial Intelli gence, August 1985. 199 | [26] F. Bancilhon, G. Barbedette, V. Benzaken, C. Delobel, S. Gamerman, C. Lecluse, P. Pfeffer, P. Richard, and F. Velez. The design and im plementation of o2, an object-oriented database system. In K. R. Dit trich, editor, Advances in Object-Oriented Database Systems, pages 1-22. Springer-Verlag, 1988. [27] J. Banerjee, H. Chou, J. Garza, W. Kim, D. Woelk, N. Ballou, and H. Kim. D ata model issues for object-oriented applications. A C M Trans actions on Office Information Systems, 5(l):3-26, January 1987. ! [28] J. Banerjee and W. Kim. Semantics and implementation of schema evo- ! lution in object-oriented databases. In Proceedings of the A C M SIGMOD \ International Conference on Management of Data, pages 311-322. ACM , SIGMOD, May 1987. ] » [29] C Batini, M. Lenzerini, and S. Navathe. A comparative analysis of ' methodologies of database schema integration. AC M Computing Sur- : veys, 18(4):323-364, December 1986. 1 ! [30] D. Batory and A. Buchmann. Molecular objects, abstract data types, ! and data models: A framework. In Proceedings o f the International Con- j ference on Very Large Databases. VLDB Endowment, August 1984. | i ( [31] D. Batory and W. Kim. Modelling concepts for vlsi cad objects. AC M Transactions on Database Systems, 10(3):322-346, September 1985. [32] J. Ben-Zvi. The Time Relational Model. PhD thesis, University of Cali- | fornia, Los Angeles, Los Angeles CA, (unpublished), 1982. [33] D. Bobrow, K. Kahn, G. Kiczales, L. Masinter, M. Stefik, and F. Zdy- ( bel. Commonloops: Merging lisp and object-oriented programming. In i Proceedings o f the Conference on Object-Oriented Programming Systems, ! Languages, and Applications. ACM, March 1986. [34] A. Borgida. Modeling class hierarchies with contradictions. In Proceed ings of the AC M SIGMOD International Conference on Management of' Data. ACM SIGMOD, June 1988. I i [35] A. Borgida, R. J. Brachman, D. L. McGuinness, and L. A. Resnick.! Classic: A structural data model for objects. In Proceedings of the AC M j 200 \ SIGMOD International Conference on Management of Data. ACM SIG MOD, May 1989. [36] A. Borgida, T. M. Mitchell, and K. Williamson. Learning improved in tegrity constraints and schemas from exceptions in databases and knowl edge bases. In M. L. Brodie and J. Mylopoulos, editors, On Knowledge Base Management Systems, pages 259-286. Springer Verlag, 1986. [37] A. Borgida and K. Williamson. Accommodating exceptions in databases and refining the schema by learning from them. In Proceedings of the International Conference on Very Large Databases. VLDB Endowment, August 1985. [38] A. Boulour and T. L. Anderson. The role of time in information process ing, a survey. In SIG A R T Newsletter, pages 28-48, April 1982. [39] G. Bracchi, P. Paolini, and G. Pelagatti. Binary logical associations in data modelling. In G. M. Nijssen, editor, Modelling in Database Man agement Systems, pages 125-148. North Holland, 1976. [40] R. J. Brachman and J. Schmolze. An overview of the kl-one knowledge representation system. Cognitive Science, 9:171-216, 1985. [41] M. Brodie. On modelling behavioral semantics of data. In Proceedings of the International Conference on Very Large Databases. IEEE, September 1981. [42] M. Brodie. On the development of data models. In M. Brodie, J. My lopoulos, and J. Schmidt, editors, On Conceptual Modelling, pages 19-47. Springer-Verlag, 1984. [43] M. Brodie and J. Mylopoulos, editors. On Knowledge Base Management Systems. Springer-Verlag, 1986. [44] M. Brodie, J. Mylopoulos, and J. Schmidt, editors. On Conceptual Mod elling. Springer-Verlag, 1984. [45] J. A. Jr. Bubenko. The temporal dimension in information modeling. Technical Report RC-6187-26479, IBM Thomal J. Watson Research Cen ter, November 1976. 201 [46] J. A. Jr. Bubenko. The temporal dimension in information modeling. In Architecture and Models in Data Base Management Systems. North- Holland, 1977. [47] J. A. Jr. Bubenko. Information modeling in the context of system devel opment. In Proceedings o f the AC M SIGMOD International Conference on Management of Data, pages 395-411. Information Processing, North- Holland, 1980. I [48] P. Buneman and R. Frankel. A functional query language. In Proceedings \ o f the AC M SIGMOD International Conference on Management o f Data. 1 ACM SIGMOD, May 1979. [49] J. Carbonell. Learning by analogy: Formulating and generalizing plans from past experience. In R. Michalski, J. Carbonell, and T. Mitchell, editors, Machine Learning: An Artificial Intelligence Approach (Volume 1), pages 137-162. Tioga Publishing Company, 1983. [50] J. Carbonell, R. Michalski, and T. Mitchell. An overview of machine ■ learning. In R. Michalski, J. Carbonell, and T. Mitchell, editors, Machine . Learning: An Artificial Intelligence Approach ( Volume 1), pages 3-24. : Tioga Publishing Company, 1983. ] [51] A. Cardenas. Database Management Systems. Allyn and Bacon, 1979. [52] A. Cardenas and D. McLeod, editors. Research Foundations in Object- ; Oriented and Semantic Database Systems. Prentice Hall, 1990. [53] M. J. Carey and D. J. DeW itt. Extensible database systems. In M. L. Brodie and J. Mylopoulos, editors, On Knowledge Base Management 1 Systems, pages 297-314. Springer Verlag, 1986. I [54] M. J. Carey, D. J. DeW itt, and S. L. Vandenberg. A data model and : query language for exodus. In Proceedings o f the AC M SIGMOD In ternational Conference on Management o f Data. ACM SIGMOD, June 1988. » [55] R. G. G. Cattell. An entity-based database user interface. In Proceedings o f the AC M SIGMOD International Conference on Management o f Data. ACM SIGMOD, 1980. 202 [56] R. G. G. Cattell. Design and implementation of a relationship-entity- datum data model. Technical Report CSL83-4, Xerox Palo Alto Research Center, Palo Alto CA, May 1983. 1 [57] R. G. G. Cattell. Object-oriented dbms performance measurement. In K. R. Dittrich, editor, Advances in Object-Oriented Database Systems, pages 364-367. Springer-Verlag, 1988. [58] S. Ceri and G. Pelagatti. Distributed Databases: Principles and Systems. McGraw Hill, 1984. [59] D. Chamberlin, J. Gray, and I. Traiger. Views, authorization, and locking in a relational database system. In Proceedings o f the National Computer Conference. AFIPS, June 1975. \ i [60] S. Chaudhuri. Temporal relationships in databases. In Proceedings of \ the International Conference on Very Large Databases, pages 160-169. IEEE, 1988. [61] I. A. Chen and D. McLeod. Derived data update in semantic databases, j In Proceedings of the International Conference on Very Large Databases. . VLDB Endowment, August 1989. ' [62] P. Chen. The entity-relationship model: Toward a unified view of data. A C M Transactions on Database Systems, 1(1):9— 36, 1976. [63] G. Clemm, D. Heimbigner, L. Osterweil, and Williams. L. Keystone: A federated software environment. In AC M SIG PL A N Symposium on Pro gramming Languages and Programming Environments. ACM SIGPLAN, j May 1985. j [64] J. Clifford. A logical framework fo r the temporal semantics and natural- | language querying of historical databases. PhD thesis, Department of j Computer Science, SUNY at Stony Brook, December 1982. | ! [65] J. Clifford and A. Croker. The historical data model (hrdm) and algebra j based on lifespans. In Proceedings o f the A C M SIGMOD International i Conference on Management of Data, Los Angeles CA, February 1987. j ACM. ! [66] J. Clifford and A. U. Tansel. On an algebra for historical relational database: Two views” Clifford james and tansel a. u. In Proceedings of the A C M SIGMOD International Conference on Management o f Data. ACM, 1985. [67] J. Clifford and D. S. Warren. Formal semantics for tim e in databases. A C M Transactions on Database Systems, 6(2):114-154, 1983. [68] W. Clocksin and C. Mellish. Programming in Prolog. Springer-Verlag, 1981. j [69] E. F. Codd. A relational model for large shared data banks. Communi- I cations of the ACM, 13(6):377-387, 1970. i [70] E. F. Codd. Extending the database relational model to capture more \ meaning. AC M Transactions on Database Systems, 4(4):397-434, 1979. , I [71] T. Connors and P. Lyngbaek. Providing uniform access to heterogeneous ' information bases. In K. R. Dittrich, editor, Advances in Object-Oriented j Database Systems, pages 174-192. Springer-Verlag, 1988. < [72] C. J. Date. An Introduction to Database Systems: Volume 1. Addison j Wesley, 1982. ! [73] C. J. Date. An Introduction to Database Systems: Volume S. Addison I Wesley, 1982. I i [74] U. Dayal and P. Bernstein. On the updatability of relational views. In j Proceedings of the International Conference on Very Large Databases. IEEE, September 1978. [75] U. Dayal, A. P. Buchmann, and D. R. McCarthy. Rules are objects too: A knowledge model for an active object-oriented database system. In K. R. Dittrich, editor, Advances in Object-Oriented Database Systems, \ pages 129-142. Springer-Verlag, 1988. [76] U. Dayal and H. Hwang. View definition and generalization for database integration in a m ultidatabase system. IEE E Transactions on Software Engineering, SE-10(6):628-645, November 1984. | 204 [77] U. Dayal and J. M. Smith. Probe: A knowledge-oriented database man agement system. In M. L. Brodie and J. Mylopoulos, editors, On Knowl edge Base Management Systems, pages 227-257. Springer Verlag, 1986. [78] S. De, S. Pan, and A. W hinston. Temporal semantics and natural lan guage processing in a decision support system. Information Systems, \ 12(l):29-47, 1987. j [79] K. R. Dittrich. Object-oriented database systems: The notions and the ; issues. In Proceedings of the International Workshop on Object-Oriented j Database Systems. IEEE, 1986. [80] K. R. Dittrich, W. Gotthard, and P. C. Lockemann. Complex entities for engineering applications. In S. Spaccapietra, editor, Proceedings o f ! the International Conference on the Entity-Relationship Approach, pages 421-440. North-Holland, 1987. [81] S. D utta. Generalized events in temporal databases, pages 118-125. 1 IEEE, 1989. [82] C. Eastman. System facilities for cad databases. In Proceedings of the I 17th Design Automation Conference, 1980. I [83] R. Elmasri and S. Navathe. Fundamentals of Database Systems. Ben- j jam in/Cum m ings, 1989. j I [84] D. B. Farmer, R. King, and A. Myers. The semantic database con- j structor. IEE E Transactions on Software Engineering, SE-11(7):583-591, ! 1985. i [85] D. Fishman, D. Beech, H. Cate, E. Chow, T. Connors, T. Davis, N. Der- i rett, C. Hoch, W. Kent, P. Lyngbaek, B. Mahbod, M. Neimat, T. Ryan, j and M. Shan. Iris: An object-oriented database management system. ■ A C M Transactions on Office Information Systems, 5(l):48-69, January ; 1987. [86] S. K. Gadia. A homogeneous relational model and query languages for i tem poral databases. In Proceedings of the A CM SIGMOD International \ Conference on Management o f Data, 1984. 205 [87] S. K. Gadia. Towards a multihomogenous model for a temporal database. In Proceedings of the AC M SIGMOD International Conference on M an agement o f Data. ACM SIGMOD, 1986. [88] S. K. Gadia. Weak temporal relations, pages 70-77. ACM, 1986. [89] S. K. Gadia and J. Vaishnav. A query language for a homogenous tempo ral database. In Proceedings o f the 4th Annual AC M SIGACT-SIGM OD Symposium on Principles of Database Systems. ACM, 1985. [90] S. K. Gadia and C. Yeung. A generalized model for a tem poral relational database. In Proceedings of the A CM SIGMOD International Conference on Management of Data. ACM SIGMOD, 1988. [91] H. Gallaire, J. Minker, and J. Nicolas. Logic and databases: a deductive approach. In Computing Surveys, volume 16, pages 154-185, 1984. [92] P. K. Garg. Abstraction mechanisms in hypertext. Communications of the ACM, 31(7):862-870, 1988. [93] S. Gibbs and D. Tsichritzis. A data modelling approach for office in formation systems. AC M Transactions on Office Information Systems, 1(4):299-319, October 1983. [94] A. Goldman and D. Robson. Smalltalk-80: The Language and its Imple mentation. Addison-Wesley, 1983. [95] J. Granacki, D. Knapp, and A. Parker. The adam advanced design au tom ation system: Overview, planner, and natural language interface. In Proceedings of the 22nd Design Automation Conference, 1985. [96] M. Hammer and D. McLeod. The semantic data model: A modelling mechanism for database applications. In Proceedings o f the AC M SIG MOD International Conference on Manaqement o f Data. ACM SIGMOD, June 1978. [97] M. Hammer and D. McLeod. Database description with sdm: A semantic database model. A C M Transactions on Database Systems, 6(3):351-386, September 1981. 206 [98] D. Heimbigner and D. McLeod. Federated information bases: A prelim inary report. In Infotech State of the Art Report: Database, volume 9 of Infotech State o f the A rt Reports, pages 383-410. Pergamon Infotech j Limited, Maidenhead, United Kingdom, 1981. [99] D. Heimbigner and D. McLeod. A federated architecture for information j systems. A C M Transactions on Office Information Systems, 3(3):253- j 278, July 1985. I [100] R. Hull and R. King. Semantic database modeling: Survey, applications, 1 and research issues. AC M Computing Surveys, 19(3):201— 260, September 1987. I 1 [101] S. Jones and P. J. Mason. Handling the tim e dimension in a data base. In j S. M. Deen and P. Hammersley, editors, Proceedings o f the International ! Conference on Data Bases, pages 65-83, June 1980. J [102] S. Jones, P. J. Mason, and R. Stamper. Legol 2.0: a relational speci fication language for complex rules. Informatin Systems, 4(4):293-305, November 1979. [103] R. Katz, E. Chang, and R. Bhateja. Version modeling concepts for I computer-aided design databases. In Proceedings o f the A C M SIGMOD International Conference on Management o f Data. ACM SIGMOD, May 1986. [104] R. Katz and N. Goodman. View processing in multibase - a hetero geneous database system. In P. Chen, editor, An Entity-Relationship ; Approach to Information Modelling and Analysis, pages 259-280. ER In stitute, 1981. I [105] W. Kent. Limitations of record-oriented information models. AC M Transactions on Database Systems, 4:107-131, March 1979. | [106] G. Kiernan, C. Maindreville, and E. Simon. Making deductive database a practical technology: a step forward. In Proceedings o f the A C M SIG MOD International Conference on Management of Data, pages 237-246. ' ACM, 1990. 207 [107] W. Kim. A model of queries for object-oriented databases. In Proceed ings o f the International Conference on Very Large Databases. VLDB Endowment, August 1989. [108] W. Kim and H. Chou. Versions of schema for object-oriented databases. In Proceedings of the International Conference on Very Large Databases. VLDB Endowment, IEEE, ACM SIGMOD, September 1988. [109] R. King and D. McLeod. The event database specification model. In Proceedings of International Conference on Improving Database Usability ; and Responsiveness, June 1982. j [110] R. King and D. McLeod. A database design methodology and tool for ; information systems. A C M Transactions on Office Information Systems, : 3(1), January 1985. [111] M. R. Klopprogge. Term: An approach to include the tim e dimension in ■ the entity-relationship model. In Proceedings of the Second International! Conference on the Entity Relationship Approach, October 1981. [112] C. Lecluse, P. Richard, and F. Velez. 02 , an object-oriented data model. In Proceedings of the AC M SIGMOD International Conference on Man agement of Data. ACM SIGMOD, June 1988. j [113] B. Liskov, A. Snyder, R. Atkinson, and C. Schaffert. Abstraction mecha- 1 nisms in clu. Communications of the ACM, 20(8):564-576, August 1977. | [114] R. Lorie and W. Plouffe. Complex objects and their use in design trans actions. In Proceedings of the AC M SIGMOD International Conference ; on Management o f Data, May 1983. 1 [115] V. Lum, P. Datam, R. Erbe, J. Guenauer, P. Pistor, G. Walch, H. Werner, I and J. Woodfi.il. Designing dbms support for the temporal dimension. In ! Proceedings of the A C M SIGMOD International Conference on Manage- \ ment o f Data, pages 115-130. ACM, June 1984. [116] V. Lum, P. Datam, R. Erbe, J. Guenauer, P. Pistor, G. Walch, H. Werner, and J. Woodfill. Design of an integrated dbms to support advanced j applications. In Proceedings of teh Conference on Foundation of Data \ Organization, pages 115-130, Kyoto, Japan, May 1985. j I 208 j [117] P. Lyngbaek and W. Kent. A data modeling methodology for the design and implementation of information systems. In Proceedings of the Inter national Workshop on Object-Oriented Database Systems. ACM /IEEE, September 1986. [118] P. Lyngbaek and D. McLeod. An approach to object sharing in dis tributed database systems. In Proceedings of the International Confer ence on Very Large Databases. VLDB Endowment, October 1983. [119] P. Lyngbaek and D. McLeod. Object sharing in distributed information systems. A C M Transactions on Office Information Systems, 2(2):96-122, April 1984. [120] D. R. McCarthy and U. Dayal. The architecture of an active database management system. In Proceedings of the AC M SIGMOD International Conference on Management of Data. ACM SIGMOD, May 1989. [121] McKenzie and R. Snodgrass. Logical modeling of temporal data. In Pro ceedings of the AC M SIGMOD International Conference on Management o f Data, 1987. [122] D. McLeod. A learning-based approach to m eta-data evolution in an object-oriented database. In K. R. Dittrich, editor, Advances in Object- Oriented Database Systems. Springer-Verlag, 1988. [123] D. McLeod. A perspective on object-oriented and semantic database models and systems. Technical report, Computer Research Institute, University of Southern California, Los Angeles CA, 1988. [124] D. McLeod. Perspective on object databases. Information and Software Technology, 33(1), January 1991. [125] J. Mylopoulos, P. Bernstein, and H. K. T. Wong. A language facil ity for designing database-intensive applications. A C M Transactions on Database Systems, 5(2):185-207, June 1980. [126] K. Narayanaswamy and K. V. Bapa Rao. An incremental mechanism for schema evolution in engineering domains. In Proceedings o f the Interna tional Conference on Data Engineering. IEEE, January 1988. [127] S. Navathe and R. Ahmed. A temporal relational model and a query ! language. Technical Report UF-CIS, Computer and Information Sciences j Departm ent, University of Florida, April 1986. I [128] J. Nievergelt, H. Hinterberger, and K. Sevcik. The grid file: An adapt- | able, symmetric, multikey file structure. AC M Transactions on Database Systems, 9(1):38-71, March 1984. [129] Ontologic, Inc., 47 Manning Road, Billerica MA. Vbase Reference Man ual - Vbase Release 1.0, 1987. I [130] J. Peckham and F. Maryanski. Semantic data models. AC M Computing ' Surveys, 20(3):153~189, September 1988. [131] D. J. Penney and J. Stein. Class modification in the gemstone object- : oriented dbms. In Proceedings of the Conference on Object-Oriented Pro- . gramming Systems, Languages, and Applications, 1987. ; [132] N. Pissinou. Integrating tim e with objects. Manuscript, Departm ent of | Computer Science, University of Southern California, Los Angeles CA, | 1989. | [133] N. Pissinou. A conceptual framework for tim e in object databases, i Technical Report CRI-90-26, Computer Research Institute, University j of Southern California, Los Angeles CA, 1990. | [134] N. Pissinou. Time in object databases, a proposal for the ph.d. thesis by niki pissinou. Technical report, Computer Research Institute, University of Southern California, Los Angeles CA, May 1990. I [135] N. Pissinou. Extending the 3dis to support time. Technical Report CRI- 91-1, Computer Research Institute, University of Southern California, j Los Angeles CA, 1991. I [136] A. Purdy, B. Schuchardt, and D. Maier. Integrating an object server 1 with other worlds. AC M Transactions on Office Information Systems, \ 5(1):27— 47, January 1987. j [137] D. Rotem and A. Segev. Physical design of temporal databases. In j sigmod. ACM sigmod, February 1987. j 210 | ! [138] L. Rowe and M. Stonebraker. The postgres data model. In Proceedings of ; the International Conference on Very Large Databases. IEEE, May 1987. ; [139] A. Segev and A. Shoshani. Logical modeling of tem poral data. In Pro ceedings o f the A C M SIGMOD International Conference on Management o f Data, pages 454-466, 1987. [140] D. Shipman. The functional data model and the d ata language daplex. A C M Transactions on Database Systems, 2(3):140— 173, March 1981. [141] A. Shoshani and K. Kawagoe. Temporal d ata management. In Pro- j ceedings o f the International Conference on Very Large Databases, pages ; 79-88, August 1986. ! [142] A. H. Skarra and S. B. Zdonik. The management of changing types in i an object-oriented database. In Proceedings of the Conference on Object- ! Oriented Programming Systems, Languages, and Applications, 1986. [143] J. M. Smith and D. C. P. Smith. Database abstractions: Aggregation and generalization. A C M Transactions on Database Systems, 2(2):105— 133, June 1977. i [144] K. Smith and S. Zdonik. Intermedia: A case study of the differences 1 between relational and object-oriented database systems. In Proceedings o f the Conference on Object-Oriented Programming Systems, Languages, and Applications. ACM, 1987. , [145] R. Snodgrass. The tem poral query language tquel. In Proceedings of ; the A C M Conference on Principles o f Database Systems, pages 204-213. j ACM, April 1984. j i [146] R. Snodgrass and I. Ahn. A taxonomy of tim e in database. In Proceedings ' o f the A C M SIGMOD International Conference on Management o f Data, pages 236-246. ACM, 1985. | [147] R. Snodgrass and I. Ahn. Temporal databases. IE E E Computer, 19(9):35-42, September 1986. j I [148] M. Stefik and D. Bobrow. Object-oriented programming: Themes and j variations. A I Magazine, 6(4):40-62, 1986. - I 211 [149] M. Stonebraker. The postgres storage manager. In Proceedings o f the International Conference on Very Large Databases, May 1987. [150] M. Stonebraker and L. Rowe. The design of postgres. In Proceedings of the A C M SIGMOD International Conference on Management of Data, May 1986. [151] R. Studer. Modeling tim e aspects of information systems. In Proceedings o f the AC M SIGMOD International Conference on Management of Data, pages 364-373, 1986. [152] S. Y. W. Su and D. H. Lo. A semantic association model for conceptual database design. In Entity-Relationship Approach to Systems Analysis and Design, pages 147-171. North-Holland, 1980. [153] Sun Microsystems, Inc., 2550 Garcia Avenue, Mountain View CA. Sun- View Programmer’ s Guide, 1986. [154] A. U. Tansel. Adding tim e dimension to relational model and extending relational algebra. Information systems, 13(4), 1986. [155] A. U. Tansel. A statistical inference to historical relational databases. In Proceedings of the International Conference on Data Engineering, 1987. [156] A. U. Tansel, M. E. Arkun, and G. Ozsoyoglu. Time-by-example query language for historical databases. In IEE E Transactions on Software Engineering, April 1989. [157] A. U. Tansel and J. Clifford. On a historical relational algebra: Two views. In Proceedings of the AC M SIGMOD International Conference on Management of Data. ACM, 1985. [158] D. Tsichritzis and F. Lochovsky. Database Management Systems. Aca demic Press, 1977. [159] D. Tsichritzis and F. Lochovsky. Data Models. Prentice-Hall, 1982. [160] S. Tsur. Applications of deductive database systems. In Proc. IEEE COMCON, February 1990. 212 [161] J. Ullman. Principles o f Database Systems. Computer Science Press, I 1983. | [162] S. D. Urban and L. M. L. Delcambre. An analysis of the structural, j dynamic, and temporal aspects of semantic data models, pages 382-389. ' IEEE, 1986. [163] J. H. Vaishanav. A homogeneous temporal extension of quel. Technical report, Texas Tech University, 1986. i [164] F. Velez, G. Bernard, and V. Darnis. The o2 object manager: An overview. In Proceedings of the International Conference on Very Large Databases. VLDB Endowment, August 1989. i [165] D. Woelk and W. Kim. Multimedia information management in an I object-oriented database system. In Proceedings o f the International j Conference on Very Large Databases. VLDB Endowment, September I 1987. • [166] W. A. Woods. W hat’s in a link: Foundations for semantic networks. In D. Bobrow and A. Collins, editors, Representation and Understanding: Studies in Cognitive Science, pages 35-82. Academic Press, 1975. I [167] C. Zaniolo. Object identity and inheritance in deductive databases: an evolutionary approach. In Proc. 1st Int. Conf. on Deductive and 0 - 0 Databases. December 1989. i i [168] S. Zdonik. Object management system concepts. In Proceedings o f the ! ACM-SIGOA Conference on Office Information Systems, 1984. 213 _ ________ i
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
PDF
00001.tif
Asset Metadata
Core Title
00001.tif
Tag
OAI-PMH Harvest
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-oUC11255750
Unique identifier
UC11255750
Legacy Identifier
DP22829