Historie
Reproduzierbarkeit und insbesondere Nachvollziehbarkeit der Datenverarbeitung ist ein zentrales Gebot empirischer Wissenschaft. Bei der rechnergestützten Datenanalyse bietet es sich daher an, die einzelnen Prozessierungsschritte so auszugestalten, dass sie jeweils automatisiert einen vollständigen Eintrag im Historie-Feld eines Datensatzes erzeugen.
Gemeinsam mit einer Versionsverwaltung für den Quellcode der verarbeitenden Routinen gewährleistet dieses Konzept der Historie der Prozessierungsschritte eines Datensatzes die vollständige Reproduzierbarkeit.
Felder für einen Eintrag
Nachfolgend eine (minimale) Liste von Feldern für den Eintrag eines einzelnen Prozessierungsschrittes im Historie-Feld eines Datensatzes.
Hinweis: Momentan entsprechen die Feldnamen noch nicht den endgültigen Gegebenheiten.
- operator
- Zeichenkette
- Name des Durchführenden
- Kann meist über das jeweilige Betriebssystem bezogen werden
- Datum
- Zeitstempel
- Idealerweise sowohl das Datum als auch die Uhrzeit in einem standardisierten Format (ISO)
- routine
- Name und Version der zur Prozessierung verwendeten Routine
- program
- Version des zugrundeliegenden Programmes
- os
- Name und Version des Betriebssystems
- parameters
- ggf. sämtliche für den Verarbeitungsschritt notwendige Eingabeparameter für die verwendete Routine
Weitere Aspekte
Ein wichtiger Aspekt ist nicht nur die konsequente Erzeugung der Historie, sondern auch die einfache Ausgabe in menschenlesbarer Form.
Im Zusammenspiel mit einem Template-System wird es deshalb für jede Funktion, die auf einem Datensatz operiert und demzufolge einen „history record“ schreibt, einen Satz an Templates geben, die den jeweiligen Verarbeitungsschritt in diversen Ausgabeformaten (LaTeX, HTML, DokuWiki, …) menschenlesbar ausgeben.
Für die Dateinamen der jeweiligen Templates müsste noch ein allgemeingültiges Schema gefunden werden. Was sich aber auf jeden Fall als Teilaspekte anbietet:
- Name der Funktion, die die Historie erzeugt hat.
- Wichtig für die Zuordnung von Historie-Typ zu Template.
- Ausgabeformat
Der Vorteil einer derartigen Trennung ist, dass, wenn die Templates immer gleichzeitig mit den auf Datensätzen operierenden Funktionen erzeugt werden, jeweils nur das Template und die zugehörige Funktion wissen müssen, welche Parameter sich wo im „history record“ verbergen.