Temporal Concepts BACKGROUND FOR TEMPORAL INFORMATICS

24
CRF-RDTE-TR-20090202-01 2/2/2009 Public Distribution| Michael Corsello CORSELLO RESEARCH FOUNDATION TEMPORAL CONCEPTS BACKGROUND FOR TEMPORAL INFORMATICS

Transcript of Temporal Concepts BACKGROUND FOR TEMPORAL INFORMATICS

CRF-RDTE-TR-20090202-01

2/2/2009

Public Distribution| Michael Corsello

CORSELLO

RESEARCH

FOUNDATION

TEMPORAL CONCEPTS BACKGROUND FOR TEMPORAL INFORMATICS

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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)

AAandAAAA

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

QP

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

1)( QPDiffQP

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

QPQP

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

QPQQPP

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)

)()( QPQP

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

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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

QP

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

In set notation:

NeverAlways

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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:

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

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.

Corsello Research Foundation

Public Distribution CRF-RDTE-TR-20090202-01

Temporal Structures Diagrams

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