Close
USC Libraries
University of Southern California
About
FAQ
Home
Collections
Login
USC Login
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
/
Folder
Time in object databases
(USC Thesis Other) 

Time in object databases

doctype icon
play button
PDF
 Download
 Share
 Open document
 Flip pages
 More
 Download a page range
 Download transcript
Copy asset link
Request this asset
Request accessible transcript
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 = { 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, {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) • ({), 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
([< ■ * , ), 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 
Asset Metadata
Creator Pissinou, Niki (author) 
Core Title Time in object databases 
Contributor Digitized by ProQuest (provenance) 
School Graduate School 
Degree Doctor of Philosophy 
Degree Program Computer Science 
Degree Conferral Date 1991-12 
Publisher University of Southern California (original), University of Southern California. Libraries (digital) 
Tag oai:digitallibrary.usc.edu:usctheses,OAI-PMH Harvest 
Format theses (aat) 
Language English
Permanent Link (DOI) https://doi.org/10.25549/usctheses-oUC11255750 
Unique identifier UC11255750 
Identifier DP22829.pdf (filename) 
Legacy Identifier DP22829 
Document Type Dissertation 
Format theses (aat) 
Internet Media Type application/pdf 
Type texts
Source University of Southern California Dissertations and Theses (collection), University of Southern California (contributing entity) 
Access Conditions The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the author, as the original true and official version of the work, but does not grant the reader permission to use the work if the desired use is covered by copyright. It is the author, as rights holder, who must provide use permission if such use is covered by copyright. 
Repository Name University of Southern California Digital Library
Repository Location USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Repository Email uscdl@usc.edu
Linked assets
University of Southern California Dissertations and Theses
doctype icon
University of Southern California Dissertations and Theses 
Action button