Contributor(s)The Pennsylvania State University CiteSeerX Archives
Full recordShow full item record
AbstractMany systems need to deal with time. Time can be just an additional type, such as for the date of birth, or it can be an additional dimension, e.g. when a history of data is needed. This paper summarizes some of the patterns that help to design these systems. Overview Christian August Crusius (1715-1775), a German philosopher wrote that each existing thing has its very own place in space and time [CRUS1744]. Software industry uses objects to represent existing things, too. In addition, objects may also represent concepts and ideas. There are only few papers regarding time, but a lot more dealing with space, assuming that a particular object can exist only once 1. Adding time to a system model is like adding another dimension. Many systems exist that need to deal with time. An accounting system needs timestamps in order to track the entry time of each entry. A system for managing resources needs timespans for ensuring that the same resource is not used twice at any time. A revision control system needs to track the changes of files over time. All these cases have some aspects in common, e.g. having time as a type, or tracking the state of object over time. The following figure shows the patterns, which are described in this paper, and how they relate to each other.