gif gif gif gif Index Literaturverzeichnis Mail
Nächstes: Parallelisierung über die Schnittstelle Nach oben: Planung der Komponenten Vorheriges: Beispiele für integrierbare Software

Komponentenebenen für die geplanten Entwicklungen

Damit ist für die geplanten Entwicklungen eine effiziente Trennung der Komponentenebenen nach Funktionalität möglich (Tabelle 3.4).

 
Komponente Beispiel zur Realisierung
1. GUI   Tcl / Tk  ( wish )
2. Schnittstelle  Shell (bash [NR1998],
(GUI/extern) ksh [Ros1993] usw.)
3. externe Komp.  C++ , Fortran ,  Tcl ,  Perl  usw.
sowie beliebige Bibliotheken
Tabelle 3.4: Komponentenebenen nach Funktionalität

 

Jede dieser Ebenen ist für eine zu entwickelnde GIS-Applikation aus folgenden Gründen nützlich:

  1. Die graphische Oberfläche ist offen. Es kann flexibel bestimmt werden, welche Teile der Oberfläche später vom Anwender modifiziert werden dürfen.
    Die Entwicklungsumgebung der graphischen Oberfläche ist objektorientiert. Die Bibliotheken  können beliebig um eigene C/C++   Funktionen erweitert werden.

  2. Die Shell  bietet eine Programmierumgebung, mit der alle Aufgaben einer Schnittstelle (engl.:  ,,interface``), z.B. zu anderen Anwendungen, abzudecken sind. Beliebige Teile der Schnittstelle können so gestaltet werden, daß sie vom Anwender beliebig modifizierbar sind.
    Auf Mehrprozessor-Computern kann z.B. auf dieser Ebene eine weitestgehende Parallelisierung einzelner Funktionen vorgenommen werden. Dies stellt für den Anwender eine einfach zu nutzende Möglichkeit dar, Aktionen gleichzeitig, d.h. pseudoparallel, auszuführen.

  3. Jede bestehende Komponente kann nach den technischen Gegebenheiten und Funktionen der Komponente in die Oberfläche integriert werden. Diese Programme müssen nicht im Quellentext  vorliegen, um integriert werden zu können.
    Integrierte Komponenten können ihre Selbstständigkeit bewahren und lassen sich sowohl im Stapelverarbeitungsmodus (engl.:  ,,batch modus``) als auch interaktiv betreiben.
    Teile der graphischen Oberfläche können als eigenständige Komponente oder Programm entwickelt werden.
    Spezielle Programmteile können individuell optimiert werden. Dies ist z.B. insbesondere bei numerisch anspruchsvolleren Aufgaben sehr wünschenswert.
    Komponenten können leichter auf Groß- und Superrechner übertragen werden. Entsprechende Fortran-Programme  werden immer einen erheblichen Geschwindigkeitsvorteil gegenüber C++  Implementierungen haben [Kno1997]. Vorteil einzelner Programmiersprachen und Verfahren können so optimal genutzt werden.


gif gif gif gif Index Literaturverzeichnis Mail
Nächstes: Parallelisierung über die Schnittstelle Nach oben: Planung der Komponenten Vorheriges: Beispiele für integrierbare Software


Claus-Peter Rückemann / ruckema@uni-muenster.de / Tel. --
Sun Jan 20 19:17:16 MET 2002