Entwicklung + Test Mehr Kerne – aber sicher

Die steigende Zahl aktiver Sicherheitsfunktionen im Fahrzeug erfordert leistungsfähige Zentralsteuergeräte, die als Multiprozessor- oder künftig vermehrt als Multi-Core-Systeme realisiert werden. Gründe sind die benötigte Rechenleistung sowie Redundanz und gegenseitige Überwachung. Timing-Analyse spielt hier eine zentrale Rolle und ermöglicht eine schnelle Vorhersage von Leistungsfähigkeit und Echtzeit-Verhalten des Systemkonzepts.

Im Folgenden wird am Beispiel eines Spurhalteassistenten ein SymTA/S-basiertes Vorgehen erläutert. Das Werkzeug SymTA/S von Symtavision ermöglicht schnelle „what if“-Analysen alternativer Systemkonzepte, insbesondere hinsichtlich Funktions-Allokation und Optimierung der Task- und Kommunikations- Schedules. Das Beispiel stammt von General Motors und wurde im Detail auf der Symtavision NewsConference 2009 vorgestellt. Eine Kernfrage bei Multiprozessor-Systemen ist die Verteilung und das Scheduling der Funktions-Komponenten, um den Durchsatz zu optimieren und Verzögerungen unter den geforderten Deadlines zu halten. Bei Dual- und Multi- Core-Systemen beeinflussen zusätzlich Shared Resources das Echtzeit-Verhalten des Systems, beispielsweise gemeinsam genutzter Speicher, Co-Prozessoren und Kommunikationsressourcen [2]. Um die Echtzeit-Fähigkeit eines Systems zu gewährleisten, setzen OEMs, Steuergeräte-Zulieferer und Halbleiterhersteller nun Werkzeuge zur Vorhersage und zur Absicherung des Timing-Verhaltens ein. Im Rahmen der Systemanalyse und Optimierung eines Zentralsteuergeräts für aktive Sicherheitsfunktionen wurde das Symtavision-Werkzeug Sym- TA/S bei General Motors eingesetzt (Bild 1). Die Motivation von General Motors war dabei, die Komplexität zu beherrschen und grundlegende Veränderungen im Systementwicklungsprozess anzustoßen. E/E-Architekturen haben meist eine lange Lebensdauer und werden daher auf Basis unvollständiger Informationen über benötigte Funktionen entwickelt. Folglich ist in der Automobilindustrie bisher das Vorgehen etabliert, E/EArchitekturen früh festzulegen und die Echtzeit-Fähigkeit spät zu testen. Dies birgt große Risiken und kann in späten Entwicklungsphasen zu Performanz- Engpässen führen, die nur mit großem Aufwand behoben werden können.

Auf der SymTA/S NewsConference 2009 sprach Paolo Giusto über aktuelle Entwicklungen im Bereich der aktiven Sicherheit. Giusto treibt bei General Motors das Thema Architekturexploration und Timing-Analyse mit dem Ziel, eine frühe Exploration der System-Alternativen bezüglich Leistungsfähigkeit und Echtzeit-Verhalten sowie eine späte Festlegung auf eine konkrete Implementierung zu erreichen. Er nutzt SymTA/S seit drei Jahren und hat verschiedene Serienabteilungen bei General Motors bei der Einführung der Software methodisch unterstützt. Er präsentierte ein GMSystem mit einem Doppelprozessor- Steuergerät, es ist aber zu erwarten, dass General Motors, wie andere OEMs auch, künftig Multi-Core-ECUs einsetzen wird.

Die Doppelprozessor-Architektur wird verwendet, um einerseits den steigenden Bedarf an Rechenleistung der Fahrerassistenz-Anwendungen zu befriedigen und andererseits durch das Redundanzprinzip den insbesondere in den USA hohen Sicherheitsanforderungen zu genügen. Das Problem des traditionellen Entwicklungsprozesses ist, erläuterte Giusto, dass man sich sehr früh für eine Hardware- und eine Software-Architektur entscheidet, die Überprüfung der Echtzeit-Fähigkeit dann aber erst sehr spät im Entwicklungsprozess stattfindet – nämlich in der Testphase. Das heißt, die Verknüpfung von Funktion und Architekturkomponente erfolgt frühzeitig, wohingegen die Verifikation spät vorgenommen wird.

Dieses Vorgehen kombiniert zwei Nachteile: Erstens sinkt durch die steigende Komplexität und Integration der Systeme die Testabdeckung und somit die Systemzuverlässigkeit – dies gilt insbesondere für Echtzeit- Anforderungen, denn das Zeitverhalten wird durch viele Einflüsse wie Scheduling, Zugriff auf Shared Resources und die Auswahl der Kommunikationsmechanismen bestimmt. Zweitens werden mögliche Fehler erst sehr spät erkannt, und erforderliche Modifikationen sind zeit- und kostenintensiv, weil große Teile der Entwicklung und der Abnahmetests wiederholt werden müssen. Als weiterer Nachteil bleiben viele Möglichkeiten zur Optimierung und Kosteneinsparung auf der Strecke.