(AP2) WCET-Analyse

cfgFür die Korrektheit von sicherheitskritischen Eingebetteten Systemen ist es nicht nur wichtig, dass ein Programm das richtige Ergebnis liefert, sondern auch, dass dies rechtzeitig geschieht. Um dies sicherstellen zu können, muss man die Laufzeit im schlimmsten Fall, die sogenannte WCET, bestimmen oder sicher abschätzen. Ein Nachweis der WCET wird von quasi allen Sicherheitsstandards (DO-178B beziehungsweise DO-178C, IS0-26262, IEC-61508, EN-50128) gefordert.

Dieser Nachweis kann für Singlecore-Prozessoren mit Hilfe statischer Programmanalysen geleistet werden. Da es im Allgemeinen nicht möglich ist, die WCET exakt zu bestimmen, wird eine sichere obere Schranke der Laufzeit berechnet. Die Präzision der oberen Schranke hängt dabei unter anderem von der Architektur des Prozessors ab. Bei Multicore-Prozessoren kann sich die Vorhersagegenauigkeit dramatisch verschlechtern, da durch die Betrachtung der schlimmstmöglichen gegenseitigen Beeinflussung eine unrealistisch hohe Ausführungszeit geschätzt wird.

Messung der Ausführungszeit ist demgegenüber geeignet, eher typische Szenarien abzubilden. Im Allgemeinen kann dabei aber nicht sichergestellt werden, dass hierbei auch wirklich der schlimmstmögliche Fall abgedeckt werden kann. Damit sind messende Verfahren zur Zertifizierung hoher Kritikalitätslevel normalerweise ungeeignet.

Projektziel

Ziel dieses Arbeitspakets ist die Kombination statischer und dynamischer Analysen zu einem hybriden Ansatz, bei dem Ausführungszeiten nur für Basis-Blöcke gemessen werden. Aus diesen Teilzeiten kann dann durch geeignete Kombination die WCET abgeschätzt werden. Hat man bei den einzelnen Basis-Block-Zeiten den tatsächlich schlechtesten Fall gemessen, ist das Ergebnis dieser Kombination eine sichere obere Schranke.

Die Anwendung dieser Methode krankt heutzutage daran, dass sehr viele Aufzeichnungen der Testläufe erforderlich sind, um verlässliche Ergebnisse zu erhalten. Das Ziel der Beobachtung maximaler Ausführungszeiten über beliebig lange Zeiträume kann damit nicht erreicht werden. Die im Projekt CONIRAS erforschte Technik soll die einzelnen Messungen bereits in der Hardware akkumulieren und somit zu einer wesentlichen Verbesserung der Handhabbarkeit dieses hybriden Ansatzes führen und somit sowohl die Präzision der Abschätzung zu steigern als auch ein hohes Konfidenzlevel zu erreichen.