AUTOSAR

Load Balancing in AUTOSAR-Multicore-Systemen (Teil 1)

28. April 2010, 9:38 Uhr | Von Dr. Kathrin D. Scheidemann, Michael Knapp und Claus Stellwag
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 4

Werkzeuggestütztes Zerlegen von SWCs

Bild 3. Vorgehen beim werkzeuggestützten Zerlegen von Software-Komponenten.
Bild 3. Vorgehen beim werkzeuggestützten Zerlegen von Software-Komponenten.

Das werkzeuggestützte Zerlegen von SWCs fasst Teilmengen der ausführbaren Einheiten (Runnables) einer SWC zu neuen, kleineren SWCs zusammen. Die Kommunikation zwischen den Runnable-Gruppen wird dabei auf die in AUTOSAR definierten Kommunikationsparadigmen abgebildet.

Herausforderungen ergeben sich dadurch, dass, im Gegensatz zu Runnables verschiedener SWCs, Runnables der gleichen SWC nicht nur über in AUTOSAR definierte Kommunikationsparadigmen miteinander interagieren. Daher kommen globale Variablen zum Einsatz, und Funktionen werden in beliebigen Runnables aufgerufen. Sogar die Verwendung derselben Zeigervariablen in verschiedenen Runnables ist legal. Beispielsweise kann der Zugriff auf globale Variablen unter bestimmten Voraussetzungen auf Sender-Receiver-Kommunikation abgebildet werden, der Aufruf von Funktionen auf synchrone Client-Server- Kommunikation. Bei der Umsetzung von Legacy-Konstrukten auf AUTOSAR- Mechanismen muss sichergestellt sein, dass die durch die ursprüngliche Architektur gegebenen Datenfluss- und Konsistenzgarantien nicht verletzt werden. Aber nicht alle denkbaren Programmierkonstrukte lassen sich sinnvoll auf AUTOSAR-Mechanismen abbilden. Bei Zeigervariablen beispielsweise gibt es Grenzen. Ebenso lassen sich über Kerngrenzen hinweg gültige AUTOSAR-API-Aufrufe, wie das zum gegenseitigen Ausschluss in bestimmten Code-Abschnitten einsetzbare "RTEenter()", nicht sinnvoll umsetzen. Hieraus ergeben sich Anforderungen an zulässige Zerlegungen: Die Runnables, die beispielsweise gleiche Zeigervariablen verwenden, müssen in einer gemeinsamen SWC verbleiben.

Die Zerlegung der SWCs erfolgte im hier beschriebenen Aufbau in drei Schritten (Bild 3): Für ein Zerlegungsszenario wurde zunächst die Interaktion der Runnable-Gruppen analysiert. Hierfür wurde eine statische Datenund Kontrollflussanalyse mit Hilfe der "C Intermediate Language" (CIL [1]) durchgeführt. Das Ergebnis war eine aggregierte Information über den Aufruf von Funktionen, Schreib- und Lesezugriffe auf globale Variablen, sowie Datentypen von Variablen und Parametern. Entsprechend der so gewonnenen Information wurde im zweiten Schritt unter Rückgriff auf Artop-Funktionen (AUTOSAR Tool Platform [2]) ein AUTOSAR-Systemmodell generiert. Dieses Systemmodell lässt sich von einem Werkzeug zur Konfiguration und Generierung von AUTOSAR-Basis-Software importieren (z.B. in Tresos Studio [4]). Nachfolgend lässt sich mit dem Werkzeug dann die entsprechend konfigurierte AUTOSAR-Basis-Software generieren.


  1. Load Balancing in AUTOSAR-Multicore-Systemen (Teil 1)
  2. Multicore in AUTOSAR 4.0
  3. Multicore-Funktionsumfang in der Praxis
  4. Herausforderungen bei der effektiven Nutzung von Rechenleistung in Multicore- Architekturen
  5. Werkzeuggestütztes Zerlegen von SWCs
  6. Werkzeuggestützte Optimierung

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu BMW AG