[time-nuts] seeking a time/clock software architecture

Jim Lux jimlux at earthlink.net
Fri Sep 23 17:06:41 UTC 2011


On 9/23/11 8:35 AM, Poul-Henning Kamp wrote:

> Take a look at FreeBSD's timecounters, what you are asking for
> sounds pretty much like what I did 15 years:
>
> 	http://phk.freebsd.dk/pubs/timecounter.pdf
>
> I used a 32.64 internal format, to avoid rounding errors, particularly
> in your "k1" term.
>
> I'm headed for the US east-coast the next week, if we get anywhere
> near each other, I'd be happy to talk, shoot me an email: phk at FreeBSD.org
>

AH yes... I forgot to mention that phk's timecounter stuff has already 
been incorporated in our implementation (thanks Poul-Henning!) (and we 
truncate to match the API requirement of uint32 for the nanoseconds) 
For what it's worth, my implementation is using RTEMS as the base OS, 
but at this stage, I'm trying to define an architecture standard for 
others to use, with selected implementation standards as well (e.g. API 
or message formats)

It's all the more complex stuff.. how does one represent a more 
sophisticated transformation?  How does one represent changes in the 
transformation (either in a log file, or in a schedule for the future) 
so that one can "reconstruct" a time in the past, for instance.

There's plenty of standards for how to represent "time" (in the space 
biz, we use CCSDS unsegmented time a lot), but the more abstract "time 
management" is sort of left up in the air.  For instance, there's a 
standard/recommendation that says something along the lines of consider 
the time of the first bit in the message as the "tone" in the "at the 
tone, the time is" concept.  And plenty of descriptions of various time 
scales (TAI, UTC, UT1, etc.)

What I'd like to do is take the next step beyond what you promulgated 
with a representation of time and the conversion between count and time 
with a linear equation.

I'd like to propose a standard description of a higher order model of 
time and the transformation between raw clock and time (in some agreed 
upon time scale).

And I'd like to describe an architecture for manipulating this. e.g. 
when you "set the time", at a simple level it means measuring the 
difference between what you have now and what you want and adjusting 
your transformation to match.




More information about the time-nuts mailing list