Dekan Tim Weitzel freut sich über den Zuwachs in seiner Fakultät (Fotos: Maike Bruns).

Modellieren, Programmieren, Verifizieren: Gerald Lüttgen beschäftigt sich mit Softwareentwicklung (Grafik: Gerald Lüttgen).

Zum Vortrag fanden sich nicht nur Kolleginnen und Kollegen ein, sondern auch eine große Zahl an Studierenden.

- Maike Bruns

Vom Dreiklang der Softwareentwicklung

Antrittsvorlesung von Gerald Lüttgen

Alles beginnt mit Musik. „Der Dreiklang der Softwareentwicklung lautet: Modellieren, Programmieren, Verifizieren“, eröffnete Lüttgen seine Antrittsvorlesung. Wie funktioniert Softwareentwicklung? Ausgangspunkt könnte folgende Szenerie sein: Berta Beispielfrau sitzt vor ihrem neu erworbenen Mobiltelefon und versucht seit Stunden verzweifelt, ihre Kontakte ins Telefonbuch einzutragen. Irgendwann kommt die erste Frage: Warum funktioniert das nicht? Etwas später dann: Wer hat sich das eigentlich ausgedacht? Dem hätte ich aber einige Vorschläge zu machen. Fortsetzung folgt!

Modellieren, Programmieren, Verifizieren

Und wo bleibt nun die Verbindung zur Musik, fragt sich der verwirrte Laie. Diese findet sich in der komplexen Dreiklangstruktur bestehend aus den Komponenten Modellieren, Programmieren und Verifizieren, die sich wechselseitig stützen und ergänzen. „Diese drei Begriffe hängen so eng zusammen wie ein musikalischer Dreiklang“, erläuterte Lüttgen. Sie stellen den kontinuierlichen Arbeitsablauf in der Softwareentwicklung dar: Kundenanforderungen wie von Berta Beispielfrau führen zu neuen Modellierungen und Entwurfsversuchen, die schließlich in einem endgültigen Entwurf enden, mit dessen Hilfe Informatiker ein Programm erstellen können. Verifizieren und Testen schließt den Kreis und prüft das Programm auf Tauglichkeit. Kundenanforderungen sind es also, die den stetigen Kreislauf von Modellieren, Programmieren und Verifizieren in Gang setzen.

Es ist alles nur geklaut!

Was sich für den Laien anhört wie das Geheimrezept von Miraculix‘ Zaubertrank, ist im Prinzip nichts anderes als eine Transferleistung seitens der Informatiker. Zur Erläuterung ging Lüttgen in seiner Antrittsvorlesung bis zum Beginn der Informatik zurück: Nach den Anfängen der Softwareentwicklung entstand in den 50er Jahren zunehmend komplexere Software, um dem immer größer werdenden Hunger nach automatisierter Datenverarbeitung gerecht zu werden. „Die Folge waren zu komplizierte Programme, die Qualitätsabsicherung stimmte nicht mehr“, beschrieb Lüttgen. Kundenanforderungen und Termine wurden nicht eingehalten, Programmierfehler häuften sich, die Kosten stiegen rasant und Projekte scheiterten: Die erste Software-Krise (1960er bis 1980er Jahre) entstand. Abhilfe verschaffte schließlich der Blick auf die Vorgehensweise bei Entwicklungen in den Ingenieurwissenschaften: Modellieren, Realisieren, Verifizieren.

Es folgte eine zweite Software-Krise, hervorgerufen in den 90er Jahren durch das beginnende Internetzeitalter. „Der Übergang von geschlossenen zu offenen, interagierenden Systemen, vom System Computer zum System Internet, stellt eine große Herausforderung für die Informatik dar“, erläuterte Lüttgen. Die Stichworte lauten nun Vernetzung und Parallelität von verschiedenen Systemen. Auch diese Krise kann mithilfe von anderen wissenschaftlichen Disziplinen, in diesem Fall der Mathematik, gelöst werden. Eine an ein Programm gestellte Qualitätseigenschaft – zum Beispiel ob es eine gewünschte Kundenanforderung erfüllt – wird nun zunächst abstrahiert und in ein mathematisches Modell umgewandelt, mit dem die Wissenschaftler rechnen können. Die mathematischen Ergebnisse werden dann konkretisiert, auf den realen Fall zurück überführt und verhelfen in der Folge zu einem verbesserten Programm.

Forschungsprojekte in Bamberg

Nach seinem Informatik-Studium, das er an der RWTH Aachen absolvierte, verbrachte Lüttgen seine Doktorandenjahre an der Universität Passau. Nach einem Abstecher von 1998 bis 2000, den er als wissenschaftlicher Mitarbeiter im Institute for Computer Applications in Science and Engineering am NASA Langley Research Center (USA) verbrachte, folgten bis 2009 Lehr- und Forschungsaufenthalte an der University of Sheffield und der University of York (Großbritannien). Seit 2009 lehrt und forscht er an der Universität Bamberg. Sein Lehrstuhl „Softwaretechnik und Programmiersprachen“ zeichnet sich in Lehre und Forschung durch eine starke internationale Ausrichtung aus. Zu seinen Forschungsinteressen gehören die automatische Verifikation, Programmiersprachen, Entwurfssprachen sowie die Parallele Programmierung.

Daher setzt die Forschung an Lüttgens Lehrstuhl auch genau an den Nahtstellen von Modellieren, Programmieren und Verifizieren an. Einerseits entwickeln und erweitern die Informatiker neue Interfacetheorien für parallele Systeme, die der Kommunikation (im Internet) dienen. Andererseits beschäftigen sie sich mit sogenannten Heapanalysen. Dabei geht es um eine korrekte Speicherverwaltung bei der Programmierung dynamischer Datenstrukturen, beispielsweise von Listen- oder Baumstrukturen.

Hinweis

Diesen Pressetext verfasste Susanne Gierhan für die Pressestelle der Universität Bamberg