Skip to main content
main-content

14.12.2012 | Automobil + Motoren | Nachricht | Onlineartikel

Fraunhofer Forscher entwickeln Tool zum Auffinden von Fehlern im Softwareentwurf

Autor:
Andreas Burkert
2:30 Min. Lesedauer

Wissenschaftler der Fraunhofer-Einrichtung für Systeme der Kommunikationstechnik ESK haben ein Programm entwickelt, mit dem sich frühzeitig Fehler in einem Softwareentwurf finden lassen.

Das Framework Ernest (framework for the early verification and validation of networked embedded systems) richtet sich vor allem an Softwareentwickler, die mit vernetzten eingebetteten Systemen arbeiten und modellbasierte Software beispielsweise für Fahrzeuge entwerfen. Das Programm simuliert die entworfene Software und überprüft ihr Zeitverhalten. So hilft es den Entwicklern, bereits in einem frühen Stadium der Modellierung Softwarefehler bei der nicht-funktionalen Anforderung Zeitverhalten zu entdecken - und Zeit und Entwicklungskosten zu sparen.

Kernstück von Ernest ist die simulationsbasierte Analyse. In einem ersten Schritt wird aus dem Softwaremodell eine Simulation erzeugt und das Kommunikationsverhalten nachgebildet. Das Framework erzeugt dabei sogenannte Timing-Traces, die über das Zeitverhalten informieren und festhalten, an welchem Port zu welchem Zeitpunkt eine Nachricht angelangt ist. "Wir haben zunächst die Analyse des Zeitverhaltens als eine derzeit wichtigste nicht-funktionale Eigenschaft berücksichtigt, die gerade bei Automobil-Software unbedingt eingehalten werden muss", erläutert Gereon Weiß, Gruppenleiter Automotive Software bei der Fraunhofer ESK, die Wahl der ESK-Forscher. Weitere Analysemöglichkeiten sind geplant und können leicht in das offene Framework integriert werden.

Anbindung an Eclipse

In einem zweiten Schritt haben die Wissenschaftler eine Möglichkeit gefunden, wie man diese Simulationsdaten an die offene Entwicklungsumgebung Eclipse anbindet und analysiert. Dabei greifen sie auf ein sogenanntes Change-Modell zurück, welches die Simulationsdaten in das Eclipse-Modell überführt. Der Entwickler kann nun überprüfen, ob die gesetzten Anforderungen eingehalten wurden und sein Software-Modell entsprechend verbessern.

Besonders an der Entwicklung ist, dass es durch ein eigens entwickeltes Meta-Modell unterschiedliche Modellierungssprachen wie UML, EAST-ADL und Artop/Autosar analysiert. Die ESK-Wissenschaftler haben bereits während der Entwicklung darauf geachtet, dass die Analyse von der Modellierungssprache der Systemarchitektur unabhängig bleibt. Damit können Softwarenentwickler unterschiedliche Modelle mit verschiedenen Entwicklungssprachen in das Ernest-Framework integrieren und überprüfen.

Fehlerfreie Programmierung sicherheitsrelevante Systeme

Die ESK-Forscher greifen mit dem Framework aktuelle Trends bei der Software-Entwicklung auf. So müssen Softwareentwickler zunehmend nicht-funktionale Anforderungen, wie das Zeitverhalten, die Zuverlässigkeit und die Energieeffizienz, berücksichtigen, damit das System fehlerfrei funktioniert. Wird beispielsweise Software für ein Bremssystem im Automobil entwickelt, ist es wichtig, dass die zeitlichen Anforderungen an die Softwarekomponenten gewährleistet sind. Der Fahrer kann nur dann rechtzeitig bremsen, wenn Daten zeitnah übertragen werden. Ohne eine frühzeitige Absicherung von nicht-funktionalen Anforderungen in einem Softwareentwurf bleiben Fehler unerkannt und führen in späteren Entwicklungsphasen zu Problemen und zu hohen Kosten.

Die erste Version des Fraunhofer ESK-Frameworks Ernest steht übrigens ab sofort auf der Webseite www.esk.fraunhofer.de/de/projekte/ERNEST.html zum kostenlosen Download bereit.

Premium Partner

    Bildnachweise