Übersicht

BMBF_CMYK_300dpiWenn wir heute in ein Auto oder Flugzeug einsteigen, ist uns meist nicht bewusst, dass ein großer Teil sicherheits­kritischer Funk­tionen bereits durch intelli­gente Kleinst­rechner (sogenannte eingebettete Systeme) erledigt wird. So werden heute bereits Steuerungen der Bremsen ent­wickelt, die nur durch elektro­nische Instruk­tionen vom Fahrer bedient werden. Diese Tendenz wird in der Zukunft noch verstärkt werden.

Umso wichtiger wird es, die korrekte Funktion solcher Systeme sicher­zustellen. Zum einen bedeutet dies, Fehler bei der Programmierung zu finden und zu eliminieren. Zum anderen bedeutet dies aber auch nach­zuweisen, dass die Systeme ihre Aufgaben in allen Einsatz­situationen frist­gerecht erledigen. Im Falle des exempla­rischen Brems­systems gilt es also einer­seits nach­zuweisen, dass der Entwickler alle Einsatz­situationen berück­sichtigt hat (was passiert zum Beispiel wenn der Fahrer auf glattem Unter­grund in der Kurve gleich­zeitig Gas gibt und bremst?). CONIRAS-SchaubildAnderer­seits muss hier aber auch sicher­gestellt werden, dass die Berechnungen in der Steuerung immer innerhalb vor­definierter Zeit­schranken beendet werden (was nutzt es, wenn das Brems­system mit einer Verzögerung von zehn Sekunden reagiert?).

Herausforderung Mehrkern-Mikrokontroller

Während dieser Nachweis für Einzelkern-Mikrokontroller in der Regel durch statische Analyse geführt werden kann, lassen aktuelle Mehrkern-Mikrokontroller diese Analysen nicht mehr zu. Ebenso wird durch die wirkliche Parallelarbeit mehrerer Kerne das Finden von Programmfehlern erheblich schwerer.

Im Rahmen des Projektes CONIRAS — Kontinuierliche nicht-intrusive Laufzeitanalyse von SoCs erforschen die Projektpartner innovative Möglichkeiten, die komplexe Software auf modernen Mehrkern-Mikrokontrollern von Entwurfsfehlern zu befreien und wichtige Eigenschaften, wie z.B. die maximale Reaktionszeit der Systeme, zu bestimmen.

Eine wesentliche Rolle spielt hierbei die Analyse von Trace-Daten, wie sie von modernen Mikrokontrollern über extrem schnelle Schnittstellen bereit gestellt werden. In der Regel werden solche Daten heute nur aufgezeichnet und dann später in Ruhe analysiert. Im Rahmen dieses Projektes sollen diese Trace-Daten analysiert werden, während das System läuft. Diese Vorgehensweise eröffnet vollkommen neue Möglichkeiten bei der Fehlersuche und der Bestimmung von Systemeigenschaften. So kann man die Analyse einfach so lange laufen lassen, bis ein bestimmter Systemzustand erreicht wurde oder ein sporadischer Fehler aufgetreten ist.

Die Projektpartner bringen ihre individuellen Kompetenzen in das Projekt in folgenden Teilen ein:

  • ACCEMIC: Erfassung und Aufbereitung der Trace-Daten
  • TU Darmstadt, FG Rechnersysteme: Generische Architekturen zur Analyse der aufbereiteten Trace-Daten, sowie Werkzeuge zu ihrer Programmierung
  • Uni Lübeck, ISP: Neue formale Möglichkeiten, korrekte und fehlerhafte Systemzustände zu identifizieren, sowie die Abbildung auf die generische Analysearchitektur
  • AbsInt: Vorbereitung der Analyse durch Konfiguration der Analyse-Architektur, sowie Auswertung der Analyse-Daten zur Bestimmung oberer Schranken für die Ausführungszeiten

Arbeitspakete und Laufzeit

Das Verbundvorhaben gliedert sich in drei Arbeitspakete:

Geplante Laufzeit ist vom 01.09.2014 bis zum 31.10.2016.

Förderung

Das Forschungsvorhaben CONIRAS — Kontinuierliche nicht-intrusive Laufzeitanalyse von SoCs wird vom Bundesministerium für Bildung und Forschung im Rahmen der Fördermaßnahme „KMU-innovativ“ unter dem Förderkennzeichen 01 IS 13029 A-D gefördert.