Database Reference
In-Depth Information
v
t
y
t
x
Figure 3.3 Sliced representations for moving ( real )and moving ( point ).
completely the issue of how such functions can be represented. A function
f : A instant A α is simply an infinite set of pairs from A instant × A α .
We call a model where it is allowed to define the semantics of types just
in terms of infinite sets an abstract model . An abstract model is conceptually
simple and elegant, but to implement it, we have to provide a discrete model .In
a discrete model, all the infinite sets of the abstract model have to be described
in terms of finite representations.
The discrete model for the design above introduces for the time-dependent
types the so-called sliced representation . That means that to represent a function
of time, the time domain is cut into disjoint time intervals ( slices ) such that
within each slice the development can be represented by some simple function
of time. “Simple” actually means finitely representable. In other words, the
function for a slice can be described by a few parameters rather than an infinite
set of pairs. Figure 3.3 illustrates the sliced representation for a moving ( real )
and a moving ( point ).
The representation of a single slice, consisting of the time interval and the
function description, is called a unit . In the discrete model it makes sense to
introduce explicit data types for units, for example, upoint , ureal , ubool .Such
types are available in the SECONDO system described below.
The representations of functions within a slice (called unit functions ) are
chosen to support as many operations of the abstract model as possible in
a consistent way. For a moving ( point ) a linear function of time is used. For
moving ( real ), unit functions are quadratic polynomials of time or square roots
thereof. This allows one to represent the time-dependent distances between
moving objects, or the development of the perimeters or sizes of moving regions,
correctly.
3.3 S ECONDO
In this section we describe the SECONDO DBMS prototype. In the context of this
chapter, SECONDO is of interest for the following reasons: (1) It implements the
model of Section 3.2 . (2) It allows one to visualize and animate moving objects
and the results of queries. (3) It is extensible at all levels (kernel, optimizer, and
Search WWH ::




Custom Search