Standardisierung und Datenformate

Ein gemeinsamer Standard für Datenformate ist eine Voraussetzung für effizientes Datenmanagement und Datenanalyse. Es ist das Ziel sowohl den Zugriff auf Daten als auch die Auswertung und Analyse der Daten durch eine Standardisierung des Zugriffs zu vereinfachen. Anforderungen an ein Standard Daten Format (SDF) sind

  • Das Format bietet einen vollständigen Satz von Parametern, die die Konfiguration des Experiments und alle gemessenen Daten beschreibt. SDF sollte selbstbeschreibend sein.
  • ... ist strukturiert, flexibel, erweiterbar und Platform-unabhängig.
  • ... erlaubt einen sehr schnellen Zugriff
  • ... implementiert geeignete Kompressionsalgorithmen und
  • ... ist einfach zu editieren mit der Möglichkeit Änderungen zu verfolgen.

Die Erzeugung des Standard Datenformat beinhaltet die Spezifikation eines Datenmodells, die Definition der Inhalte und deren Implementierung. Das Datenmodell ist eine abstrakte Beschreibung der Struktur der Daten, und spezifziert deren Organisation. Es wird erwartet, das das Modell eine hierarchische Organisation der Daten mitbringt, also dass Daten durch eine Baumstruktur repräsentiert werden, mit benannten Knoten, benannten Datensätzen und Attributen der Datensätze. Das Datenmodell muss in der Lage sein alle Konfigurationen und experimentellen Strategien abzubilden. Flexibilität, Erweiterbarkeit, Selbst-Dokumentation und Zugriffsgeschwindigkeit sind Schlüsselelemente des Designs. Die Inhaltedefinition spezifiziert die Label für Knoten und Elemente mit einer detaillierten Beschreibung wie diese zu verwenden und interpretieren sind. Kataloge dieser Inhaltsdefinitionen für spezifische experimentelle Anwendungen und Techniken (Streuung, Bildgebende Verfahren, Spektroskopie, Kristallographie, ...) werden zur Verfügung gestellt, und können dann sehr einfach auf ein spezifisches Experiment zugeschnitten werden. Dabei ist das Ziel proprietäre Formate zu vermeiden, und hinreichende Informationen in die Datei einzubetten um das experimentelle Setup zu bestimmen. Dies kann sowohl die Entwicklung neuer Auswertungs-Software als auch die Erzeugung von Schnittstellen zwischen existierender Software und den Dateien wesentlich vereinfachen.

Die Implementierung des Datenmodells sollte auf existierenden und gut etablierten Formaten aufsetzen, wie zum Beispiel dem Hierarchical Data Format HDF5. NeXus ist ein HDF5-konformes Datenformat mit spezifischen Merkmalen für Neutronen und SR Röntgendaten. Beide Formate werden auch von anderen internationalen Instituten (z.B. ILL, ISIS, ESRF, ANSTO, SOLEIL, DIAMOND, und PSI) eingesezt, und sind daher mögliche Kandidaten für ein HDRI Datenformat. Falls es für die Implementierung erforderlich sein sollte, können die NeXus-Strukturen erweitert werden. Für die direkte Implementierung werden Application Programming Interfaces (APIs) benötigt, die die grundlegendern Aufgaben wie den Aufbau der Datenstrukturen und den Datenfluss unterstützen. Hilfsprogramme werden für zum Beispiel für die Visualisierung und Inspektion der Daten benötigt. Sowohl für NeXus als auch für HDF5 existieren bereits generische Werkzeuge für diese Zwecke. Die Entwicklung von APIs und Programmen kann daher auf die bereits vorhandene Software von HDF5 und NeXus aufbauen. Die Anforderungen seitens des "data acquisition system" (DAQ) müssen bei der Implementierung des Datenformats besonders beachtet werden. Da der Inhalt der Datenstrukturen sich von Experiment zu Experiment unterscheiden können, muss es möglich sein die spezifischen Datenstrukturen, die verwendet werden, zu definieren. Das DAQ konstruiert dann auf der Basis dieser Definition die Datenstruktur. Die verschiedenen, in das Experiment involvierte Datenquellen liefern die Daten über eine wohl-definierte Schnittstelle von Funktionen an die DAQ-Software. Die DAQ-Software nimmt die Daten, die von den Funktionen übergeben werdem und konstruiert die Datenstrukturen auf der Basis des entsprechenden Templates. Das Anschliessen einer neuen Komponente an das DAQ erfordert die Bereitstellung einer entsprechenden Funktion oder Moduls für die Datenquelle. Im günstigsten Fall kann der vollständige Satz deskriptiver Daten des Experiments automatisch durch die DAQ-Software generiert werden. Dies vermeidet die Situation, dass wesentlicher Informationen zu den Daten fehlen. Dennoch wird es sicherlich vorkommen, das manche Metadaten nach der Datennahme editiert werden müssen (z.B. Notizen zur Probe, aber auch gelegentlich feste Konfigurationsparameter), was einen geeigneten Editor erfordert. Jede Änderung wird erfasst und in der Datei dokumentiert (ist also ein Attribut des entsprechenden Datenelements), unter Angabe des Authors und dem Zeitpunkt der Änderung. Die Spezifikation des Datenmodells und die Sammlung und Spezifikation des Inhalts in den Katalogen der Datenelement kann innerhalb kurzer Zeit abgeschlossen werden. In jeden Fall können die Kataloge sukzessive erweitert werden, falls zusätzliche Datenelemente identifiziert werden sollten. Dies kann für jeden Experimenten-Typus mit der Hilfe der Anwender und den Experten, die die Analyse-Software bereitstellen über ein moderiertes Web-Tool (z.B. ein Wiki) geschehen. Die Entscheidung ein neues Datenelement in den Katalog einzuführen wird durch eine Gruppe von Experten aus dem Forschungsbereich getroffen. An die Phase der Definition der Strukturen und Elemente schliesst die Implementierungs-Phase an. APIs und Werkzeuge werden darauf basierend entwickelt und die Implementierung der Elemente im DAQ-System soll anhand von Fallbeispielen (case studies) für ausgewählte Instrumente erfolgen.