Themen für Fortgeschrittenenpraktika, Projekte, Bachelor- und
Diplomarbeiten sowie studentische Hilfskräfte
In der Forschung befasst sich die Arbeitsgruppe mit der konzeptionellen und technischen Weiterentwicklung der modellgetriebenen Softwareentwicklung. Studentische Arbeiten in diesem Bereich beschäftigen sich mit
- der Anwendung von entwickelten Konzepten und Techniken auf konkrete Anwendungen
- Vergleich verschiedener aktueller Ansätze
- Implementierung konzeptionell ausgearbeiteter Ergebnisse auf der Basis von Java, Eclipse und
EMF, Xtext etc.
- Ausarbeitung neuer Konzepte
Im Folgenden stellen wir unsere Themenbereiche vor:
Modellgetriebene Softwareentwicklung
Hier geht es um die modellgetriebene Entwicklung einer konkreten
Anwendung, den Vergleich verschiedener Ansätze und die Evaluierung von
neuen Konzepten in diesem Bereich. Wir konzentrieren uns auf Ansätze
für modellgetriebene Softwareentwicklung basierend auf der
Java-Plattform, wie z.B. das Eclipse Modeling Framework (EMF).
Darüber hinaus sind wir auch an der Weiterentwicklung von Infrastrukturen für modellgetriebene Entwicklung interessiert. Hier geht es im Wesentlichen um die Ausweiterung der Codegenerierungsmöglichkeiten, z.B. um neue Plattformen zu unterstützen. Damit einher geht meist auch die Erweiterung von domänenspezifischen Modellierungssprachen um neue Domänenkonzepte.
Graph- und Modelltransformationen
Ein wesentliches Konzept der modellgetriebenen Softwareentwicklung
ist die Modelltransformation. Wir unterscheiden exogene
Modelltransformationen, die Modelle von einer Sprache in eine andere
übersetzen, und endogene, die Modelle innerhalb einer Sprache
optimieren, simulieren oder, ganz generell gesehen, verändern. Da die
abstrakte Struktur eines Model ein Graph ist, lässt sich
Modelltransformation als eine Art Graphtransformation begreifen.
Arbeiten in diesem Kontext drehen sich um die Entwicklung konkreter
Modelltransformationen für eine bestimmte Modellierungssprache, den
Vergleich verschiedener Modelltransformationsansätze, die Entwicklung
neuer
Modelltransformationskonzepte und die Effizienzsteigerung von bereits
realisierten
Modelltransformationskonzepten. Als technische Plattform für
Modelltransformationen verwenden wir im Wesentlichen das Eclipse
Modeling Framework (EMF).
Visuelle Modellierungssprachen
Der modellgetriebene Ansatz hebt die Softwareentwicklung auf eine
höhere Abstraktionsebene. Modelle sind hierbei die zentralen Artefakte
der Entwicklung. Die bisherigen Ansätze verwenden meist Varianten der
Unified Modeling Language (UML) als domänenspezifische visuelle
Modellierungssprachen.
Arbeiten in diesem Bereich beschäftigen sich mit der Verbeserung vorhandener visueller Modellierungssprachen, mit der Integration neuer Konzepte und mit der Erstellung unterstützender Werkzeuge, allen voran der Generierung visueller Editoren, z.B. auf der Basis des Eclipse Graphical Modeling Framework (GMF). Ein spezielles Thema ist die Untersuchung und Verbesserung von Sprachkonzepten für die visuelle Modellierung von Web-Services.
Qualität von Modellen
Qualitätssicherung von Software hat sich bisher auf den Programmcode
konzentriert. Die modellgetriebene Entwicklung stellt Modelle in den
Mittelpunkt. Der daraus generierte Code kann nur so gut wie das
ursprüngliche
Modell sein. Deshalb ist es wichtig, Modelle von hoher Qualität zu
erstellen. Wir konzentrieren uns auf
syntaktische Qualitätssicherungsmaßnahmen wie z.B.
Modellierungskonventionen, Bad Model Smells sowie Modell-Refactoring
und betrachten speziell die Qualitätssicherung von UML-Modellen.
Arbeiten in diem Kontext umfassen die Entwicklung konkreter Qualitätssicherungsmaßnahmen für die UML und andere Modellierungssprachen sowie die Entwicklung von unterstützenden Werkzeugen als Eclipse-Plugins.
Weitere Themen nach Absprache.
Eigene Themenvorschläge sind ebenfalls möglich, sofern sie mit den Forschungsfeld der Arbeitsgruppe sinnvoll vereinbar sind.
Auch Kooperationen mit Firmen sind grundsätzlich möglich.
Vergangene und laufende Arbeiten werden resp. wurden in Kooperation mit z.B. folgenden Firmen durchgeführt:
- Capgemini sd&m AG
- Commerzbank AG
- itemis AG
- Robert Bosch GmbH
- SAP Research
- Siemens AG (insb. im Rahmen des SPES-Projektes)

