27.10.2014 Aufrufe

Zeitreihenanalyse natürlicher Systeme mit neuronalen Netzen und ...

Zeitreihenanalyse natürlicher Systeme mit neuronalen Netzen und ...

Zeitreihenanalyse natürlicher Systeme mit neuronalen Netzen und ...

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.

2.3 Implementierung<br />

2.3.1 C++<br />

Das Gerüst des Data-Stream-Networks wurde komplett in C++ programmiert. Alle selbst entwickelten<br />

Algorithmen <strong>und</strong> alle aus fremden C-Bibliotheken entnommenen Algorithmen wurden in eigenständige<br />

C++-Klassen eingeb<strong>und</strong>en. Der objektorientierte Ansatz dieser Programmiersprache erfordert eine<br />

gewisse Zeit des Umdenkens, die sich aber auszahlt. C++ besitzt eine hohe Abstraktionsebene <strong>und</strong><br />

ermöglicht bessere Kapselung von Daten <strong>und</strong> Prozeduren. Auch wird die Vererbung zur Verfügung<br />

gestellt, wodurch in hierarchischer Struktur <strong>und</strong> so<strong>mit</strong> übersichtlich programmiert werden kann. C++<br />

kann so erweitert werden 9 , daß eine an ein spezielles Problem angepaßte Programmiersprache entsteht.<br />

In dem Programmpaket DSN wurde intensiv von dieser Möglichkeit Gebrauch gemacht 10 .<br />

Der Hauptgr<strong>und</strong> für die Wahl von C++ ist aber deren allgemeine Verfügbarkeit <strong>und</strong> Standardisierung,<br />

wodurch die Entwicklung einer Software, die auf verschiedenen Betriebssystemen läuft, ermöglicht<br />

wird. Ein weiterer Vorteil ist die Verfügbarkeit von umfangreichen Bibliotheken von Algorithmen <strong>und</strong><br />

Tools in C bzw. C++.<br />

2.3.2 Tcl/Tk<br />

Die Tool Command Language (Tcl) ist eine sehr leistungsfähige Interpretersprache, die von Prof. John<br />

Ousterhout 11 an der University of California at Berkeley ab 1988 entwickelt wurde. Der Kern dieser<br />

Sprache ist die String- <strong>und</strong> Listenverarbeitung. Alle Variablentypen sind letztendlich Strings, die<br />

entsprechend interpretiert werden (z.B. als float oder int) 12 . Auch Programmcode kann in Variablen<br />

abgelegt <strong>und</strong> interpretiert werden, so daß ein laufendes Programm um neuen Code erweitert werden<br />

kann. Diese Möglichkeit wird bei der Programmierung der Makros im DSN ausgenutzt. (Weitere<br />

Informationen zu Tcl in [3] <strong>und</strong> [4])<br />

Die wichtigste Erweiterung von Tcl ist das Tool Kit (Tk), das den entscheidenden Ausschlag für die<br />

Verwendung dieser Sprache gab. Durch das Tk wird der Tcl-Interpreter um umfangreiche Befehle zur<br />

grafischen Oberflächenprogrammierung erweitert. Mit sehr einfach aufgebautem Programmcode lassen<br />

sich Fenster <strong>mit</strong> vielen verschiedenen Arten von Widgets 13 erzeugen <strong>und</strong> da<strong>mit</strong> interaktive Dialogboxen<br />

aufbauen. Durch die Kombination von Tcl <strong>und</strong> Tk ist es möglich, vollständige interaktive Anwendungen<br />

zu erstellen ohne andere Programmiersprachen zu verwenden.<br />

9 abgesehen von grammatikalischen Erweiterungen<br />

10 Es wurden als erstes z.B. Tools zur Verwaltung von dynamischen Vektoren <strong>und</strong> Matrizen entwickelt. Darauf aufbauend<br />

entstanden abstraktere Objekte wie Zeitreihen <strong>und</strong> Fourierspektren.<br />

11 http://www.sunlabs.com/~ouster/<br />

12 Die neuste Version von Tcl (8.0) verwaltet zur Beschleunigung des Interpreters intern die numerischen Variablen binär.<br />

10

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!