AUTOSAR_AP_EXP_SWArchitecture
FIG-442a6c764a9068a5
691 × 340 px
1 Release(s)
Figure 9.87: Common interfaces of Safe Hardware Acceleration (1)
SHA-256 Inhalts-Fingerabdruck:
442a6c764a9068a5f1f7e9745ab963cc442ccf5b2509495f2178b8ca3fcd7538
✦
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 (Klassendiagramm auf Architekturebene mit Schnittstellenrealisierung).
- Technischer Zweck: Spezifikation der Basisschnittstellen des Functional Clusters Safe Hardware Acceleration (SHA) innerhalb der AUTOSAR Adaptive Platform (AP).
- Architektur-Kontext: SHA abstrahiert heterogene Rechenbeschleuniger (GPUs, NPUs, DSPs, FPGAs) sicherheitsgerichtet (unter ASIL-Anforderungen, angelehnt an SYCL-/OpenCL-Paradigmen). Es stellt C++-Abstraktionen für Pufferverwaltung, Datenzugriff, Iterationsbereiche und Fehlermeldungen bereit, die von einer
Adaptive Applicationdirekt über native Schnittstellen (in-process C++ API) konsumiert werden.
2. Komponenten, Entitäten & Schnittstellen
Komponenten (Akteure):
Adaptive Application(UML Component): Konsumierender Anwendungsprozess im User-Space der Adaptive Platform.«aapFunctionalCluster» Safe Hardware Acceleration(UML Component): Bereitstellender AUTOSAR Functional Cluster, der die Hardwareabstraktion und Laufzeitumgebung für Beschleunigerkerne implementiert.
Schnittstellen / Klassen (Stereotyp «aapAPI, aapNativeInterface»):
Accessor:- Vermittelt den typisierten Lese- und Schreibzugriff auf Gerätespeicher oder geteilte Puffer (Device/Host Access).
- Operationen:
+ Create()(statische Factory-Methode),+ Get(),+ operator[](),+ Set().
Buffer:- Kapselt 1D-, 2D- oder 3D-Speicherallokationen für Beschleuniger-Workloads unabhängig vom physischen Speicherort (Host-Memory, Device-VRAM, Shared-Memory).
- Operationen:
+ Create()(statische Factory-Methode).
Range:- Definiert den mehrdimensionalen Ausführungsraum bzw. Indexvektor für parallele Compute-Kernel (bis zu 3 Dimensionen).
- Operationen:
+ Create()(statische Factory-Methode),+ GetDimension0(),+ GetDimension1(),+ GetDimension2().
ErrorHandler:- Zentraler Fehlerbehandlungsmechanismus zur Abfangung und Weiterleitung asynchroner Hardware-, Scheduling- oder Kernel-Laufzeitfehler.
- Operationen:
+ Create()(statische Factory-Methode),+ HandleError().
Beziehungen:
- Nutzungsbeziehung (
«use», Abhängigkeit gestrichelt mit offener Pfeilspitze):Adaptive Applicationinstanziiert und nutztAccessor,Buffer,RangeundErrorHandler. - Schnittstellenrealisierung (Interface Realization, gestrichelt mit geschlossener, nicht ausgefüllter Dreiecksspitze):
Safe Hardware Accelerationrealisiert/implementiert alle vier Schnittstellen.
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung & Setup:
- Die
Adaptive Applicationerzeugt über statischeCreate()-Methoden einenBuffer(Allokation von Gerätespeicher) und eineRangezur Festlegung des Iterationsraums (Dimensionen 0 bis 2). - Registrierung eines
ErrorHandlerviaCreate(), um asynchrone Hardwarefehler zu isolieren.
- Die
- Datenbereitstellung:
- Instanziierung eines
Accessorauf denBuffermittelsAccessor::Create(). - Synchrone Datenübertragung oder Pufferzuweisung über
Set()bzw.operator[]().
- Instanziierung eines
- Kernel-Ausführung & Fehlerbehandlung:
- Nach Enqueue/Dispatch des Rechenkernels (im Diagramm Folgeinteraktion, Teil 2) greift der Beschleuniger im durch
Rangedefinierten Raster auf denBufferzu. - Asynchroner Fehlerpfad: Tritt ein Speicherzugriffsfehler (z. B. Out-of-Bounds, Parity/ECC-Fehler) oder ein Timeout im Beschleuniger auf, invoked der Functional Cluster asynchron
ErrorHandler::HandleError(). - Synchroner Pfad: Bei erfolgreicher Ausführung liest die Applikation die Ergebnisse über
Accessor::Get()oderAccessor::operator[]()zurück.
- Nach Enqueue/Dispatch des Rechenkernels (im Diagramm Folgeinteraktion, Teil 2) greift der Beschleuniger im durch
4. Normative Relevanz & Entwickler-Hinweise
- Kein C++-Exception-Modell: Alle Klassen exponieren unterstrichene (statische)
Create()-Methoden. Gemäß AUTOSAR AP C++ Sprachprofil (ara::core) signalisiert die Objekterzeugung Erfolg oder Misserfolg typischerweise überara::core::Result<T>anstelle von C++-Exceptions. - Speicher- und Zeiger-Sicherheit (ASIL): Ein direkter Zugriff auf Raw-Pointers wird vermieden; der Zugriff auf Beschleunigerspeicher wird strikt über
Accessorkanalisiert, um Bounds-Checking und Cache-Synchronisation (Flush/Invalidate) zwischen Host-CPU und Accelerator-Hardware zu garantieren. - Dimensionierung:
Rangelimitiert Kernel-Workspaces auf maximal 3 Dimensionen (GetDimension0bisGetDimension2), passend zu Standard-Hardwarebeschleuniger-Topologien (Grid/Block/Work-Group-Modelle). - Treiber- & Stack-Entwickler: Plattform-Vendors müssen unterhalb von
Safe Hardware AccelerationZero-Copy-fähige Shared-Memory-Treiber (z. B. über IOMMU/SMMU gesichert) bereitstellen, die die Pufferbindung fürAccessordeterministisch ohne unkontrollierte Latenzen ausführen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.