HINWEIS: Diese Seiten sind veraltet. Bitte erwägen Sie, auf die Seiten des Nachfolgesystems DEViL zu wechseln.
Die Implementierung einer neuen visuellen Sprache mit VL-Eli kann aus mehreren Gründen interessant sein: Die Sprache kann herausfordernde grafische Darstellungen enthalten oder komplexe semantische Abhängigkeiten zwischen den Sprachkonstrukten aufweisen. Auch die Weiterverarbeitung oder Übersetzung ist interessant.
Beispiele für interessante visuelle Sprachen sind mathematische Formeln, LabView oder die Diagrammtypen von UML.
Studienarbeit: Implementierung von UML-Ablaufdiagrammen
Anwendungsspezifische Werkzeugsysteme wie Eli oder VL-Eli sind mächtige Hilfsmittel, die die Arbeit des Programmierers wesentlich erleichtern. Allerdings sind sie sehr komplex, so dass detaillierte Kenntnisse über einzelnen Werkzeuge und Module und deren Zusammenhänge erforderlich sind. Da die Werkzeuge teilweise generische Komponenten enthalten, braucht man häufig viel Erfahrung, um Fehlermeldungen richtig zu deuten und darauf zu reagieren.
Dem unerfahrenen Sprachentwickler sollten Hilfsmittel angeboten werden, die ihn bei der Sprachimplementierung unterstützen. Hierfür eignen sich grafische Entwicklungsoberflächen, die mit spezialisierten visuellen Sprachen die Anwendung der Systeme vereinfachen.
Diplomarbeit: Ein visuelles Frontend für VL-Eli
Studienarbeit: Constraint-Solver zur Implementierung visueller Sprachen
Diplomarbeit: Entwicklung eines Konzepts zur Animation visueller Programme
Ein wichtiges Problem bei der Implementierung visueller Sprache ist das Layout: Der Benutzer sollte genug Freiheiten besitzen, um die Darstellung seinen Vorstellungen und Ideen entsprechend zu gestalten. Andererseits sollten Programme schnell konstruiert und verändert werden können, ohne viel Zeit auf das Layout verwenden zu müssen. Im Extremfall muss das Layout sogar vollkommen automatisch berechnet werden, z.B. wenn Programmteile importiert werden, die von einer anderen Anwendung erzeugt wurden.
Für bestimmte Arten grafischer Darstellungen gibt es sehr spezielle Verfahren, die das Layout wesentlich erleichtern. Beispiele hierfür sind das automatische Routing von Linien oder das Graphlayout. Aber auch die benutzerfreundliche Positionierung von Beschriftungen an Linien ist eine lohnende Fragestellung. Derartige Techniken sollten wiederverwendbar gekapselt werden, so dass Sprachentwickler sie ohne großen Aufwand wiederverwenden können.