Nächstes: Parallelisierung über die Schnittstelle
Nach oben: Planung der Komponenten
Vorheriges: Beispiele für integrierbare Software
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:
-
-
- 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.
-
-
- 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.
-
-
- 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.
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