Aufgabe der Statusvariablen:
Während die primären Objektdaten (Objektparameter) die eigentlichen Datenwerte enthalten, werden in den Statuswerten pro Objekt oder Objektparameter notiert, die zum Umgang mit den Daten notwendig sind. Sepziell zur Aktualisierung der Daten werden diese Werte benötigt.
Das Lesen und Speichern der Statusvariablen ist deutlich weniger aufwändig, wie das der Objektparameter.
Liste der Statusvariablen:
getDataStart:
Hier wird pro Objekt-Parameter gespeichert, wann eine gerade aktive Beschaffungsaktion gestartet wurde. Damit soll verhindert werden, dass ein Parameterwert erneut abgefragt wird, während die vorangegangene Abfrage noch nicht abgeschlossen ist. Ist die vorangegangene Abfrage zu lange unterwegs, können adäquate Maßnahmen ergriffen werden - z.B. eine erneute Abfrage.
Mit dem Eintreffen der abgefragten Daten wird der getDataStart -Parameter gelöscht.
OUTDATED:
Hier wird bei Objekten deren Daten älter sind, wie die auf der vorangehenden Speicherungsstufe, pro Objekt der Zeitpunkt der letzten Speicherung der Originaldaten abgelegt. Wenn die Daten aktualisiert werden (STORED-Zeitpunkt mindestens so neu, wie der OUTDATED-Zeitpunkt), wird der OUTDATED-Zeitpunkt gelöscht.
Von der vorangehenden Speicherstufe wird bei gegebenem Anlass zu einem Objekt ein OUTDATED-Zeitpunkt geschickt, der gespeichert und ggf. weitergemeldet wird. Ein bereits gesetzter OUTDATED-Zeitpunkt wird überschrieben.
updateStart:
Wenn eine Aktualisierung veralteter Objektdaten gestartet wurde, wird hier pro Objekt der Zeitpunkt des Beginns der Aktualisierung abgelegt. Sobald die aktuellen Daten von der vorangehenden Stufe eintreffen, wird dieser Parameter gelöscht.
Mit Hilfe dieses Parameters soll verhindert werden, dass einerseits keine zweite Aktualisierung gestartet wird, falls bereits eine erste aktiv ist und andererseits eine einzelne gescheiterte Aktualisierungsaktion einen erneuten Aktualisierungsversuch nicht blockiert.
Abfragen und Speichern der Statusvariablen:
über die Fumktion getObjStates( Spec ) wird eine Liste aller Parameter geliefert. Bei Perl in Form eines Hashes.
Die Liste der Parameter kann mit geänderten Werten versehen und per setObjStates( Spec, Listenvariable ) gespeichert werden.
Sollen die Werte zu einem Objekt gelesen odergespeichert werden, muss als Spec(ification) eine Objektspezifikation angegeben werden. Für die Statuswerte zu den einzelnen Objektparametern muss die Parameterspezifikation als Spec angegeben werden.
Internes Speicherformat:
Alle oben gelisteten Parameter werden zusammen mit einer vorangestellten Versionsnummer als leerzeichenseparierte Stringliste abgespeichert. Ist ein Parameter nicht vorhanden, wird nur sein separierendes Leerzeichen gespeichert. Die Versionsnummer soll die Umstellung der Datenformate - z.B. bei Hinzukommen eines weiteren Parameters - erleichtern.
Die Bedeutungen der einzelnen Parameter sind so gewählt, dass sie normalerweise nicht präsent sind. Ist zu einem Objekt- oder Objektparameter-Eintrag keiner der Parameter präsent, wird der ganze Datenbasis-Eintrag entfernt.
Objektparameter Leistungsfähigkeit des WIM-Systems Objekte beim WIM-System WIM-App-Verfahren (techn.) Robustheit des openWIM-Systems
