Research Topics
[GB] Entwurf und Implementierung eines Texteditors für EMF Modelle
In der Modellgetriebenen Softwareentwicklung erlangt die textuelle Entwicklung von Modellen zunehmende Beliebtheit. Im Gegensatz zu grafischen Editoren erlauben textuelle Editoren eine freiere Bearbeitung der Modelle. Daraus ergeben sich neue Problemstellungen.
In dieser Arbeit soll ein Texteditor entworfen und implementiert werden, der auf der Basis des bereits vorhandenen Reuseware EMFTextEdit Tools folgende Funktionalitä-ten bei der Bearbeitung von Modellen bietet:
1. Outline View: Der Editor soll eine navigierbare Outline View zur Verfügung stellen, die eine Baumansicht des momentan geöffneten Modells zeigt. Elemente die dort selektiert werden sollen entsprechend im Text markiert werden.
2.Code Completion: Der Editor soll den Entwickler durch automatische Code Vervollständigung unterstützen. Dabei sollen sowohl die in dem Syntax der Sprache vorkommenden Schlüsselwörter als auch bereits im Modell vorhandene Elemente, die an der entsprechenden Position referenziert werden können, zur Erstellung einer Vorschlagsliste dienen.
3.Restriktiver Modus: Der Editor soll zwei Bearbeitungsmodi bieten: 1) Im freien Modus ist der Text wie bei gewöhnlichen Texteditoren frei editierbar. Bei Änderungen wird der Text immer in ein neues Modell geparst. 2) Im restriktiven Modus soll der Entwickler nur eingeschränkte Bearbeitungsmöglichkeiten haben, so dass das Modell wie bei grafischen Editoren im Speicher gehalten wird und im Sinne des MVC-Musters bei Änderungen am Text nur upgedated wird. In diesem Modus soll es auch möglich sein, dass im Speicher befindliche Modell mit anderen Tools (ins besondere mit Reuseware) zu verändern.
Die Implementierung soll in Form von Eclipse Plugins umgesetzt werden und auf dem Eclipse Modeling Framework und dem Eclipse Text Editor Framework aufsetzen. Wo möglich, ist vorhandene Funktionalität der Frameworks wiederzuverwenden. Daher sollte der Bearbeitung jeder Teilaufgabe eine genaue Analyse der einzelnen Features der Frameworks auf ihre Eignung zur Lösung der Aufgabe vorangehen.
Die EMFTextEdit Implementierung, ins besondere das TextResource Interface, sollen bei Bedarf erweitert werden. Ein einfacher Editor, der bereits im EMFTextEdit Tool existiert, kann, muss jedoch nicht, als Basis für die Implementierung dienen.
Der Editor ist mit verschiedenen Modellen und verschieden Modellierungssprachen zu testen und zu evaluieren.
Betreuer: Jendrik Johannes