Kapitel 2. Motivation — Datenaustausch zwischen Programmen (insbesondere verschiedener Hersteller)

In den letzten Jahren haben Tauchcomputer der verschiedensten Hersteller in der Sporttaucherszene Einzug gehalten. War es noch vor 25 Jahren etwas besonderes, mit Computer zu tauchen, so hat sich diese Situation heute vollkommen geändert. Die meisten Sporttaucher verwenden heute Tauchcomputer zur Planung und Durchführung von Tauchgängen. Aufgrund der Preisentwicklung der Tauchcomputer läßt sich heute sogar der Trend zum Zweitcomputer beobachten, der von vielen Tauchern als Reservegerät beim Tauchgang mitgeführt wird. Dies hat dazu geführt, daß viele Anfänger nicht mehr mit den verbreiteten Dekompressionstabellen umgehen (können?). Obwohl diese Entwicklung nicht wünschenswert ist — Tauchcomputer sind wie jedes Computersystem fehlerbehaftet —, läßt sie sich sicherlich nicht mehr aufhalten, zu groß sind die Vorteile beim praktischen Einsatz.

Die weite Verbreitung von Tauchcomputern hat aber nicht nur zu dem oben angesprochenen Problem geführt, sondern hat vor allem viele Vorteile gebracht. Neben leichter(er) Planung eines Tauchgangs sind heute auch Dekompressionsberechnungen bei der Verwendung von Nitrox als Atemgas Standard. Viele aktuelle Tauchcomputermodelle geben auch Auskunft über den noch zur Verfügung stehenden Flaschendruck und führen eine Sauerstofftoxizitätsberechnung durch. Auch gibt es mittlerweile Tauchcomputer, die Trimix als Atemgas verarbeiten können bzw. während des Tauchgangs den Wechsel des Atemgases zulassen und in der Dekoberechnung berücksichtigen.

Eine weitere Eigenschaft ist heutzutage bei jedem Tauchcomputer zu finden: der Profilspeicher. Dabei speichert der Tauchcomputer während des Tauchgangs in festen Zeitintervallen die aktuelle Tiefe und eventuell die Wassertemperatur sowie Warnungen.

Eine offensichtliche Anwendung der Profilspeicherung von Tauchcomputern ist die Implementation von elektronischen Logbüchern. Dabei wird ein (Mac-, PC-, PDA-, etc.)Programm dazu verwendet, die relevanten Daten eines Tauchgangs vom Tauchcomputer herunterzuladen und in eine Datenbank einzutragen. Der Taucher kann anschließend dieses Logbuch mit anderen Informationen anreichern, zum Beispiel Tauchpartner, besondere Beobachtungen oder verwendete Ausrüstungsgegenstände usw.

Ein Vielzahl von Programmen für diese Aufgabe ist schon verfügbar, die eine große Bandbreite von Plattformen (von PDAs bis Desktopmaschinen) abdeckt. Mittlerweile kann es sich kein Hersteller mehr leisten, kein entsprechendes Programm für seinen Tauchcomputer beizufügen. Es sind sogar Online-Versionen zu finden (z.B. Itzchak Rehberg, phpDiveLog, 2004, http://www.qumran.org/homes/izzy/software/pdl/demo.php). die Sammlungen von Tauchgängen im WorldWideWeb verwalten. Diese Anwendung der Profilspeicherung ist natürlich ein willkommener Zusatznutzen von Tauchcomputern.

In der modernen Dekompressionsforschung wird eine Vielzahl statistischer Daten von Tauchgängen benötigt, um vorhandene Dekompressionsmethoden zu verifizieren oder um neue Algorithmen für die Dekompressionsberechnung zu entwickeln. Dies wurde durch Divers Alert Network (DAN) (Petar J. Denoble, DL7 Standard, DAN — Project Dive Exploration, 1998, http://www.diversalertnetwork.org/research/projects/pde/). schon sehr früh erkannt und umgesetzt. Dazu wurde das Format DL7 entwickelt, das neben den eigentlichen Tauchgangsdaten sehr viele medizinische Informationen enthält. Dieses Datenformat steht auch hinter vielen der ,,Send Data to DAN''-Funktionen der verbreiteten elektronischen Logbücher.

Alle Programme dieser Art haben einen gravierenden Nachteil: Daten können nicht oder nur sehr schwierig zwischen zwei verschiedenen Programmen ausgetauscht werden. Das heißt, wird ein Programm von Hersteller X verwendet, können die Daten nur unter (großen) Schwierigkeiten in ein Programm des Herstellers Y übernommen werden. Mit anderen Worten: Die heute verfügbare Software ist meist eine Insellösung, die den Benutzer unnötigen Beschränkungen unterwirft. Dabei ist es schwierig, seine Tauchgänge über lange Zeit zu verwalten. Insbesondere große Sammlungen von Tauchgängen, etwa für statistische Auswertungen, können nur unter großen Mühen angelegt werden. Aufgrund des Aufbaus von DL7, das offensichtlich für medizinische Anwendungen optimiert wurde und dessen Datenformat nicht mehr den modernen Erkenntnissen der Informatik entspricht, ist es für diesen Einsatzzweck auch kaum geeignet.

Nun könnte man sich natürlich mit einfachen Konverterprogrammen behelfen, die die Daten in das jeweilige andere Format übertragen. Dieser Ansatz hat aber zwei große Nachteile. Zum einen sind die intern verwendeten Datenformate der Hersteller meist nicht dokumentiert und damit für die Entwickler von Konvertern nicht verfügbar. Zum anderen müßte eine sehr große Anzahl von Konvertern entwickelt werden. Angenommen es gibt n verschiedene elektronische Logbücher, die unterstützt werden sollen. Um jedes der Datenformate in jedem anderen Programm einlesen zu können, müssen dann n * (n-1) verschiedene Konverter erstellt werden. Das bedeutet, bei zehn verschiedenen Herstellern müßten schon 90 verschiedene Konverter erstellt werden! Dies zeigt, daß eine solche Herangehensweise nicht zweckmäßig ist.

Viele Programme ermöglichen den Import beziehungsweise Export von sogenannten ,,Komma bzw. Zeichen getrennten Textdateien`` (CSV-Dateien). Allerdings gibt es hier keinen Standard, so daß die exportierten Felder und deren Reihenfolge zwischen unterschiedlichen Programmen stark variieren. Ein weiterer großer Nachteil dieser Methode ist, daß es praktisch nicht möglich ist, zum Beispiel ein Logbuch inklusive Tauchprofil in einer CSV-Datei zu speichern. Einige Programme verzichten bei CSV ganz auf Profil-Daten, andere speichern diese Daten in separaten Dateien pro Tauchgang. Die Bedeutung der einzelnen Daten kann also nicht eindeutig zugeordnet werden. All dies erschwert einen Import der Daten in ein anderes Programm.

Ein anderer Ansatz ist wesentlich vielversprechender. Dazu wird ein universelles Format zum Austausch von Daten eingesetzt. In unserem obigen Beispiel müßten nun nur noch zehn Konverter beziehungsweise Konverterapplikationen zu diesem universellen Austauschformat entwickelt werden, um alle Kombinationen von elektronischen Logbüchern oder medizinischen Datensammlungsprogrammen zu unterstützen. Wird eine frei verfügbare Bibliothek zum Lesen und Schreiben eines solchen universellen Austauschformats entwickelt, so ist damit zu rechnen, daß viele Hersteller dieses Format unterstützen werden, da die Integration nahezu keinen Entwicklungsaufwand bedeutet und zu einem echten Mehrwert des Programms führt. Herstellerspezifische Daten werden dabei nicht der Allgemeinheit preisgegeben.

Eine mögliche Implementierung dieses Ansatzes ist das Universal Dive Data Format, kurz UDDF.

Bei der Entwicklung eines solchen universellen Datenaustauschformats wie UDDF bietet es sich an, die Methoden der modernen Informatik einzusetzen. Aus diesem Grund ist ein Mittel der Wahl XML, die ,,Extensible Markup Language'' (WorldWideWeb Consortium W3C, Extensible Markup Language (XML), 1996 – 2003, http://www.w3.org/XML/). Sie wurde genau zum Zweck der universellen Austauschbarkeit entwickelt und wird heute in extrem vielen Anwendungen — von Textverarbeitungsprogrammen bis zu ganzen Redaktionssystemen und im WorldWideWeb — eingesetzt. Aus diesem Grund gibt es eine große Menge von Bearbeitungs- und Korrekturwerkzeugen, Programmbibliotheken und Literatur zum Thema XML. Deshalb wurde UDDF in die XML-Welt eingebettet, was eine leichte Benutzbarkeit für den Softwareentwickler zur Folge hat und damit zu einer breiten Verfügbarkeit, letztlich zum Nutzen des Anwenders, führen kann. Gleichzeitig ist XML ein textbasiertes Datenformat und kann auch durch den Menschen gelesen werden — die Garantie, daß Tauchgangsdaten also auch noch in 20 Jahren und später verarbeitet werden können. Daß dieses Konzept funktioniert, zeigen der Vorgänger UDCF (Steffen Reith, Kai Schröder, UDCF — Universal Dive Computer Format, http://www.streit.cc/dive/udcf_doc_ger.html), der bereits in einigen Anwendungen zum Einsatz kommt (zum Beispiel in Steffen Reiths EONTools, 2002, http://www.streit.cc/dive/index.html, und in Kai Schröders Tauch-Simulationsprogramm Tausim v0.99, http://www.achim-und-kai.de/kai/tausim/tausim.html) sowie Stephan Veigls Programm AquaDiveLog, http://www.aquadivelog.org, welches bereits eine erste Version des UDDF verwendet.

Mittlerweile (September 2011) bieten verschiedene Logbuch- beziehungsweise Tauchsimulations-Programme Unterstützung für UDDF an ( DecoTrainer von Armin Rauen, Diving Log 5.0 von Sven Knoch, JDiveLog von Pascal Pellmont, Kenozooid von Artur Wróblewski, Tauchtagebuch von Jörg Hunger ). Ebenso verwendet der Open Source Tauchcomputer DR5 des Ingenieurbüros Heinrichs Weikamp GbR UDDF zur Speicherung der Tauchdaten. Für weitere den Autoren bekannte Anwendungsprogramme ist UDDF-Unterstützung in Vorbereitung.