thomas' home pageThomas Beck Home Page
JTemporal physical data model patterns

JTemporal is an open-source, easy to use, framework of components providing functionality for time related applications. Provides basic functionality handling the most common temporal aspects (for the moment instant, period, mediators managing temporal associations). It allows easy design and implementation of time-related applications.

The cornerstone of the system is that Instant is an interface you implement. It depends on your business what the instant actually is. A particle physicist will not use the same kind of "instant" as a geologist.

JTemporal is aimed at replacing some common temporal design patterns by reusable components.

Some functionalities are inspired by the temporal databases.

JTemporal Home

Christopher Alexander, in "A Pattern Language", Oxford Press, New York, 1977, defined a pattern:
"Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million of times over, without ever doing it the same way twice."

In Physical Data Modeling Patterns (PDMP), the environment is the physical data modeling for relational databases. In this particular area, the modeling is often driven by trade-offs between simplicity and performance.

If instead, you are interested by conceptual modeling, you can find interesting ideas in "Data Model Patterns, Conventions of Thought", David Hay, DH Publishing, 1996, and in "Analysis Patterns", Martin Fowler, Addison Wesley, 1996.

Feedbacks welcome.

Tree Denormalization avoids iterations when accessing hierarchy related data.  Can be generalized to other types of graph.

History of Changes (also known as Audit Trail) implements time periods in RDBMS when periods are not natively supported.  Used to model data changing at irregular intervals.

Time Series "samples" data at regular intervals.

Contact Thomas Beck