DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_SWArchitecture FIG-a28904fab19d3584 364 × 328 px 1 Release(s)

Figure 9.88: Common interfaces of Safe Hardware Acceleration (2)

SHA-256 Inhalts-Fingerabdruck: a28904fab19d35842eaf744ddde20fcc352cf1ca109a6a8fd6e0a3c01f4d1a60
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07

1. Diagrammtyp & Architektur-Kontext

  • Diagrammtyp: UML-Komponenten- und Schnittstellendiagramm (statisches Strukturmodell).
  • Architektur-Kontext: AUTOSAR Adaptive Platform (Release R25-11), Spezifikation AUTOSAR_AP_EXP_SWArchitecture.
  • Funktionaler Zweck: Spezifikation der standardisierten nativen C++-Basisschnittstellen (Id, PropertyList), die der funktionale Cluster Safe Hardware Acceleration (SHA) für Adaptive Applications bereitstellt. Der Cluster kapselt und steuert den deterministischen, funktional sicheren Zugriff auf spezialisierte Hardware-Beschleuniger (z. B. GPUs, NPUs, DSPs, FPGAs) für rechenintensive Workloads (z. B. ADAS/AD).

2. Komponenten, Entitäten & Schnittstellen

Entitäten & Stereotypen
  • Adaptive Application:
    • Stereotyp/Art: UML-Komponente (Software-Prozess im User-Space).
    • Rolle: Client-Anwendung, die Hardware-Beschleunigungsdienste konsumiert.
  • «aapFunctionalCluster» Safe Hardware Acceleration:
    • Stereotyp: «aapFunctionalCluster» (AUTOSAR Adaptive Platform Functional Cluster).
    • Rolle: Plattform-Dienstleister / Laufzeitumgebungskomponente der Adaptive Platform Foundation/Services, welche die Hardwareabstraktion und das Safety-Handling realisiert.
  • «aapAPI,aapNativeInterface» Id:
    • Stereotyp: «aapAPI,aapNativeInterface» (in-process C++-Bibliotheksschnittstelle im ARA-Namespace, kein IPC/ara::com).
    • Semantik: Abstraktion eines eindeutigen Identifikators/Handles (z. B. für Beschleuniger-Ressourcen, Kontexte, Queues oder Jobs).
    • Operationen:
      • + Create(): Statische Factory-Methode (im Diagramm unterstrichen deklariert) zur Erzeugung bzw. Initialisierung einer Identifier-Instanz.
      • + Get(): Abfrage des Identifikator-Werts oder zugehöriger Statusmerkmale.
      • + Set(): Zuweisung bzw. Modifikation des Identifikator-Werts oder Zustands.
  • «aapAPI,aapNativeInterface» PropertyList:
    • Stereotyp: «aapAPI,aapNativeInterface» (im Diagramm als «aapAPI,aapNativeInterf...» typografisch trunkiert).
    • Semantik: Generische Container-Struktur zur Übergabe und Kapselung von Konfigurationsparametern, Hardware-Constraints, Prioritäten oder Feature-Flags an den Beschleuniger.
Beziehungen & Abhängigkeiten
  • Realisierung («aapFunctionalCluster» → Schnittstellen):
    • Die Komponente Safe Hardware Acceleration realisiert (gestrichelte Linie mit geschlossener, nicht ausgefüllter Dreiecksspitze) die Schnittstellen Id und PropertyList.
  • Nutzung (Adaptive Application → Schnittstellen):
    • Die Adaptive Application nutzt (gerichtete gestrichelte Abhängigkeit mit Stereotyp «use») die nativen Schnittstellen Id und PropertyList.

3. Dynamisches Verhalten & Sequenzablauf

Da es sich um ein statisches Strukturdiagramm handelt, wird kein Zeitablauf modelliert. Aus den Schnittstellensignaturen leitet sich folgendes Interaktionsmuster ab:

  1. Ressourcenidentifikation / Kontextinitialisierung:
    • Die Applikation ruft synchron Id::Create() auf, um eine gültige Handle-Instanz für eine Beschleunigerressource zu allokieren.
  2. Parametrierung:
    • Erstellung und Befüllung eines PropertyList-Objekts durch die Applikation, um Ausführungsmetadaten (z. B. Memory-Alignment, Compute-Budget, Scheduling-Klasse) zu definieren.
  3. Zustandsabfrage & -anpassung:
    • Synchrone Aufrufe von Id::Get() bzw. Id::Set(), um Kontextattribute vor oder während der Job-Übergabe an den Beschleuniger zu prüfen oder zu aktualisieren.
  4. Fehlerbehandlung:
    • Aufrufe erfolgen blockierend/synchron im Aufruferthread; Fehlerrückgaben erfolgen gemäß AUTOSAR-Adaptive-Konvention über Wertetypen (ara::core::Result<T>) ohne C++-Exceptions.

4. Normative Relevanz & Entwickler-Hinweise

  • Native Schnittstellenbindung («aapNativeInterface»):
    • Die Schnittstellen binden direkt als Shared Library (.so) im Prozessraum der Adaptive Application. Es findet keine Zwischenschaltung von ara::com-Serialisierung, Sockets oder IPC statt; Aufrufe sind latenzminimiert ausgelegt.
  • Fehlerbehandlung & Safety-Konformität:
    • Da Teil des Clusters Safe Hardware Acceleration (ASIL-relevant), müssen Implementierungen von Create() und Set() strikte Validierungen bezüglich Parametergrenzen, Prozessisolation und Memory-Management durchführen.
    • Abwesenheit von Exceptions: Rückgabetypen entsprechen normativ ara::core::Result bzw. ara::core::ErrorCode.
  • Portabilität & Abstraktion:
    • Applikationsentwickler dürfen keine herstellerspezifischen Hardware-Treiber-APIs (z. B. direktes OpenCL, CUDA, proprietäre NPU-User-Space-Treiber) aufrufen, sondern müssen Hardware-Kontexte zwingend über die typisierten Konstrukte Id und PropertyList kapseln.
  • Ressourcenlebenszyklus:
    • Id-Instanzen fungieren typischerweise als RAII-Wrapper oder deterministische Lifecycle-Tokens. Ungültige oder freigegebene IDs müssen auf Plattformseite deterministisch abgefangen werden, um Use-After-Free-Zustände im Beschleuniger-Treiberstack zu unterbinden.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«aapFunctionalCluster» Safe Hardware Acceleration | «aapAPI,aapNativeInterface» | Id | + Create() + Get() + Set() | «aapAPI,aapNativeInterf... | PropertyList | Adaptive Application | «use» «use»

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_EXP_SWArchitecture S. 136 9.88 Figure 9.88: Common interfaces of Safe Hardware Acceleration (2)