Arbeitsgebiete
Modellgetriebene Softwareentwicklung
Ein neues vielversprechendes Paradigma zur besseren Beherrschung der
steigenden Komplexität von Softwaresystemen und zur Erreichung einer
höheren Softwarequalität ist die modellgetriebene Softwareentwicklung.
Auf der Basis von domänenspezifischen Modellen werden Applikationen auf
einer hohen Abstraktionsebene entworfen. Aus dem erstellten Modell wird
mittels eines Codegenerators das eigentliche Softwaresystem weitgehend
automatisch erstellt.
Wir konzentrieren uns auf Ansätze für modellgetriebene
Softwareentwicklung basierend auf der Java-Plattform, wie z.B. AndroMDA
und das Eclipse Modeling Framework (EMF).
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.
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.
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.

