6. Softwaretest: Systemtool FACTS (von Gernod Schomberg)

FACTS - "Finest Amiga Clock Time Synchroniser"

Vorab: Das Programm "FACTS" ist im Aminet als "facts.lha" in "comm/tcp" als
Archiv von ca. 90 KB Größe zu finden. Der Entwickler ist Chris Young,
<chrisdpy@bigfoot.com>. Aktuell ist Version 4.6.


Eine Uhr ist aus einem modernen Computer nicht mehr wegzudenken. Nicht nur,
dass jede Datei beim Speichern eine Datums- und Zeitmarke erhält, häufig
braucht man auch einen automatischen Eintrag des Datums, z.B. bei Briefen
oder bei E-Mails - hier ist auch die Zeitangabe wichtig -, oft laufen im
Hintergrund Erinnerungsprogramme, die auf Wunsch sekundengenaue Meldungen
ausgeben. Und nicht zuletzt verlässt man sich gern auf die Zeit- und
Datumsanzeige auf dem Bildschirm. Die Uhr muss also genau gehen.

Für den Amiga gab es Hilfsmittel, um die Abweichungen der Uhr klein zu
halten, aber seit dem es das Internet gibt, sind darüber auch Zeitgeber-
Stationen zu erreichen, die mit höchster Genauigkeit Zeit und Datum
liefern.

Es ist also einfach, z.B. beim Herstellen eines Netzzugangs automatisch die
genaue Systemzeit abzurufen. Das kann aber auch zu Nachteilen führen, wie
Holger Kruse, der Entwickler von "Miami", vor Jahren in der MiamiML
aufzeigte. Chris Young beschreibt dieses im FACTS.Guide, der leider nur in
Englisch vorliegt (vielleicht gibt es für die nächste Version schon einen
deutschen Guide), ausführlich. Während alle Programme eine Systemzeit-
Erhöhung ohne Weiteres verarbeiten, denn das ist ja der normale Ablauf,
gibt es einige, bei denen ein Zurückstellen der Systemuhr, wie es bei einer
zu schnell laufenden Uhr nötig ist, zu Fehler führen können. FACTS lässt
sich so einstellen, dass die korrigierte Zeit nur in der Batterieuhr
gespeichert wird, die Systemuhr erhält die Zeit erst beim nächsten Reset.


Systemanforderungen

Workbench 2.04 oder höher, ARexx sollte aktiv sein. Ein AmiTCP-4-
kompatibler TCP/IP-Stack wird sehr empfohlen, wenn man nicht vor hat, FACTS
nur zur Überwachung und automatischen Umstellung der Sommerzeit (DST) zu
verwenden.

Alte socket.library-Stacks werden nicht unterstützt!


Installation

Zur Installation lässt man am einfachsten den vorhandenen Installer-Script
laufen. FACTS wird dadurch so eingerichtet, dass es sofort lauffähig ist.
Allerdings muss kontrolliert werden, ob die Zeitzonen-Variable "ENV:TZ"
richtig gesetzt ist. Zonen östlich von Greenwich haben positiven Eintrag,
westliche müssen mit negativem Vorzeichen versehen sein. Von Miami wird
"TZ" benötigt, also wird sie bei den meisten Anwendern korrekt vorhanden
sein.

Zum Schluss öffnet sich das FACTS-Einstellfenster (GUI), über das Menü
sollte man noch einige Anpassungen vornehmen, z.B.:

Screenshot:
Screenshot

- Soll die Uhrzeit in der System- und/oder Batterieuhr gespeichert werden?
  Bei Speicherung nur in der Systemuhr ist die neue Zeit beim Ausschalten
  des Rechners verloren.
- Soll FACTS Beginn und Ende der Sommerzeit automatisch umstellen?
- Was ist im Fall eines nicht erreichbaren Servers zu tun?
- Ist meine Zeitzone gegenüber GMT um zusätzlich eine halbe Stunde
  versetzt?
- Soll ein Eintrag in das "Hilfsmittel"-Menü erfolgen?

Bei Menüpunkt "Einstellungen/Kontrolle" muss "SNTP" markiert sein, bei
"/Kompatibilität" darf keine Markierung stehen, wenn das Jahr 2015 noch
nicht erreicht ist!

Dann speichert man diese Einstellung ab.

Als Test sollte man jetzt online gehen und auf "Prüfen" (oder im Menü
"Hilfsmittel" auf "Setze Zeit") klicken. Ist alles richtig eingestellt,
wird die korrekte Zeit abgeholt und angezeigt.

Screenshot:
Screenshot

Das Hilfsprogramm "SLEFF" (Server List Editor For Facts) verwaltet die
SNTP-Server, die von FACTS aufgerufen werden können. Nach der Installation
ist "tick.usno.navy.mil" als Zeitserver eingestellt. Der ist in Washington,
DC, USA. Sicher eine gute Wahl, ich hatte ihn Jahre lang eingestellt,
nachdem ich mit einem deutschen Server häufig keine Verbindung bekam.
Inzwischen bin ich zum Max-Planck-Institut in Braunschweig umgestiegen und
habe für den Fehlerfall "tick.usno..." als zweiten Server eingestellt, der
tatsächlich gelegentlich aufgerufen wird. Im Guide ist eine kleine Liste
von Zeit-Servern, die wenigstens für den Anfang ausreichen sollte (hier ist
das MPI fälschlich in Berlin angesiedelt). Eine komplette Liste kann von

http://www.eecis.udel.edu/~mills/ntp/servers.htm

abgerufen werden. Man kann sich einige Server heraussuchen und mit "SLEFF"
für FACTS einrichten.


Einige Eigenschaften

Nach Aussage des Autors ist FACTS das erste Programm mit einem GUI zum
Abgleich der Amiga-Uhr mit einem SNTP-Server (SNTP = Simple version of
Network Time Protocol). Die Genauigkeit dieser Server liegt im Bereich
einer Mikrosekunde, allerdings wird durch die Übertragung und den
Programmlauf nur eine Genauigkeit von etwa 20 Millisekunden erreicht. Die
Batterieuhr des Amiga hat jedoch nur eine Genauigkeit von ±1 Sekunde.

FACTS besitzt einen ARexx-Port ('FACTS'), über den Zeitabrufe automatisiert
werden können. Von den beigelegten Skripts ist besonders das interessant,
mit dem man bei jedem Netzzugang von Miami die Zeit abholen lassen kann.

FACTS kann bei Lesefehlern beim Zeitserver eigenständig Routinen zur
Korrektur durchführen. Je nach Einstellung wird der nächste Server gerufen
("SLEFF"), mit Hilfe von "Aninc" (Warenzeichen von Unsatisfactory Software)
wird, da häufig mehrere Server unter fast gleichem Namen unter der gleichen
Adresse zu erreichen sind, im lokalen Netz dieses Servers weitergesucht,
oder im gleichen Server wird ein anderer Zeitgeber (anstatt "sntp" z.B.
"time/udp") versucht. Im Normalfall merkt man überhaupt nichts von dem
Vorgang. Selbst bei ungünstigster Einstellung macht FACTS höchstens acht
Versuche.

Da die Uhren, von denen die Server ihre Zeit beziehen, inzwischen genauer
gehen als die Erdrotation, werden von den internationalen Zeitstationen
gelegentlich Schaltsekunden eingefügt oder weggelassen. Auch diese
Schaltsekunden (Leapseconds) kann man sich beim ihrem Einsatz gesondert
übertragen lassen, was aber wohl den Genauigkeitsanspruch der meisten
Anwender weit übersteigt, denn beim nächsten Zeitabruf wird diese Sekunde
ohnehin berücksichtigt.

FACTS kann automatisch auf Sommerzeit und Normalzeit umschalten. Für
zahlreiche Länder/Zonen sind die notwendigen Einstellungen im Menü
enthalten, aber mit der Auswahl von "Custom" wird die Einstellung aus den
Tooltypes gelesen. Diese Funktion arbeitet unabhängig vom Netzzugang. FACTS
prüft beim Programmstart und dann jede Stunde, ob die Einstellung stimmt,
so dass auch bei einem ständig eingeschalteten Rechner die Umschaltung
richtig vorgenommen wird.

Es ist möglich, die Zeit in vorgegebenen Abständen abrufen zu lassen. Dazu
muss im Feld "Int" (Intervall) die Zahl der Sekunden eingetragen werden,
nach der regelmäßig ein Zeit-Download erfolgt. Diese Möglichkeit ist sicher
interessant, wenn der Rechner ständig online ist.

FACTS ist auf die Grenzen vorbereitet, die der richtigen Zeitanzeige auf
dem Amiga nach Ablauf bestimmter Termine gesetzt sind. 2015 und 2078 sind
Jahre, ab denen durch die nur zweistellige interne Jahreszahl-Darstellung
der System- bzw. der Batterieuhr Falschanzeigen entstehen können, im Jahr
2036 entsteht ein SNTP-Überlauf am 6.Februar. Wohl dem, dessen Amiga diese
Korrekturen nötig haben wird :-)

Wenn man online ist, kann man sich mit dem Menüpunkt "Projekt/Server Info"
nähere Angaben über den Zeitserver herunter laden und anzeigen lassen. Der
Menüpunkt "Projekt/Version/MOTD" verbindet mit der Homepage von Chris
Young, http://www.unsatisfactory.freeserve.co.uk und prüft dort, ob eine
neuere Version von FACTS vorhanden ist und sendet auch die Nachricht des
Tages (MOTD), wenn vorhanden, zurück. Chris bestätigt im Guide
ausdrücklich, dass wirklich nur die unbedingt notwendigen Daten zur Abfrage
übersandt werden, es bestehen keine Sicherheits-Schlupflöcher oder -
Hintertüren!

Und dann gibt es noch im Menü "Spezial" den Punkt "Zeit totschlagen...".
Wenn man die "als.library" in Libs: hat, öffnet sich ein kleines grünes
Fenster mit der Rasenmäher-Simulation. Ich finde, es gibt besseren
Zeitvertreib, aber bitte...


Fazit:

Ich habe seit Jahren bei mir FACTS im Hintergrund laufen, ich merke immer
erst, dass es da ist, wenn sich die Sommerzeit-Einstellung geändert hat
oder wenn ich meine Uhr stellen muss. Ich lasse das nicht automatisch
machen, sondern erst, wenn ich merke, dass sie ein paar Sekunden falsch
geht (die Kirchenuhr schlägt früher oder später als die WBClock). Auch,
dass ich erst jetzt beim Schreiben dieser Zeilen merkte, wie oft ich im
Guide nachschauen musste, spricht dafür, wie unkompliziert dieses Programm
seinen Dienst tut.

Meine Einschätzung: Rundherum empfehlenswert.


Auf einen Fehler, der mir auch jetzt erst auffiel, möchte ich aufmerksam
machen: Im der Katalog-Beschreibung (fact.cd) sind offenbar Einträge an
falschen Positionen (ich habe Chris Young darauf hingewiesen). Deshalb
taucht im deutschen facts.catalog versehentlich die Übersetzung für "Obey
Leap Seconds" im Menü "Einstellungen" als "Extra Sekunde!" als letzter
Punkt im Untermenü "Autom. Sommerzeit (SZ)" auf. Dort steht im Originaltext
aber "Long TZ Format", was mit "Ausführl. TZ-Eintrag" übersetzt werden
könnte.

Gernod Schomberg <g.schomberg@t-online.de>