Computer führt Regie: Kasseler Informatiker entwickeln automatisierte Software

Programme ohne Pannen

Folgenreicher Computerfehler: Die Rakete Ariane 5 wurde 1996 kurz nach ihrem Start gesprengt. Sie war durch einen Fehler in der Software vom Kurs abgekommen. Foto: dpa

Kassel. Computer steuern inzwischen große Teile unserer Infrastruktur: Sie verarbeiten die Buchungen der Passagiere der Deutschen Bahn. Sie regeln Kraftwerke oder steuern den Verkehrsfluss. Doch die immer größere Komplexität dieser Programme birgt auch immense Gefahren:

1996 explodierte die europäische Rakete Ariane 5, als sie Satelliten ins Weltall tragen sollte. Grund war ein Software-Fehler im Programm des Steuercomputers, der teuer zu stehen kam. 1,7 Milliarden Euro gingen in Flammen auf.

Hunderte Flüge fielen vor einigen Jahren auf dem Flughafen in Los Angeles aus, als das Kommunikationssystem versagte. Der Grund war ein fataler Fehler eines Programmierers, der einen Zeitfaktor in den Ablauf des Programms eingebaut hatte.

Martin Lange

„Die größte Fehlerquelle bei der Entwicklung von Computerprogrammen ist der Mensch“, sagt Prof. Martin Lange, Inhaber der neu eingerichteten Heisenberg-Professur am Fachbereich Elektrotechnik / Informatik der Universität Kassel. Die Deutsche Forschungsgemeinschaft (DFG) fördert die Professur bis zu fünf Jahre lang mit bis zu 563 000 Euro. Lange entwickelt Methoden zur Automatisierung von Computerprogrammen mit dem Ziel, dass Computer in allen möglichen Situationen pannenfrei Regie führen. Dabei könnte eine neue Architektur für das Schreiben von Software entstehen: Der Programmierer gibt dem Computer nicht mehr im Einzelnen vor, was er zu tun oder zu lassen hat.

„Wir denken nur noch auf der Ebene von Anforderungen. Der Mensch sagt, was das Programm leisten soll“, beschreibt der Wissenschaftler den Forschungsansatz. Das heißt, der Programmierer setzt mit seiner Arbeit nur noch den Rahmen, den die Computersteuerung ausfüllen muss.

Das würde als Anforderung an das Kommunikationssystem eines Flughafens beispielsweise bedeuten, dass es unter allen Umständen weiterlaufen muss. Wie die essenziellen Aufgaben erfüllt werden, bleibt dann dem Computersystem selbst überlassen. Es generiert die dazu notwendigen Programme eigenständig.

Eine solche komplexe Software aus einem Guss würde die Probleme vermeiden, die an den Schnittstellen der Programmmodule auftreten können. Da diese Bausteine des Systems von verschiedenen Programmierern geschrieben werden, kann es gerade dort zu Fehlern kommen.

Die Entwicklung von mathematisch beweisbar fehlerfreien Computerprogrammen ist von großer Bedeutung, weil sich im Nachhinein auch mit großem Aufwand nicht alle Schwachstellen aufdecken lassen. Zu groß ist die Zahl der möglichen Situationen, die während des Systembetriebs zu Pannen führen können, als dass sie bei einem Testlauf alle entdeckt werden könnten. Foto: Dilling

Von Peter Dilling

Kommentare

Unsere Kommentarfunktion wird über den Anbieter DISQUS gesteuert. Nutzer, die diesen Dienst nicht verwenden, können sich hier über das alte HNA-Login anmelden.

Hinweise zum Kommentieren:
In der Zeit zwischen 17 und 9 Uhr werden keine neuen Beiträge freigeschaltet.

Auf HNA.de können Sie Ihre Meinung zu einem Artikel äußern. Im Interesse aller Nutzer behält sich die Redaktion vor, Beiträge zu prüfen und gegebenenfalls abzulehnen. Halten Sie sich beim Kommentieren bitte an unsere Richtlinien: Bleiben Sie fair und sachlich - keine Beleidigungen, keine rassistischen, rufschädigenden und gegen die guten Sitten verstoßenden Beiträge. Kommentare, die gegen diese Regeln verstoßen, werden von der Redaktion kommentarlos gelöscht. Bitte halten Sie sich bei Ihren Beiträgen an das Thema des Artikels. Lesen Sie hier unsere kompletten Nutzungsbedingungen.

Die Kommentarfunktion unter einem Artikel wird automatisch nach drei Tagen geschlossen.