AUTOSAR-Konfigurationen Unsauberes Konfigurieren führt zu instabilen Systemen

Durch unvollständige Softwarekonfiguration können instabile Systeme oder inkonsistente Daten entstehen.
Durch unvollständige Softwarekonfiguration können instabile Systeme oder inkonsistente Daten entstehen.

Durch unvollständige AUTOSAR-Konfigurationen oder Umgehung der Konfiguration durch die Software-Entwickler können instabile Systeme oder sporadisch inkonsistente Daten entstehen. Wie sich das vermeiden lässt, erklärt der nachfolgende Beitrag.

Software für Steuergeräte (ECUs) wird zunehmend komplexer. Um diese Komplexität im Griff zu behalten, kommt in praktisch allen umfangreicheren ECUs AUTOSAR zum Einsatz. Ein solches System bietet eine Vielzahl an Konfigurationsmöglichkeiten und Optionen, die von den Software-Architekten richtig und vollständig konfiguriert werden müssen. Wesentliche Bestandteile von AUTOSAR-Systemen sind dabei Software-Komponenten (SWC) und deren Ports. SWCs wiederum können aus mehreren ausführbaren Teilen bestehen, den sogenannten Runnable Entities, kurz Runnables, welche schließlich während der Integration den Tasks zugewiesen werden. Dabei können auch Runnables derselben Software-Komponente in verschiedenen Tasks ausgeführt werden. Diese Zusammenhänge veranschaulicht Bild 1.

Damit Runnables auch Daten aus Ports auslesen oder in Ports schreiben können, müssen Access Points definiert werden. Aus diesen Zugriffspunkten generiert der RTE-Generator die APIs, die im eigentlichen Code schließlich verwendet werden. Aus dem obigen Beispiel mit den Access Points dataReceivePointByArgument (für Re1) und dataSendPoint (für ReZ) entstehen so für die Runnables die APIs im Listing 1.

Bilder: 4

Listings 1-4

AUTOSAR-Konfigurationen

Stellt der Entwickler nun fest, dass er in Re2 ebenfalls die Daten aus Port RpRx auslesen muss, so könnte er die für Re1 generierte API Rte_Read_RpRx_speed dafür benutzen, ohne dass eine Fehlermeldung oder eine Warnung ausgegeben würde. Tatsächlich ist das jedoch keine gute Idee, denn die konfigurierten Access Points dienen dem RTE-Generator beispielsweise dazu, festzulegen, ob und wie die Zugriffe auf die RTE geschützt werden müssen.