DEENESPTFRRUARHIKOZHNL

class ara::shwa::TaskHandler

Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.

[AP_SWS_SHWA_01201] Wortlaut noch nicht übernommen Upstream: RS_SHWA_00001

class TaskHandler final {...};

Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.

Header-Datei#include "ara/shwa/task_handler.h"
Scopenamespace ara::shwa

User GuideKI-GENERIERT

Ermöglicht die Erzeugung und Einreichung einzelner sowie paralleler Rechenaufgaben an Beschleuniger-Geräte.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6d7c7c77c2a9 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht die Erzeugung und Einreichung einzelner sowie paralleler Rechenaufgaben an Beschleuniger-Geräte.

Die Klasse ara::shwa::TaskHandler dient der Ausführung von Aufgaben auf Beschleuniger-Hardware über Queue-Einreichungen [AP_SWS_SHWA_01203]. Neue Instanzen werden threadsicher über die statische Factory-Methode Create() erzeugt, welche Fehler im ara::core::Result zurückgibt [AP_SWS_SHWA_01202]. Über SingleTask sowie ParallelFor lassen sich einzelne oder datenparallele Rechenschritte an das Zielgerät übermitteln. Während die Instanziierung threadsicher ist, sind die Task-Einreichungen nicht threadsicher und erfordern bei parallelem Zugriff eine externe Synchronisation.

Kontext

Die Klasse ara::shwa::TaskHandler ist als finale Klasse (final) Teil des Moduls für Hardware-Beschleunigung (shwa) innerhalb der AUTOSAR Adaptive Platform. Sie fungiert als zentrale Schnittstelle für die Übermittlung und Ausführung von Berechnungsaufgaben auf einem ausgewählten Zielgerät (Device). Innerhalb der Softwarearchitektur übernimmt die Klasse die Vermittlerrolle zwischen der anwendenden Softwarekomponente und der zugrundeliegenden Ausführungsinfrastruktur.

Die Interaktion erfolgt primär zwischen zwei Systempartnern: der aufrufenden Applikation sowie dem ausgewählten Hardware-Beschleuniger bzw. dessen Aufgabenwarteschlange. Anwendungsseitig definierte Rechenoperationen werden über die Schnittstellen von ara::shwa::TaskHandler entgegengenommen und als Queue-Einreichungen an das Device weitergeleitet [AP_SWS_SHWA_01203]. Dies ermöglicht sowohl die Abwicklung einzelner Rechenschritte als auch datenparalleler Verarbeitungsmuster [AP_SWS_SHWA_01204]. Interpretation: Die Klasse dürfte die gerätespezifischen Warteschlangen kapseln, sodass Anwendungskomponenten Beschleunigerressourcen ansteuern können, ohne an hardwarenahe Details gekoppelt zu sein. Frage (offen)

Lebenszyklus

Der Lebenszyklus einer Instanz von ara::shwa::TaskHandler wird über ein striktes Factory-Muster kontrolliert. Die Instanziierung erfolgt ausschließlich über die statische Factory-Methode Create() [AP_SWS_SHWA_01202]. Da die Klasse als final deklariert ist, ist eine Spezialisierung über Vererbung ausgeschlossen. Das erzeugte Objekt wird verpackt in einem ara::core::Result<TaskHandler> zurückgegeben, wodurch der Erfolg der Initialisierung explizit geprüft werden muss [AP_SWS_SHWA_01202].

Bezüglich der Nebenläufigkeit und Thread-Sicherheit weist die Klasse differenzierte Eigenschaften auf:

  • Instanziierung: Der Aufruf der statischen Methode Create() ist threadsicher (thread-safe) [AP_SWS_SHWA_01202]. Mehrere Threads können somit nebenläufig neue Handler-Instanzen über den Factory-Pfad erzeugen.
  • Task-Einreichung: Die Methoden zur Übermittlung von Arbeitsaufträgen, SingleTask [AP_SWS_SHWA_01203] und ParallelFor [AP_SWS_SHWA_01204], sind ausdrücklich als nicht threadsicher (not thread-safe) spezifiziert. Eine einzelne Instanz von TaskHandler darf folglich nicht unkoordiniert aus mehreren Threads zeitgleich angesprochen werden; die Synchronisation obliegt dem Aufrufer.
  • Ausnahmesicherheit: Sämtliche Methoden der Schnittstelle sind als noexcept deklariert und garantieren Ausnahmesicherheit (exception safe) [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]. Bei Create() greifen zudem Rollback-Semantiken (rollback_semantics), falls die Initialisierung fehlschlägt [AP_SWS_SHWA_01202].

Die Besitzverhältnisse verbleiben bei der anwendenden Komponente, welche die Instanz hält und zerstört, sobald keine weiteren Queue-Einreichungen mehr benötigt werden.

Nutzungspfad

Der typische Ablauf gliedert sich in die Phasen Erzeugung, Auftragskonfiguration und Aufgabenübermittlung. Zunächst fordert die Applikation über ara::shwa::TaskHandler::Create() eine neue Instanz an [AP_SWS_SHWA_01202]. Nach erfolgreicher Validierung des ara::core::Result steht das Objekt für Arbeitsaufträge bereit.

Anschließend entscheidet die Anwendung anhand des Verarbeitungsmusters über die geeignete Übermittlungsmethode:

  • Für individuelle Rechenaufgaben wird SingleTask(cfg) aufgerufen, wodurch die als Parameter übergebene Task-Funktion in die Queue des ausgewählten Zielgeräts eingereiht wird [AP_SWS_SHWA_01203].
  • Für datenparallele Verarbeitungsmuster steht das Funktionstemplate ParallelFor(bufferSize, cfg) zur Verfügung [AP_SWS_SHWA_01204]. Hierbei wird neben der Konfiguration zusätzlich die Puffergröße (bufferSize) übergeben, um die parallele Abarbeitung über mehrere Datenelemente hinweg auf dem Beschleunigergerät zu steuern.

Interpretation: Der Template-Parameter T dürfte dabei eine aufrufbare Funktion, ein Lambda oder eine entsprechende Aufgabenkonfiguration darstellen, welche die auszuführende Berechnungslogik auf dem Device kapselt. Frage Q-2fca8604440b44e9 (offen)

Ablauf der Task-Einreichung mit TaskHandlerApplicationTaskHandlerDevice-QueueUse Case: InstanziierungCreate()ara::core::Result<TaskHandler>Use Case: Task-AusführungaltEinzelne AufgabeSingleTask(cfg)Queue-EinreichungParallele SchleifeParallelFor(bufferSize, cfg)Queue-Einreichung (Parallel)

Sequenzdiagramm: Interaktionskette von der Instanziierung bis zur Einreichung von Aufgaben in die Gerätewarteschlange. Quellen: [AP_SWS_SHWA_01202], [AP_SWS_SHWA_01203], [AP_SWS_SHWA_01204]

Fehlerszenarien

Die Fehlerbehandlung in ara::shwa::TaskHandler folgt dem ausnahmefreien Paradigma (noexcept) der Adaptive Platform.

Fehlerzustände treten vor allem während der Instanziierung auf:

  • Die Factory-Methode Create() meldet Misserfolge über den Fehlerkanal im Rückgabewert ara::core::Result [AP_SWS_SHWA_01202].
  • Als konkreter Fehlerbezeichner ist ShwaErrorCode::kRuntime definiert, der allgemeine Laufzeitfehler bei der Objekterzeugung signalisiert [AP_SWS_SHWA_01202]. Durch die spezifizierten Rollback-Semantiken ist sichergestellt, dass bei einem Fehlschlag keine teilinitialisierten Zustände oder Ressourcenlecks entstehen [AP_SWS_SHWA_01202].

Die Aufrufe SingleTask [AP_SWS_SHWA_01203] und ParallelFor [AP_SWS_SHWA_01204] liefern keinen Rückgabewert (void) und lösen keine Exceptions aus. Aufrufer müssen daher sicherstellen, dass die Handler-Instanz gültig ist und Zugriffe bei nebenläufigen Threads extern synchronisiert werden.

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Mitgliederkarte

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Create function

Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.

static ara::core::Result< TaskHandler > Create () noexcept;
ParallelFor function

Führt die übergebene Task-Funktion innerhalb einer Queue-Einreichung auf dem ausgewählten Device aus.

template <typename T> void ParallelFor (std::size_t bufferSize, T cfg) noexcept;
SingleTask function

Führt die übergebene Task-Funktion innerhalb einer Queue-Einreichung auf dem ausgewählten Device aus.

template <typename T> void SingleTask (T cfg) noexcept;

Details

function Create [AP_SWS_SHWA_01202] Upstream: RS_SHWA_00001, RS_SHWA_00007

static ara::core::Result< TaskHandler > Create () noexcept;

Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.

Scopeclass ara::shwa::TaskHandler
Thread Safetythread-safe rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k Runtime General runtime error

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_01202
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_01202@rel:R25-11#a001527a
Content hash
a001527a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_01202
Status: valid/unmigrated Version: rel:R25-11#a001527a Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_SHWA_01202@rel:R25-11#a001527a
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function ParallelFor [AP_SWS_SHWA_01204] Upstream: RS_SHWA_00001

template <typename T> void ParallelFor (std::size_t bufferSize, T cfg) noexcept;

Führt die übergebene Task-Funktion innerhalb einer Queue-Einreichung auf dem ausgewählten Device aus.

Scopeclass ara::shwa::TaskHandler
Thread Safetynot thread-safe
Exception Safetyexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_01204
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_01204@rel:R25-11#1ff0ddef
Content hash
1ff0ddef
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_01204
Status: valid/unmigrated Version: rel:R25-11#1ff0ddef Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_SHWA_01204@rel:R25-11#1ff0ddef
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function SingleTask [AP_SWS_SHWA_01203] Upstream: RS_SHWA_00001

template <typename T> void SingleTask (T cfg) noexcept;

Führt die übergebene Task-Funktion innerhalb einer Queue-Einreichung auf dem ausgewählten Device aus.

Scopeclass ara::shwa::TaskHandler
Thread Safetynot thread-safe
Exception Safetyexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_01203
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_01203@rel:R25-11#2c1013ce
Content hash
2c1013ce
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_01203
Status: valid/unmigrated Version: rel:R25-11#2c1013ce Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/AP_SWS_SHWA_01203@rel:R25-11#2c1013ce
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill