"Unser Projekt befasst sich mit Methoden der Software-Entwicklung für eingebettete Systeme", erklärt Projektleiter Dr. Jürgen Wübbelmann. Als Beispiele für solche Systeme nennt der Professor der Fakultät Ingenieurwissenschaften und Informatik (IuI) kleine Rechner oder Computer in Flugzeugen oder Autos, aber auch in Wäschetrocknern oder Fotokameras. Dort leisten diese "Mini-Rechner" - weitgehend unsichtbar für den Benutzer - ihren Dienst in zahlreichen Anwendungsbereichen. "Das Besondere und Schwierige an solchen Systemen ist, dass die Ressourcen in Bezug auf Speicher, Rechenleistung und Energieverbrauch begrenzt sind. Zugleich müssen sie sehr flexibel sein und innerhalb der vorgegebenen Zeit reagieren", so Prof. Wübbelmann weiter.
Software für diese Systeme wird zunehmend modellbasiert entwickelt, um sie übersichtlicher und damit verständlicher für andere Entwickler und Außenstehende zu halten. Aus dem Modell heraus wird dann automatisiert ein Code für das System generiert. Allerdings sind solche Modelle und Codes oftmals nicht sofort fehlerfrei. Die Ursache eines solchen Fehlers kann mit Hilfe so genannter Debugging-Werkzeuge analysiert werden.
"Bisher entstanden bei solchen Fehlersuchen große Mengen an zusätzlichem Code. Auch die Anforderungen bezüglich Echtzeitverhaltens und beschränkter Ressourcen wurden verletzt", sagt Prof. Dr. Clemens Westerkamp, der ebenfalls am Projekt arbeitet. Deshalb kommen diese Lösungen oft nur für eine Simulation in Frage. Einige Fehler lassen sich jedoch erst dann finden, wenn der aus dem Modell erzeugte Code auf der realen Hardware ausgeführt wird. Deshalb hat das Forschungsteam ein Verfahren entwickelt, das möglichst wenig Zusatz-Code produziert und das Laufzeitverhaltens kaum beeinflusst. Damit können Test- und Ausliefer-Code identisch sein, was vor allem in Hinblick auf sicherheitskritische Anwendungen ein wesentliches Kriterium für die Akzeptanz der Lösung beim Kunden ist.
Das Projektergebnis ermöglicht nun die grafische Auswertung der Software mittels Sequenz- und Timing-Diagrammen. Angezeigt werden sämtliche erstellten Objekte und generierten Events. Zusätzlich ist die Möglichkeit geschaffen worden, Zeitinformationen zur Laufzeit anzuzeigen. Damit können Entwickler ihre Systeme umfassend auf der realen Hardware überprüfen.
Innerhalb des Projektes entsteht zudem eine kooperative Promotion in Zusammenarbeit mit Prof. Dr.-Ing. Elke Pulvermüller von der Universität Osnabrück.