## The TimeFrame Model

As for a SkyFrameSkyFrame, a TimeFrameTimeFrame is a FrameFrame (§7) and also a MappingMapping (§5), so it inherits all the properties and behaviour of these two ancestral classes. When used as a Mapping, a TimeFrame implements a unit transformation, exactly like a basic Frame (§7.3) or a UnitMapUnitMap, so this aspect of its behaviour is not of great importance.

When used as a Frame, however, a TimeFrame represents a wide range of different 1-dimensional coordinate system which can be used to describe moments in time. Absolute times and relative (i.e. elapsed) times are supported (attribute TimeOriginTimeOrigin), as are a range of different time scales (attribute TimeScaleTimeScale). An absolute or relative value in any time scale can be represented in different forms such as Modified Julian Date, Julian EpochEpoch, etc (attribute SystemSystem). AST extends the definition of these systems to allow them to be used with any unit of time (attribute Unit). The TimeFrame class also allows times to formatted as either a simple floating point value or as a Gregorian date and time of day (attribute Format).