Forschungsthemen
[] Semantische Analyse mit Attributgrammatiken für EMF basierte Metamodelle
In der modellgetriebenen Softwareentwicklung sind Modelle und Metamodelle die zentralen Artefakte um qualitativ hochwertige Software zu generieren und durch gemeinsame Standards den Datenaustausch untereinander zu erleichtern. Modelle können mit Hilfe grafischer oder textueller Editoren erstellt und manipuliert werden. Der Vorteil der grafischen Darstellung liegt in der unmittelbaren Sichtbarkeit von Referenzen zwischen den Modellelementen. Im Gegensatz dazu wird bei textuellen Repräsentationen zunächst ein abstrakter Syntaxbaum konstruiert, der anschließend mittels semantischer Analyse (z.B. Namensanalyse) zu einem Graph erweitert wird.
Textuelle Syntax und Editoren für EMF basierende Modelle können mit Hilfe von Werkzeugen wie EMFText definiert werden. Die Definition von Syntax erfolgt hierbei deklarativ auf Basis kontextfreier Grammatiken. Darüber hinausgehende statische Semantik muss in der Regel jedoch manuell implementiert werden, EMFText bietet hierfür geeignete Erweiterungspunkte. Der Nachteil einer solchen Implementierung liegt in ihrer Komplexität und der schwierigen Modularisierbarkeit.
Attributgrammatiken sind eine Möglichkeit die Komplexität zu reduzieren und statische Semantik deklarativ zu beschreiben und entsprechende Werkzeuge zu generieren. JastAdd bietet die Möglichkeit Attributauswerter für abstrakte Syntaxbäume zu generieren (Java Quellcode). Die Syntaxbäume müssen jedoch in einem eigenen Format definiert werden, was eine Integration mit anderen Werkzeugen erschwert.
In dieser Arbeit soll daher die Integration von Attributgrammatiken und Metamodellen am Beispiel von JastAdd und EMF/Ecore untersucht werden.
Betreuer: Sven Karol