- Development Environment for Visual Languages
-
DEViL Entwickler FG Programmiersprachen und Übersetzer, Universität Paderborn Aktuelle Version 2.0.0
(25. November 2010)Betriebssystem Windows, Linux, MacOS Kategorie Softwaregenerator Lizenz LGPL Deutschsprachig ja [1] Development Environment for Visual Languages, kurz DEViL, ist ein Generator für Entwicklungsumgebungen für visuelle Sprachen der Universität Paderborn.
Inhaltsverzeichnis
Merkmale
DEViL ist ein Generator, der Entwicklungsumgebungen für visuelle Sprachen aus Spezifikationen generiert. DEViL wird an der Universität Paderborn entwickelt und hat mit Version 0.16.0 einen stabilen Status erreicht. Seit 14. März 2007 ist Version 1.0 verfügbar. Auch ein VMWare Image steht bereit. Mit dem Generator wurden bereits zahlreiche Beispieleditoren spezifiziert, dazu gehören: UML Klassendiagramme/Statecharts/Use Cases, Nassi-Shneiderman Diagramme, Elektronische Schaltkreise und vieles mehr. Es bestehen Kooperationen zu bekannten Firmen, für die Editoren entwickelt wurden, die zum Beispiel zur Konfiguration von Roboterstraßen eingesetzt werden.
Die generierten visuellen Umgebungen unterstützen strukturelles Editieren, Mehrfensterumgebung, sowie alle Features, die von herkömmlichen Editoren bekannt sind. Insbesondere können beliebig viele Sichten auf die zugrunde liegende Sprachstruktur definiert werden.
Geschichte
DEViL wird seit ca. 2000 entwickelt. Zahlreiche Bachelor- und Diplomarbeiten sind daraus hervorgegangen. DEViL ist das Nachfolgersystem von VL-Eli. Die Konzepte von VL-Eli wurden in DEViL übernommen und erweitert, das Design und die Implementierung des Systems wurde teilweise überarbeitet. DEViL benutzt intern unter anderem das Eli System (Environment for language implementations).
Aktuell wird mit DEViL3D ein Generatorsystem für visuelle dreidimensionale Sprachen entwickelt.
Das Generatorsystem
Die Eingabespezifikationen beschreiben die abstrakte Struktur, visuelle Darstellung, Analyse und Transformation der visuellen Sprache auf einem sehr hohen Abstraktionsniveau. DEViL generiert dann daraus vollständige Umgebungen mit den obengenannten Merkmalen. Zur Analyse und zur Generierung der Attributauswerter, die die graphische Darstellung der Editoren berechnen wird das Übersetzergeneratorsystem Eli benutzt. Um die Zwischenprodukte zu koordinieren und zu cachen wird Wodan benutzt. Eli und Wodan werden ebenfalls an der Universität Paderborn entwickelt.
Um einen visuellen Editor zu spezifizieren muss zunächst in einer klassenbasierten Form die sogenannte abstrakte Struktur der visuellen Sprache entworfen werden (Schritt 1). Daraus kann DEViL bereits einen Editor mit einer einfachen textbasierten, aber editierbaren Baumansicht generieren.
Im zweiten Schritt muss die konkrete graphische Repräsentation spezifiziert werden. Dies geschieht durch die Auswahl geeigneter visueller Muster, wie Listen oder Mengen. Diese visuellen Muster sind ein Grundkonzept, dass DEViL bereitstellt und bietet eine Vielfalt an visuellen Gestaltungsmöglichkeiten. Die visuellen Muster können parametrisiert und auf die eigenen Bedürfnisse angepasst werden. Die Muster werden mittels der funktionalen high-level Spezifikationssprache LIDO (aus dem Eli System), auf die abstrakte Struktur angewendet. Zusätzlich kann noch ein Codeauswerter für eine Source-to-Source Übersetzung spezifiziert werden. Neuere DEViL Versionen erlauben bereits die automatische Generierung einer Animation aus Simulationsspezifikationen. Entwicklungsumgebungen für domänenspezifische visuelle Sprachen können so simuliert und animiert werden.
Erweiterbarkeit
DEViL basiert auf dem Prinzip, viele spezialisierte Werkzeuge zusammenarbeiten zu lassen und ihre Ergebnisse mittels des Produktmanagmentsystems Wodan untereinander austauschbar zu machen. Deshalb ist es leicht möglich DEViL mit beliebigen Werkzeugen oder Teilsystemen von Eli zu erweitern. Dazu kann in DEViL jede Sprache eingebunden werden. Zur Zeit basiert die GUI auf Tcl/Tk, das Produktmanagment auf Python und die Datenhaltung der abstrakten Struktur auf C/C++.
Weblinks
Wikimedia Foundation.