You are on page 1of 24

CRF-RDTE-TR-20090202-01

2/2/2009

CORSELLO
RESEARCH TEMPORAL CONCEPTS
BACKGROUND FOR TEMPORAL INFORMATICS
FOUNDATION

Public Distribution| Michael Corsello


Corsello Research Foundation

Abstract
Time is an ever present dimension that pertains to all facets of information. At this time, there is little
support for the concept of temporal information in computational systems. This lack of support
includes relational database management systems (RDBMSs) and programming languages. This paper
provides for a core framework for the further development of temporal technologies. The core data
types discussed in this paper provide a full temporal construct for all aspects of computing. This
whitepaper will focus on a core temporal model that may be implemented for any platform or language.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Table of Contents
Abstract ......................................................................................................................................................... 2
Introduction .................................................................................................................................................. 4
Introduction to Time ..................................................................................................................................... 4
About Time................................................................................................................................................ 4
Temporal Concepts ....................................................................................................................................... 5
Temporal Data .............................................................................................................................................. 6
Versioning ..................................................................................................................................................... 7
Archival ......................................................................................................................................................... 7
Calendaring Systems ..................................................................................................................................... 8
Temporal Data Constructs ............................................................................................................................ 8
Core Temporal Data Types........................................................................................................................ 8
Inclusivity .................................................................................................................................................. 8
Compositions ............................................................................................................................................ 9
Recurrence ................................................................................................................................................ 9
Temporal Operations .............................................................................................................................. 10
Absence of Time.................................................................................................................................. 12
Durations............................................................................................................................................. 13
Complex Temporal Types .................................................................................................................... 13
Compound Temporal Types ................................................................................................................ 14
Standard Time ..................................................................................................................................... 16
Relative Time....................................................................................................................................... 16
Temporal Uncertainty ......................................................................................................................... 16
Extended Temporal Entities ................................................................................................................ 18
Atomic Time ........................................................................................................................................ 18
Astronomic / Universal Time .............................................................................................................. 18
Atomic / Astronomic (Massive) Time.................................................................................................. 19
Conclusions ................................................................................................................................................. 19
Appendices.................................................................................................................................................. 19
Works Cited ................................................................................................................................................. 19
Temporal Structures Diagrams ............................................................................................................... 21

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Introduction
Time is of the essence. This holds true for everything that exists in the real world. Time is a domain of
existence that transcends space, yet is intimately paired with it. In the computer world, time is a largely
overlooked aspect of information. The most complete concept of time in most computer applications is
the concept of a time/date stamp. This is simply inadequate to accommodate even a basic need for
temporal positioning.

To address this limitation, there is a critical need for a temporal architecture that serves as a framework
for modeling information with respect to the temporal dimension (time). This framework will transcend
platforms, programming languages and local infrastructures. This temporal architecture further divides
the concept of time into primary data constructs and overarching informational paradigms. From these
core constructs, any aspect of temporal positioning and computation can be performed.

Introduction to Time
Time is the principle aspect concerning a temporal system. While this statement may seem intuitive,
there is much more to time than just time.

Time - A nonspatial continuum in which events occur in apparently irreversible succession from
past through present to the future. An interval separating two points on this continuum,
measured essentially by selecting a regularly recurring event, such as the sunrise, and counting
the number of its recurrences during the interval of duration.

--American Heritage Dictionary

About Time
Time is linear in general respects; it passes unaffected by our existence and activities. Instead, we
measure all things in respect to time, using varying methodologies to do so. Much like the units of
measure for distance or weight, time has been measured in many ways. Unlike distance and weights
measures however, time is still measured in many of the historic manners, and in many new ways.

The myriad of temporal reference scales and temporal units of measure are a complicating factor in all
aspects of temporal recordation. This is then further obfuscated by the relational factors that define
how we compare these recorded temporal references. Beyond these factors is the compounding issues
of accuracy and precision of temporal measure, which vary relative to temporal data usage.

Time is truly a cosmic enigma as taken from the text From Sundials to Atomic Clocks:

 It’s present everywhere, but occupies no space.

 We can measure it, but we can’t see it, touch it, get rid of it, or put it in a container.

 Everyone knows what it is and uses it every day, but no one has been able to define it.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

 We can spend it, save it, waste it, or kill it, but we can’t destroy it or even change it, and there’s
never any more or less of it.

All of these statements apply to time. Is it any wonder that scientists like Newton, Descartes, and
Einstein spent years studying, thinking about, arguing over, and trying to define time-and still were
not satisfied with their answers?

Today’s scientists have done no better. The riddle of time continues to baffle, perplex, fascinate, and
challenge. Pragmatic physicists cannot help becoming philosophical-even metaphysical-when they
start pursuing the elusive concepts of time.

Temporal Concepts
Time is measured in respect to the international standard second. This standard unit is used as the basis
for all temporal structures in the temporal architecture. This unit of time is divided into fractional
seconds based on the type of temporal record used, with a guaranteed reliable conversion between
temporal constructs regardless of the fractional divisions used.

From The Mechatronics Handbook:

Time and frequency standards supply three basic types of information:

time-of-day, time interval, and frequency. Time-of-day information is provided in hours, minutes,
and seconds, but often also includes the date(month, day, and year). A device that displays or
records time-of-day information is called a clock. If a clock is used to label when an event
happened, this label is sometimes called a time tag or time stamp. Date and time-of-day can also
be used to ensure that events are synchronized, or happen at the same time. Time interval is the
duration or elapsed time between two events. The standard unit of time interval is the second(s).
However, many engineering applications require the measurement of shorter time intervals,
such as milliseconds (1 ms=10-3s), microseconds (1µs=10-6s), nanoseconds (1 ns=10-9s), and
picoseconds (1 ps=10-12s). Time is one of the seven base physical quantities, and the second is
one of seven base units defined in the International System of Units (SI). The definitions of many
other physical quantities rely upon the definition of the second. The second was once defined
based on the earth’s rotational rate or as a fraction of the tropical year. That changed in 1967
when the era of atomic time keeping formally began. The current definition of the SI second is:

The duration of 9,192,631,770 periods of the radiation corresponding to the transition


between two hyperfine levels of the ground state of the cesium-133 atom.

Frequency is the rate of a repetitive event. If T is the period of a repetitive event, then the
frequency f is its reciprocal, 1/T. Conversely, the period is the reciprocal of the frequency, T=1/f.
Since the period is a time interval expressed in seconds (s), it is easy to see the close relationship
between time interval and frequency. The standard unit for frequency is the hertz (Hz), defined
as events or cycles per second. The frequency of electrical signals is often measured in multiples

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

of hertz, including kilohertz (kHz), megahertz (MHz), or gigahertz (GHz), where 1 kHz equals one
thousand (103) events per second, 1 MHz equals one million (106) events per second, and 1 GHz
equals one billion (109) events per second. A device that produces frequency is called an
oscillator. The process of setting multiple oscillators to the same frequency is called
syntonization.

Of course, the three types of time and frequency information are closely related. As mentioned,
the standard unit of time interval is the second. By counting seconds, we can determine the date
and the time-of-day. And by counting events or cycles per second, we can measure frequency.

Time interval and frequency can now be measured with less uncertainty and more resolution
than any other physical quantity. Today, the best time and frequency standards can realize the SI
second with uncertainties of ~1x10-15.

In general, all temporal data is resolved into seconds and fractional seconds based on the required
accuracy, precision and resolution.

From this general concept of time, there are a myriad of uses for the time represented by these
temporal data constructs. The three primary types of temporal usage with respect to data are Temporal
Data (static time), Versioning (temporal referencing) and Archival (historical snapshots). This paper will
address the first concept, Temporal Data with only brief discussions of the other two.

Temporal Data
Temporal data forms the foundation of describing temporal phenomenon, which serves as the basis for
all other temporal record keeping. The concept of a temporal phenomenon is based on set theory and
adheres to the rules thereof.

The most primitive type of temporal phenomenon is the Temporal Instant, or instantaneous record.
This is simply a discreet “point” in time, with no length or duration. This is analogous to the date/time
stamps existing in most computer systems. The instant is zero dimensional in that it does not occupy
time, instead demarking a location in time.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

The next primitive is the Temporal Period, or durational record (doubly bound / segment). This marks a
period or duration of time, fixed in the temporal continuum at both ends. This is a 1 dimensional
record, marking two instants in time that bound the duration between them.

Following the period is the Temporal Vector (singly bound / ray). The temporal vector is bound by a
single temporal instant and a direction, predictive or retroactive that defines the direction of temporal
flux. This record type defines an entity that has either a starting or ending point in time, but not both.

All other forms of temporal information can be derived from these primitives, in solo or in combination.
Additionally, the absence of these types is of use in temporal data management. The full concept of
implementation and operations is elaborated in the following sections.

Versioning
Versioning is a means of managing data in a temporal construct. In general, the versioning concept is
not related to the temporal nature of the data itself, but is instead related to the management of
temporal or atemporal data in time.

In the versioning scenario, variations in the structures and values of data change over time, these
changes in value are managed independently of the temporal nature of the data itself, instead capturing
the state of the data at some point in time. This is the approach used in applications such as source
content management (SCM) applications. These applications allow for the versioning of data with
respect to changes in the data. This approach is generally not temporal with the exception that the
versions and the changes contributing to the versions occurring in time.

Archival

Archival of data is similar to the versioning approach, whereby data is managed relative to changes over
time. In the archival approach however, the data is statically captured at a point in time. These
repeated captures of data are archives of the “current” state of the data at the time of archival. This
paradigm is tremendously powerful for historic analysis and temporal cataloging, at the cost of
increased data storage.

The archival of data is temporally driven as to when the archive is created and how long the archive is
considered valid. Additionally, the sense of “staleness” or obsolescence is relevant beyond the concept
of valid lifespan.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Calendaring Systems
The temporal framework provides a means of storing and relating time in an absolute manner. This
diverges from the concept of calendaring systems which define how to segment and/or segregate time
into comprehensible bins, such as days, weeks, months, seasons, etc.

A Calendaring Framework (CF) is a separate but closely related implementation of an extensible


calendaring system that includes mechanisms for relating and converting temporal data types between
calendaring systems and providing representations of those temporal data types in each supported
calendaring system. The CF additionally must provide the mechanisms for temporal adjustments to be
made based on temporal leaps. The CF implementation must address all capabilities based on existing
standards from NIST and other world time and measurement standards bodies.

Temporal Data Constructs

Core Temporal Data Types


In the temporal framework, temporal data types are considered as primitives. These primitives serve to
map and manage any describable temporal phenomenon at any scale. This is accomplished through the
use of the temporal data types described in this section.

Before elaborating on the individual temporal data types, it is necessary to describe the overarching
concepts that are implemented within each of the temporal data types. These concepts include:

 Inclusivity
 Compositions
 Recurrence
 Temporal Operations

Inclusivity
For all temporal data types there is a concept of inclusion for each section of the temporal entity. A
temporal instant has a single section, the instant itself. That instant may be included or excluded from
the valid temporal definition. When included, the instant defines that solely that instant is included as
true for the entity. When excluded, the instant defines that solely that instant is excluded as true for
the entity.

In a temporal period, there are 3 sections, the starting instant, the ending instant, and the period of
time between the ends. Each of these sections may have an inclusivity defined, resulting in 8 possible
representations for each temporal period definition.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

The concept of inclusivity is maintained in all temporal entities within the framework.

Compositions
Many temporal concepts are predicated on the ability to composite temporal entities. A simple example
is that of a work week. A basic work week may be defined as “Monday through Friday, 8am to 5 pm”.
This is actually a composition of 2 temporal entities; “Monday through Friday”, and “8am to 5pm”. Each
of these are temporal periods, which are composed via the logical “AND”.

The work week is a basic example of composition, which is present in many temporal descriptions. In
order to naturally provide this type of functionality, composition is provided in several temporal data
types, collectively known as compound and complex temporal types.

Recurrence
In addition to the concept of composition, the previous example also includes the concept of recurrence.
The idea of “Monday through Friday” is recurrent, in that it represents the period from Monday through
Friday for all time, every week. In more detailed terms, this is defined as a recurring temporal period,
which starts on Monday, ends on Friday, and recurs every week.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

This concept of recurrence is separate from the concept of composition. The “Monday through Friday”
recurring period is a single entity, as is the “8am to 5pm” recurring period. The composition of the 2
recurring periods defines the full work week paradigm. Any temporal data types may be composed into
a temporal composite. Additionally, each of the temporal primitive types (instant, period and vector)
has a recurring sibling data types.

Temporal Operations
The true utility of temporal data types is provided via the operations that can be performed on, and
between distinct temporal entities. These temporal operations closely parallel the operations that can
be performed on geometric shapes.

The primary operations that can be performed on a single temporal entity include:

 Complement (equivalent to logical NOT)

A  A  A  A and A  A  
 Shift (“moves” the temporal entity in the temporal continuum)

The primary operations that can be performed between any 2 temporal entities include:

 Intersection (equivalent to P AND Q)


o Intersection indicates that the 2 temporal entities share at least a single temporal
instant

P Q
o Evaluate whether 2 temporal entities intersect (return Boolean)
o Evaluate the intersection of 2 temporal entities (return Temporal)
 Overlap (equivalent to P AND Q)
o Overlap indicates that the 2 temporal entities share more than a single temporal instant

P  Q iff D( P  Q)  1

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

o If overlap returns true, then intersection returns true


o If intersection returns true, overlap MAY return true
o Evaluate whether 2 temporal entities overlap (return Boolean)
o This operation provides for a natural parallel into geometric shape operations, where
overlap is an extension of intersection determining if there is an intersection that is
greater than a single point.
o The nature of temporal data storage is such that there exists a fixed level of granularity
(discrete units) that facilitates this calculation. The precision of the temporal units is
fixed within each “level” of temporal types, but exists at each temporal type “level”
(standard, micro, macro and massive).
 Containment (equivalent to P AND Q)
o Containment is directional, indicating whether P is a proper subset of Q; that is that P is
wholly contained by Q, and as such is not equivalent to Q.

P  Q P  Q
o There are 2 types of containment, P.contains(Q) and P.containedBy(Q)
o If contains returns true, containedBy returns false
o If containedBy returns true, contains returns false
o If contains or containedBy returns true, overlap returns true
o If contains and containsBy returns false, overlap MAY return true
o Evaluate whether P contains Q (return Boolean)
o Evaluate whether Q contains P (return Boolean)
 Union (equivalent to P OR Q)
o Union is the “sum” of the 2 temporal entities, providing a collective superset of the
conjunction of the 2 temporal entities
P  P Q  Q  P Q
o Evaluate the union of 2 temporal entities (return Temporal)
 Difference (symmetric difference - equivalent to P XOR Q)
o Difference is the portion of each of the 2 temporal entities that is not common to the
other temporal entity, or logically (P AND NOT Q) OR (Q AND NOT P)
( P  Q)  ( P  Q)
o Evaluate the difference of 2 temporal entities (return Temporal)
 Partial Difference (equivalent to P – Q; also as Q – P)
o Partial difference is the portion of one temporal entity that is not part of the other (P
AND NOT Q)
o There are 2 partial difference operations, P AND NOT Q and NOT P AND Q

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

o Evaluate the partial difference P AND NOT Q (return Temporal)


o Evaluate the partial difference NOT P AND Q (return Temporal)
 Distance
o Distance is the number of temporal units (as duration) between the 2 temporal entities
as measured from P to Q. Since durations are simply discreet quantities of time units,
there is no directionality.
o P.Distance(Q) == Q.Distance(P)
o Evaluate the distance between 2 temporal entities (return Duration)
 Before / After (Disjoint Sets and Intersecting Sets)
o The concept of before and after allow the determination of whether a temporal entity is
entirely before, entirely after, starting before or ending after another temporal entity.
o There are 4 operations of the before/after type: P.isBefore(Q), P.isAfter(Q),
P.startsBefore(Q) and P.endsAfter(Q)
o If P.isBefore(Q) returns true, then P.startsBefore(Q) returns true
o If P.isAfter(Q) returns true, then P.endsAfter(Q) returns true
o If P. startsBefore (Q) returns true, then P.isBefore(Q) MAY return true
o If P.endsAfter (Q) returns true, then P.isAfter(Q) MAY return true
o Evaluate whether P is wholly before Q (return Boolean)
o Evaluate whether P is wholly after Q (return Boolean)
o Evaluate whether P starts before Q starts (return Boolean)
o Evaluate whether P ends after Q ends (return Boolean)
 Equality
o Evaluates whether 2 temporal entities are exactly identical temporally

P  Q
o Evaluate whether P is equivalent to Q (return Boolean)

Absence of Time
In order to manage the essence of time, it is necessary to include the concepts of forever and never. The
concept of forever, or eternal time is managed in the temporal framework as a TemporalEternity entity.
This data type includes no mapping to a time in the temporal continuum, instead defining simply all time
in the temporal continuum. This rather abstract concept is distinct from a period of time that is bound
at the maximum and minimum definable limits, in that an eternity continues beyond these defined
limits infinitely in both directions.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

In set notation:

Always   Never  
The complement of forever is never (anti-eternity), which is defined by the TemporalEternity entity with
the inverse operator set. This defines an entity, which is never in existence or can never be true in time.

As a distinction from the concepts of forever and never, there is the concept of atemporality, or an
entity that has no concept of time. This peculiar concept corresponds to an item that is well defined in
other respects, but has no meaning in time. Additionally, this concept is used to define an item that
does not exist in time, but nonetheless exists. An example of this concept would be a role in a collection
of people. In this example, a collection of employees exists in time, which defines the collective
temporal valuation that describes when the employee works for the company and is authorized to
utilize some mapped resource. In this same data collection, a role, such as ProjectManager, is
atemporal, in that the role has no meaning in time. This role is simply a placeholder that is referred to
by personnel entities. The atemporal concept is defined by the ATemporal entity.

As a final distinction, in a data set, null temporal entities (not implemented as a specifically temporal
type) define entities that are unknown in respect to time. This allows a distinction between entities
within a collection that have any concept of time (including the distinct absence of time) from entities of
an unknown temporality. An example of this would be a new entity that is defined, but no temporal
identity has been assigned. This would be a null value, which is separate and distinct from all temporal
types.

Durations
A duration is a length of time that is not fixed in time. This can be exemplified by a standard work day, 8
hours. This concept is a duration that spans an 8 hour period of time, that can be positioned anywhere
in the temporal continuum.

In addition to a basic duration, there are 2 special types of duration, the null duration and the eternal
duration. A null duration is provided for completeness, which complements the atemporal data type.
This duration type has no concept of time or length, but provides all methods and attributes of any
other duration. The second type, the eternal duration is of infinite length. These 2 duration types
complement the eternity and anti-eternity temporal entities.

Complex Temporal Types


The compound and recurring temporal data types are defined as complex temporal types. The recurring
temporal data types are special types based upon the simple temporal primitives.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Each of the recurring types share the base construct of their foundation type (instant, period or vector
respectively), and extend them with the concept of a return interval.

A return interval is the duration of time between the conclusion of one occurrence of the simple
temporal entity and the next occurrence of that temporal entity. For example, in the work week
discussed in the earlier section, the “Monday through Friday” temporal period recurs after a 2 day lapse
(Saturday and Sunday). This could be defined temporally as such:

 Start Date: Monday April 23, 2005 0:00:00.000


 Duration: 5 days (Monday – Friday)
 Return Interval: 2 days (skip Saturday – Sunday)
This same paradigm holds for the recurring instant and vector:

 Recurring Instant:
o Start Date: Monday April 23, 2005 0:00:00.000
o Return Interval: 7 days
o This marks a recurring instant (like a schedule or appointment) recurring every Monday
at midnight
 Recurring Vector:
o Start Date: Monday April 23, 2005 0:00:00.000
o Return Interval: 7 days
o This marks a recurring vector recurring every Monday at midnight
The details of each recurring type are elaborated in the following sections.

Compound Temporal Types


A special type of complex temporal entity is the TemporalComposite, which is the compound temporal
data type. The compound temporal data type allows any number of other temporal data types to be
“joined” together into a single entity using basic logical operators as the temporal conjunctions.

The supported operations for temporal composition are:

 AND
 OR
 XOR
The Boolean NOT operator is unnecessary for each primitive entity, as complement fills that need.

In order to provide logical grouping levels, a compound temporal entity can be used a primitive entity
within a compound temporal entity (nesting of TemporalComposites within a TemporalComposite).

For an example of a temporal composite; a standard work week is Mon-Fri, 0800-1700, less 1200-1300
for lunch. In a temporal composite, this is represented as:

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Temporal Recurring Period


Start: Jan 03, 2005 00:00:00.000
Duration: 5 Days
Return Interval: 7 Days – 5 Days = 2 Days
Start Inclusive: true
End Inclusive: false
Period Inclusivity: true
Recur Direction: Bi-directional
Recur Mirroring: Linear
AND
Temporal Recurring Period
Start: Jan 03, 2005 08:00:00.000
Duration: 9 Hours
Return Interval: 24 Hours – 9 Hours = 15 Hours
Start Inclusive: true
End Inclusive: false
Period Inclusivity: true
Recur Direction: Bi-directional
Recur Mirroring: Linear
AND
Temporal Recurring Period
Start: Jan 03, 2005 12:00:00.000
Duration: 1 Hour
Return Interval: 24 Hours – 1 Hour = 23 Hours
Start Inclusive: true
End Inclusive: false
Period Inclusivity: false
Recur Direction: Bi-directional
Recur Mirroring: Linear
In this example, the result of any primitive temporal operation is carried out via independent operations
on each member temporal, and “combined” logically via the connective operators. This enables a “short
circuit” evaluation to optimize performance.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Standard Time
The base reference implementation of temporal data types is provided as standard time. Standard time
is based upon the millisecond as the core increment of time. The standard second is 1000 milliseconds
in length. While platform specific implementations of temporal data types may vary, the standard time
construct of implementations are based upon a 64-bit integer value defining the offset in milliseconds
from the epoch (January 01, 1970 00:00:00.000). This permits temporal data in the range of
approximately:

 Dec 02 11:47:04 -292,269,055 (Gregorian)


 Aug 17 02:12:55 292,278,994 (Gregorian)
Where greater range or precision (fractional milliseconds) are required, other temporal data types are
provided (see Atomic Time, Universal Time sections).

All temporal data types can be evaluated as standard time. This includes all extended types (Relative,
“Fuzzy”, Atomic, Universal), which inherit from the standard time base implementations.

Relative Time
The concept of relative time allows a fixed temporal entity to “float” relative to the current time. This is
the purpose of the relative time implementations. Relative time entities exist for each temporal type
(instant, period, etc.) with the only difference from the standard time implementations being the
“floating” concept.
An example of a relative time entity would be “all sales within the past 7 days”. This could be generated
as a temporal period fixed from today, going 7 days into the past. However, this would need to be re-
created any time this is needed. In an attempt to keep a 7-day running list of sales over the most
current 7 day period, “now” is the fixed time to compute from.
A relative temporal entity defines a fixed location in the temporal continuum relative to the current time
at which a statement is evaluated. This allows a single instance of a temporal entity to be reused an
indefinite number of times over an indefinite period of time, each with a different result, all relative to
the time at which the relative temporal entity is used.

Temporal Uncertainty
It is often difficult, if not impossible, to define “when” something happened with any precision. Instead,
the “when” is defined with some uncertainty, as in “the robbery took place at 5pm, give or take 15
minutes or so”. Using uncertainty parameters on temporal entities, this form of temporal imprecision or
“fuzziness” can be recorded.

NOTE:
The term “fuzzy” here is not meant to imply the use of fuzzy logic or fuzzy sets in a mathematically
rigorous manner. Instead, the term is used in the traditional meaning of “Not clear; indistinct”. This
is simply the best fitting term for the temporal imprecision that is recorded in this context.

Each temporal data type, from each temporal class (standard, relative, atomic, etc) have “fuzzy
temporal” analogs.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Uncertainty in a temporal entity is managed via 2 temporal offsets per bounding instant. The first is the
uncertainty in the past (negative) direction, while the second is the uncertainty in the future (positive)
direction. For a temporal instant or vector, these are the only uncertainty parameters, whereas the
temporal period has uncertainty parameters for both the beginning and end instants.

To allow the greatest flexibility in recording uncertainty, the past and future parameters are distinct, and
not necessarily equal.

Providing a Boolean value for validity or membership of a temporal entity is accomplished using the
fixed, given start and/or end temporal instants. This is however, much less useful than in the fixed
temporal entities. In the temporally uncertain entities, a secondary set of methods are provided that
return a numeric percentage probability of result. That is, the temporal operations (intersect, overlap,
etc) that return a Boolean value in the standard temporal implementations, will return a percent
likelihood of “truth” considering the uncertainty parameters on each of the member entities.

When a “fuzzy” operation is performed between 2 uncertain temporal entities, the result value is
calculated by default as the average of the probabilities from each temporal entity involved. This
extends into the compound and complex temporal types in addition to the simple temporal types. This
calculation method results in a “best guess” of membership, which can then be assigned to a discreet
value via a threshold as defined by the calling application. This measure of temporal membership is one
of the most powerful features of the temporal framework.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

In uncertain temporal periods, it is possible to have uncertainty parameters that overlap between the
start and end instants. Internally, these are calculated as a degenerate case where the area of overlap is
considered a temporal instant in which this record would then exist.

Extended Temporal Entities

Atomic Time
In many situations it is desirable to record time in greater detail than the nearest millisecond. In cases
of particle physics, nano-scale simulations, etc. it is desirable to record time to much greater precision.
This is the intent of the Atomic Time subset of the temporal framework. Atomic time entities extend the
standard time entities by adding an additional integer value to store the sub-millisecond fractions of
time (10-18 fractions of a millisecond resolution).

There are atomic time (MicroTemporal) entity analogues of each of the standard time entities. The
atomic time entities are additionally backwards compatible with their standard time counterparts,
returning heterogeneous operations at the resolution of a standard time operation.

Astronomic / Universal Time


In order to perform astronomic, universal or geologic time operations, it is necessary to store temporal
entities at a greater magnitude than is available from standard time entities (approx. 292 million years
symmetrically about the epoch). This is accomplished in the temporal framework through the use of

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

astronomic time entities (MacroTemporal). For each standard temporal data type, there is a
corresponding astronomic temporal analog. These astronomic entities are, like the atomic entities,
backwards compatible with all standard temporal data types, returning standard temporal precision
(and scale) results from heterogeneous operations.

In cases where heterogeneous operations between standard temporal or atomic temporal and
astronomic temporal entities extend beyond the bounds of the standard temporal range, the value is
treated as infinite in respect to the standard temporal range.

Operations between astronomic temporal entities exclusively, will not be subject to such “down
scoping” and will utilize the full astronomic temporal range (approx. 1018 years symmetrically about the
epoch).

Atomic / Astronomic (Massive) Time


For completeness, and to enable the interoperability between the atomic and astronomic temporal
entities, the hybrid temporal data types exist (MassiveTemporal). These temporal data types provide 3
integers to represent temporal entities, in a range of approximately 1018 years at a resolution of 10-21
seconds symmetrically about the epoch. As with the atomic and astronomic temporal data types, the
massive temporal data types include analogues to all of the standard temporal data types. Additionally,
the massive temporal data types are backward compatible with atomic, astronomic and standard
temporal entities, returning results at the resolution of the least significant participating temporal
entity.

Conclusions
Temporal information is a critical missing capability in many information systems. A single set of
temporal primitive object types can provide a basic infrastructure for adding temporal capabilities to
software systems.

Existing approaches at addressing temporal concepts are generally to simplistic to provide a full
capability for representing temporal constructs and operations.

Appendices

Works Cited
Kamas, G., & Lombardi, M. A. (1990). NIST Time and Frequency Users Manual. Washington DC: NIST US
Department of Commerce.

Levine, J. (1999). Introduction to time and frequency metrology. Review of Scientific Instruments , 2567-
2596.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Lombardi, M. A. (2001). Fundamentals of Time and Frequency. In R. H. Bishop, The Mechatronics


Handbook. Boca Raton: CRC Press LLC.

Lombardi, M. (2002). NIST Special Publication 432. Washington DC: NIST US Department of Commerce.

Lombardi, M. (1999). Traceability in Time and Frequency Metrology. Washington DC: National Institute
of Standards and Technology Time and Frequency Division.

Sullivan, D. B., & Bergquist, J. C. (2001). Primary Atomic Frequency Standards at NIST. Journal of
Research of the National Institute of Standards and Technology , 47–63.

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Temporal Structures Diagrams

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01


Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

You might also like