30.12.2013 Aufrufe

Darstellung und Analyse hydrologischer Topologien auf der Basis ...

Darstellung und Analyse hydrologischer Topologien auf der Basis ...

Darstellung und Analyse hydrologischer Topologien auf der Basis ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

3.7 Praktische Umsetzung <strong>der</strong> entwickelten Verfahren 113<br />

3. wasmod: Dieses Paket beinhaltet Klassen zur Einbindung des Modells WASMOD mit Hilfe<br />

des Java Native Interface.<br />

4. misc: In diesem Paket sind Klassen zur <strong>Darstellung</strong> des Einzugsgebietes, zum Zugriff <strong>auf</strong><br />

WASMOD-Parameterdateien sowie zur Repräsentation verschiedener Typen von Aktivierungsfunktionen<br />

zusammengefasst.<br />

5. oms: Dieses Paket beinhaltet alle Klassen, die für den Datenaustausch zwischen HydroNet <strong>und</strong><br />

bereits vorhandenen Komponenten zur Visualisierung <strong>und</strong> Manipulation benötigt werden.<br />

Die wichtigsten <strong>der</strong> für die Implementierung des HydroNet verwendeten Klassen sind in Abbildung<br />

3.25 dargestellt. Das UML-Klassendiagramm zeigt die Klasse NN, welche ein generisches vorwärtsgerichtetes<br />

neuronales Netz implementiert. Jedem Objekt dieser Klasse ist dazu je eine Menge von<br />

Instanzen <strong>der</strong> Klassen Neuron <strong>und</strong> Link assoziiert. Eine Reihe von Methoden von NN implementieren<br />

Gr<strong>und</strong>funktionalitäten neuronaler Netze wie etwa das Propagieren eines Eingabevektors durch das<br />

Netz mit dem Ergebnis eines Ausgabevektors (propagate(input:Vector):Vector). Die Objekte<br />

<strong>der</strong> Klasse Link verwalten je ein zugehöriges Start- <strong>und</strong> Zielneuron sowie einen Gewichtswert.<br />

Die Klasse Neuron stellt neben Informationen über die aktuelle Aktivierung eines Neurons auch<br />

den Zugriff <strong>auf</strong> eine assoziierte Aktivierungsfunktion zur Verfügung. Für <strong>der</strong>en <strong>Darstellung</strong> wurde<br />

zunächst nur ein Interface ActivationFunction bereitgestellt, um dieses anschließend mit Hilfe<br />

unterschiedlicher Klassen implementieren <strong>und</strong> so die im Verl<strong>auf</strong> <strong>der</strong> Arbeit getesteten Funktionstypen<br />

<strong>auf</strong> einfache Art <strong>und</strong> Weise einbinden zu können. Die zur Repräsentation <strong>der</strong> Funktionstypen implementierten<br />

Klassen besitzen Methoden zur Ermittlung ihrer Funktionswerte <strong>und</strong> zur Berechnung ihrer<br />

Ableitung. Die den Funktionen zugr<strong>und</strong>e liegenden Stützstellen werden in einer Matrix gespeichert,<br />

<strong>der</strong>en Methoden im Fall von Polynomen auch zur Ermittlung <strong>der</strong> Polynom-Parameter herangezogen<br />

werden können.<br />

Für die <strong>Darstellung</strong> des HydroNet wurde eine weitere Klasse HydroNet von NN abgeleitet. Hier ist<br />

auch das <strong>auf</strong> einer Reihe von Beson<strong>der</strong>heiten des HydroNet <strong>auf</strong>bauende Lernverfahren implementiert,<br />

ebenso Methoden zum Speichern <strong>und</strong> Laden von HydroNet-Instanzen <strong>auf</strong> <strong>der</strong> Gr<strong>und</strong>lage von XML-<br />

Dokumenten, zur Ermittlung <strong>der</strong> Aktivierungsfunktionen <strong>und</strong> Kantengewichte im HydroNet sowie<br />

zur Initialisierung <strong>der</strong> Düngekantengewichte mit Startwerten. Ein weiterer Unterschied zur Klasse NN<br />

besteht in <strong>der</strong> Verwendung einer speziellen Klasse zur Kantendarstellung (HydroLink), welche die<br />

Unterscheidung von Gr<strong>und</strong>wasser- <strong>und</strong> Interflowkanten ermöglicht.<br />

Neben den für die Umsetzung des Optimierungsverfahrens benötigten Klassen wurden weitere zur<br />

Bereitstellung einer Schnittstelle zur Modellierungssoftware WASMOD implementiert. Ziel war eine<br />

möglichst enge Einbindung des Stofftransportmodells in ein Gesamtsystem zur Modellierung, Optimierung<br />

<strong>und</strong> Ergebnisdarstellung. Da WASMOD als Fortran77-Implementierung vorlag, kam das<br />

Java Native Interface (JNI) zum Einsatz (Liang 1999). Dazu wurde zunächst die gesamte WASMOD-<br />

Implementierung über eine Funktion innerhalb einer nativen Bibliothek bereitgestellt. Die Kommunikation<br />

zwischen dieser Bibliothek <strong>und</strong> Java-Klassen wurde durch die Bereitstellung von C++-Vermittlungsfunktionen<br />

realisiert, die mit Hilfe des JNI die Wertübergabe zwischen Java-Instanzenvariablen<br />

<strong>der</strong> nativen WASMOD-Funktion umsetzen. Somit konnte das Stofftransportmodell über eine entsprechende<br />

Java-Klasse mit den notwendigen Eingabedaten zu versehen <strong>und</strong> seinen Abl<strong>auf</strong> zu steuern.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!