HINWEIS: Diese Seiten sind veraltet. Bitte erwägen Sie, auf die Seiten des Nachfolgesystems DEViL zu wechseln.


Das VL-Eli System
Generierte Editoren

Streets

Streets ist eine visuelle Sprache zur imperativen Programmierung paralleler Berechnungen unter Verwendung des Message-Passing-Prinzips. Sie ist in einer Projektgruppe entstanden und durch einen Abschlussbericht dokumentiert.

Die Besonderheit von Streets ist, dass die Kommunikationsmuster der Prozesse auf hohem Niveau visuell beschrieben werden können, ohne auf die dynamische Erzeugung einer variablen Anzahl von Prozessen verzichten zu müssen. Die Definition von ausführbaren Programmobjekten wird in sogenannten Komponenten gekapselt (Abbildung b). Eine solche Komponente besitzt eine Aufruf- und Kommunikationsschnittstelle, eine Kontrollfluss-Struktur, Informationen über die zu startenden Unterprozesse sowie das Kommunikationsmuster all dieser Elemente. Der Kontrollfluss wird visuell durch Reihung und Schachtelung der üblichen Programmkonstrukte (also Fallunterscheidungen, Schleifen, Anweisungen usw.) beschrieben, wobei zur konkreten Darstellung die Metapher "Straße" verwendet wird. Die zu startenden Unterprozesse werden durch Instanziierung anderer Komponenten spezifiziert. Die Kommunikationsstruktur wird durch Linien dargestellt, die passende Ports miteinander verbinden. Eine Besonderheit ist, dass der Editor automatisch ein größenoptimiertes Layout erstellt, lediglich die Reihenfolge der visuellen Objekte wird durch den Sprachbenutzer vorgegeben.


(a) Streets Hauptfenster


(b) Streets Komponentendefinitionsfenster

Prinzipiell ist Streets eine praxistaugliche Programmiersprache. Wir betrachten Streets hier recht ausführlich, da es von uns mit entwickelt wurde und so Kenntnisse aus erster Hand vorhanden sind. Für uns ist es z.B. interessant, die Komplexität beider Realisierungen zu vergleichen. Würde auch der Übersetzungsteil in die generierte Version integriert, ließe sich auf einfache Weise prüfen, wie sich Änderungen der visuellen Oberfläche auf die praktische Einsetzbarkeit der Sprache auswirken. Auch Weiterentwicklungen ließen sich dadurch wesentlich vereinfachen. Von Interesse sind auch die Konzepte, die bei der ursprünglichen Implementierung der Sprache eingesetzt wurden. Die Straße wurde z.B. durch das Zusammensetzen kleiner Pixelgrafik-Kacheln gezeichnet, da das Zeichnen der Straßendetails durch Vektorgrafik zu Effizienzproblemen geführt hätte.

Übersicht über den generierten Editor
VL-Eli-Spezifikation