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.
- Stereotyp:
«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.
- Stereotyp:
«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.
- Stereotyp:
Beziehungen & Abhängigkeiten
- Realisierung (
«aapFunctionalCluster»→ Schnittstellen):- Die Komponente Safe Hardware Acceleration realisiert (gestrichelte Linie mit geschlossener, nicht ausgefüllter Dreiecksspitze) die Schnittstellen
IdundPropertyList.
- Die Komponente Safe Hardware Acceleration realisiert (gestrichelte Linie mit geschlossener, nicht ausgefüllter Dreiecksspitze) die Schnittstellen
- Nutzung (
Adaptive Application→ Schnittstellen):- Die
Adaptive Applicationnutzt (gerichtete gestrichelte Abhängigkeit mit Stereotyp«use») die nativen SchnittstellenIdundPropertyList.
- Die
3. Dynamisches Verhalten & Sequenzablauf
Da es sich um ein statisches Strukturdiagramm handelt, wird kein Zeitablauf modelliert. Aus den Schnittstellensignaturen leitet sich folgendes Interaktionsmuster ab:
- Ressourcenidentifikation / Kontextinitialisierung:
- Die Applikation ruft synchron
Id::Create()auf, um eine gültige Handle-Instanz für eine Beschleunigerressource zu allokieren.
- Die Applikation ruft synchron
- Parametrierung:
- Erstellung und Befüllung eines
PropertyList-Objekts durch die Applikation, um Ausführungsmetadaten (z. B. Memory-Alignment, Compute-Budget, Scheduling-Klasse) zu definieren.
- Erstellung und Befüllung eines
- 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.
- Synchrone Aufrufe von
- Fehlerbehandlung:
- Aufrufe erfolgen blockierend/synchron im Aufruferthread; Fehlerrückgaben erfolgen gemäß AUTOSAR-Adaptive-Konvention über Wertetypen (
ara::core::Result<T>) ohne C++-Exceptions.
- Aufrufe erfolgen blockierend/synchron im Aufruferthread; Fehlerrückgaben erfolgen gemäß AUTOSAR-Adaptive-Konvention über Wertetypen (
4. Normative Relevanz & Entwickler-Hinweise
- Native Schnittstellenbindung (
«aapNativeInterface»):- Die Schnittstellen binden direkt als Shared Library (
.so) im Prozessraum derAdaptive Application. Es findet keine Zwischenschaltung vonara::com-Serialisierung, Sockets oder IPC statt; Aufrufe sind latenzminimiert ausgelegt.
- Die Schnittstellen binden direkt als Shared Library (
- Fehlerbehandlung & Safety-Konformität:
- Da Teil des Clusters Safe Hardware Acceleration (ASIL-relevant), müssen Implementierungen von
Create()undSet()strikte Validierungen bezüglich Parametergrenzen, Prozessisolation und Memory-Management durchführen. - Abwesenheit von Exceptions: Rückgabetypen entsprechen normativ
ara::core::Resultbzw.ara::core::ErrorCode.
- Da Teil des Clusters Safe Hardware Acceleration (ASIL-relevant), müssen Implementierungen von
- 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
IdundPropertyListkapseln.
- 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
- 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.