Entwicklungsprozesse Komfortable Konfiguration von AUTOSAR-Steuergeräten

Ein typisches Steuergerät nutzt viele Funktionen der AUTOSAR-Basis-Software
Ein typisches Steuergerät nutzt viele Funktionen der AUTOSAR-Basis-Software

Das simple CAN-Steuergerät war gestern. Mittlerweile nutzt ein typisches Steuergerät viele Funktionen der AUTOSAR-Basis-Software, um seine komplexen Aufgaben zu erfüllen. Je mehr Funktionen, desto schwieriger und umfangreicher ist aber auch der Konfigurationsprozess. Ohne Werkzeugunterstützung wäre der Entwickler verloren.

Während der Entwicklung des Steuergerätes werden Teile der Software auf Basis einer spezifischen Konfiguration generiert. Drei Faktoren beeinflussen die Komplexität dieser Steuergeräte-Konfiguration: Mehr Standardisierung: Durch AUTOSAR ist mittlerweile ein großer Anteil der Steuergeräte-Software als Basis-Software standardisiert. Das AUTOSAR-Prinzip „Konfigurieren statt Codieren“ zwingt die Entwickler allerdings dazu, von vornherein eine konsistente Gesamtkonfiguration zu erstellen. Eine Korrektur direkt im Code ist nicht vorgesehen.

Mehr Funktionen: Durch neue Mikro­controller mit mehreren Cores und Speicherschutz-Features oder durch neue Netzwerktechnologien wie Ethernet steigt der Umfang der Basis-Software und damit auch der Konfigurationsbedarf.

Neue Zusammenarbeits-Modelle: Die AUTOSAR-Methode fördert neue Rollen im Entwicklungsprozess (Bild 1). Neben dem Zulieferer für die AUTOSAR-Basis-Software (TIER2-BSW) wie Vector Informatik gibt es auch Zulieferer für Applikations-Software-Komponenten (TIER2-SWC) oder die Hardware-nahen Microcontroller Abstraction Layer Modules (TIER2-MCAL). Das bedeutet zunächst einmal mehr Abstimmungsaufwand bei der Konfiguration.

Software-Werkzeuge als Helfer

Der AUTOSAR-Standard entwickelt sich hoch dynamisch weiter. Mit jedem Release gibt es Änderungen: Der Funktionsumfang existierender BSW-Module ändert sich oder es werden neue Module definiert. Alle diese Module bringen ihre eigenen Konfigurationsparameter mit sich. Mit formal beschreibbaren Modulstrukturen und Parametern wird das AUTOSAR-Konfigurationskonzept dieser Dynamik grundsätzlich gerecht. Damit ist das schnelle und einfache Definieren von Basic Software Module Descriptions (BSWMD) möglich, die in einer BSW-Lieferung enthalten sind. Diese formale Methode klingt zunächst verlockend für einen Werkzeug-Ansatz: Der Hersteller entwickelt mit überschaubarem Aufwand ein generisches Werkzeug, über das sich grundsätzlich alle Parameter einzeln konfigurieren lassen – und zwar die heute bekannten wie auch alle zukünftigen. Niemand möchte allerdings ohne weitere Unterstützung Tausende von Parametern über einen solchen Editor einstellen.

Spezifische Editoren und Assistenzfunktionen

Es gibt einige Ansätze, wie ein Software-Werkzeug diese Arbeit erleichtert. Ein spezifisch entwickelter Editor stellt den Zusammenhang zwischen den Parametern dar und vereinfacht das Konfigurieren, zum Beispiel über Massenoperationen. Außerdem zeigt ein solcher Editor die Parameter thematisch gruppiert an – auch über Modulgrenzen hinweg. 

Über grafische Darstellungen trägt der Editor zum Verständnis der komplexen Konfiguration bei. Solche Werkzeuge sind hilfreich und nötig bei allen Domänen der Basis-Software wie Kommunikation, Mode Management, Diagnose, Memory Management oder I/O. Über einen Editor im Bereich der Memory-Domäne fügt der Entwickler beispielsweise recht einfach einen Speicherblock hinzu, der dann konsistent im Non Volatile RAM Manager (NvM) wie auch in der Flash EEPROM Emulation (Fee) konfiguriert ist. Der Overhead aus dem Verhältnis Nutzdaten zu Blockgröße lässt sich durch eine grafische Darstellung leicht abschätzen (Bild 2).

Zusätzlich helfen Assistenzfunktionen beim Konfigurieren. Ändert der Entwickler zum Beispiel einen Parameter, werden die davon abhängigen Parameter durch ein Regelwerk automatisch korrekt gesetzt. Für komplexere Aufgaben wie dem Mapping von Runnable Entities auf Betriebssystem-Tasks unterstützen Assistenten, bei denen der Entwickler die Runnable Entities der Software-Komponenten (Software Components, SWCs) auf Basis ähnlicher Trigger-Bedingungen auswählt, einer Task zuordnet und schließlich die Ausführungsreihenfolge innerhalb der Task definiert.

Ein weiteres Beispiel aus der Mode-Management-Domäne: Das BswM-Modul in AUTOSAR 4 erlaubt eine völlig freie Konfiguration von Arbitrierungsregeln, logischen Ausdrücken und Aktionen, um auf Mode-Änderungen in anderen BSW-Modulen zu reagieren oder um selbst Mode-Änderungen anzufordern. Über eine Assistenzfunktion wird nun zum Beispiel der BSW Mode Manager (BswM) so konfiguriert, dass er sich ähnlich verhält wie der relativ einfach zu beherrschende ECU State Manager (EcuM) aus AUTOSAR 3.