next up previous contents
Next: WYSIWYG-Prinzip Up: Visuelle Sprachen Previous: Visuelle Sprachen

Terminologie und Klassifikation

Häufig wird der Begriff Programm-Visualisierung mit dem Begriff Visuelle Programmierung verwechselt oder vermischt. Myers verbindet mit der Programm-Visualisierung jedoch ,,den Einsatz von Graphik zur Illustration von bestimmten Aspekten eines (textuellen) Programms oder seiner Ausführung``, wohingegen er die visuelle Programmierung definiert als ,,ein System, das einem Benutzer die Konstruktion eines Programms mit zwei- oder mehr-dimensionalen Hilfsmitteln (gegenüber der konventionellen ein-dimensionalen textuellen Programmierung) erlaubt`` [Mye86]. Die Programm-Visualisierung wird damit hauptsächlich als Debugging-Werkzeug eingesetzt, Einsatzbereich der visuellen Programmierung ist die Programmentwicklung.

Auch der Begriff Visuelle Sprache wird nicht eindeutig verwendet. Einerseits werden Sprachen für die Verarbeitung visueller Informationen, zum Beispiel in der Bildverarbeitung, als visuelle Sprachen bezeichnet. Andererseits wird der Begriff im Zusammenhang mit Sprachen benutzt, die eine Programmentwicklung mit Hilfe visualisierter Sprachkonstrukte erlauben, zum Beispiel Flußdiagramme. Auf dieser Grundlage teilt Chang die visuellen Sprachen in vier Klassen ein, je nachdem, ob die Objekte, die mit der Sprache verarbeitet werden, eine inhärente visuelle Repräsentation besitzen oder visualisierte -- von Natur aus eigentlich abstrakte -- Objekte darstellen, und ob die Sprache selbst durch visuelle Elemente gebildet wird oder nicht ([CIL86, Cha87a]) (siehe auch Abbildung 4.1). Nach Chang sind visuelle Programmiersprachen Sprachen, in denen die Programmierkonstrukte visuell repräsentiert werden, und mit denen abstrakte logische Objekte verarbeitet werden, die ebenfalls visualisiert dargestellt werden. Hierzu gehören beispielsweise Flußdiagramme, Nassi-Shneiderman-Diagramme und Jackson-Diagramme. Sprachen mit visuellen Programmkonstrukten, die inhärent visuelle Objekte verarbeiten, werden ikonische visuelle Information verarbeitende Sprachen genannt.gif Hierunter fallen beispielsweise Graphik-Editoren. Die Klasse der visuelle Informationen verarbeitende Sprachen bilden textuelle Programmiersprachen, mit denen visuelle Objekte verarbeitet werden, also zum Beispiel Sprachen zur Bildverarbeitung. Schließlich gibt es noch die Klasse der eine visuelle Interaktion unterstützende Sprachen. Das sind textuelle Programmiersprachen, in denen von Natur aus abstrakte Daten visuell repräsentiert und bearbeitet werden. Die Sprachen LOGO [Ros83] und HI-VISUAL ([HMY tex2html_wrap_inline6035 86, HTI90]) sind Exemplare dieser Klasse.

 
Abbildung 4.1:  Klassifikation visueller Sprachen

Generell können zwei Kategorien der visuellen Programmierung unterschieden werden. In die eine fallen graphische Systeme, die eine Programmierung beispielsweise mit Hilfe von Flußdiagrammen, Nassi-Shneiderman-Diagrammen oder Jackson-Diagrammen ermöglichen. Personen, die mit diesen Werkzeugen programmieren, müssen grundsätzliche Programmierprinzipien und -konstrukte verstanden haben. Die Systeme stellen Alternativen zur textuellen Programmierung dar, die insbesondere Anfänger bei der Programmkonstruktion unterstützen. Ihr Einsatz impliziert häufig eine übersichtlichere, strukturierte Programmentwicklung mit einer niedrigeren Fehlerrate. Zur anderen Kategorie gehören dahingegen eher anwendungsorientierte graphische Systeme:

Allen diesen Systemen der zweiten Kategorie gemeinsam ist, daß ihre Benutzer im allgemeinen keinerlei Programmierkenntnisse bzw. -erfahrungen bezüglich der konventionellen Programmierung besitzen müssen. Sprachen der ersten Kategorie können auch als programmier-orientierte visuelle Programmiersprachen bezeichnet werden, Sprachen der zweiten Kategorie als anwendungsorientierte visuelle Programmiersprachen. Während bei programmier-orientierten visuellen Programmiersprachen eine (fast) 1:1-Abbildung der graphischen Repräsentation in eine textuelle Struktur möglich istgif, besitzen anwendungsorientierte visuelle Programmiersprachen im allgemeinen ein wesentlich höheres Abstraktionsniveau: Intern liegen den graphischen Elementen der Sprache komplexe, zusammenhängende Strukturen zugrunde; einfache Benutzeraktionen können komplexe Strukturveränderungen implizieren.


next up previous contents
Next: WYSIWYG-Prinzip Up: Visuelle Sprachen Previous: Visuelle Sprachen

Dietrich Boles
Thu Nov 14 14:58:01 MET 1996