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_00901] Wortlaut noch nicht übernommenUpstream: RS_SHWA_00001
class Queue final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Die Klasse ara::shwa::Queue stellt in der Adaptive Platform den zentralen Ausführungskanal zur sicheren Hardwarebeschleunigung dar. Wie das Gesamtdesign veranschaulicht, interagieren Anwendungen typischerweise mit einer Kombination aus mehreren Queues, Devices und Buffern SWS_SafeHardwareAcceleration S. 22 „Figure 7.1: High Level Design of Safe Hardware Acceleration in an Adaptive Platform“. Innerhalb dieses Zusammenspiels übernimmt die Queue die Aufgabe, Rechenaufgaben oder Beschleunigungsaufträge entgegenzunehmen und an das zugrunde liegende Hardware-Device weiterzuleiten. Über GetDevice() lässt sich das zugeordnete Device abfragen [AP_SWS_SHWA_00910]. Zudem kann über IsInOrder() ermittelt werden, ob Aufträge innerhalb der Queue strikt sequenziell verarbeitet werden [AP_SWS_SHWA_00911]. Spezifische Fähigkeiten oder Parameter der Queue lassen sich vorab über HasProperty() prüfen [AP_SWS_SHWA_00915] und mit GetProperty() abrufen [AP_SWS_SHWA_00916].
Instanzen von ara::shwa::Queue unterliegen einem strikten Besitzmodell. Sowohl der Standardkonstruktor [AP_SWS_SHWA_00902] als auch Kopier- und Verschiebeoperationen sind explizit gelöscht: Kopierkonstruktor [AP_SWS_SHWA_00903], Kopierzuweisung [AP_SWS_SHWA_00904], Verschiebekonstruktor [AP_SWS_SHWA_00905] und Verschiebezuweisung [AP_SWS_SHWA_00906] stehen nicht zur Verfügung. Eine Queue ist somit weder kopierbar noch verschiebbar (Interpretation: Sie repräsentiert eine fest verankerte Ressource). Frage Q-9ce33460e375c45f (offen)
Die Erzeugung erfolgt ausschließlich über statische Factory-Methoden Create(), welche das Objekt gekapselt in einem std::unique_ptr<Queue> innerhalb eines ara::core::Result zurückliefern. Die Instanziierung kann entweder anhand einer bestehenden Device-Referenz [AP_SWS_SHWA_00909] oder über einen generischen DeviceSelector[AP_SWS_SHWA_00908] vorgenommen werden. Beide Varianten akzeptieren zusätzlich einen ErrorHandler und eine optionale PropertyList. Bezüglich der Nebenläufigkeit sind die Factory-Funktionen Create() als threadsicher spezifiziert [AP_SWS_SHWA_00908], [AP_SWS_SHWA_00909]. Alle regulären Elementfunktionen der erzeugten Instanz – darunter Submit(), Wait() und GetDevice() – sind hingegen als nicht threadsicher deklariert [AP_SWS_SHWA_00910], [AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914]; gleichzeitige Zugriffe aus mehreren Threads müssen folglich anwendungsseitig synchronisiert werden.
Nutzungspfad
Der reguläre Ablauf gliedert sich in die Phasen Erzeugung, Auftragseinplanung und Synchronisation:
Queue erzeugen: Die Anwendung erzeugt die Queue über Create() mit einem konkreten Device oder DeviceSelector sowie Fehlerbehandlungsroutinen [AP_SWS_SHWA_00909].
Auftrag übermitteln: Mit Submit() wird eine Aufgabe an die Hardware übergeben. Hierbei kann entweder ein dedizierter ErrorHandler übergeben werden [AP_SWS_SHWA_00912] oder eine sekundäre Queue (secondaryQueue) für Ausweich- bzw. Folgepfade angegeben werden [AP_SWS_SHWA_00913]. Die Methode liefert ein ara::core::Result<Event> zurück.
Synchronisieren: Die Anwendung synchronisiert auf den Abschluss der eingereichten Aufgaben. Hierfür steht das unbegrenzte Wait()[AP_SWS_SHWA_00914] oder das zeitlich limitierte WaitFor() mit Angabe einer Millisekunden-Dauer zur Verfügung [AP_SWS_SHWA_00917].
Die Methoden melden Fehlerfälle über den Fehlercode-Typ ShwaErrorCode im ara::core::Result:
Ressourcen- und Parameterkonflikte: Schlägt Create() fehl, können unter anderem ShwaErrorCode::kResourceBusy, ShwaErrorCode::kInvalidParameter oder ShwaErrorCode::kFeatureNotSupported auftreten [AP_SWS_SHWA_00909]. Für diese Erzeugungsfehler gelten Rollback-Semantiken.
Aufruf ungültiger Objekte: Werden Methoden wie Submit(), Wait() oder WaitFor() auf bereits zerstörten oder ungültigen Objekten ausgeführt, quittiert die API dies mit ShwaErrorCode::kInvalidObject[AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914], [AP_SWS_SHWA_00917].
Ausführungsfehler und Datenintegrität: Tritt während der Aufgabenabarbeitung ein Fehler auf (ShwaErrorCode::kTaskExecutionFailure oder allgemeiner ShwaErrorCode::kRuntime), besteht explizit keine Rollback-Semantik (no_rollback_semantics). Die Spezifikation fordert in diesen Fällen, dass die an der Ausführung beteiligten Daten als unbeabsichtigt modifiziert betrachtet werden müssen [AP_SWS_SHWA_00912], [AP_SWS_SHWA_00914].
Zeitüberschreitung: Beim synchronisierenden Warten via WaitFor() signalisiert ShwaErrorCode::kTimedOut den Ablauf der vorgegebenen Frist; auch hier sind betroffene Daten als potenziell inkonsistent einzustufen [AP_SWS_SHWA_00917].
Dieser Leitfaden basiert ausschließlich auf den Spezifikationsvorgaben zu ara::shwa::Queue aus AUTOSAR Adaptive R25-11.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::Queue
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::Queue
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported
Request a governed re-review of this record. The record is not changed immediately.
Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way
Exception Safety
exception safe
Errors
ShwaErrorCode::k ResourceBusy no_rollback_semantics The operation could not be performed because the resource is currently busy no_rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function no_rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) no_rollback_semantics ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function no_rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Synchronisiert gemäß der Signatur auf den Abschluss assoziierter oder abhängiger Aufgaben; die zeitbegrenzte Variante begrenzt das Warten.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) rollback_semantics ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
Synchronisiert gemäß der Signatur auf den Abschluss assoziierter oder abhängiger Aufgaben; die zeitbegrenzte Variante begrenzt das Warten.
Scope
class ara::shwa::Queue
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k Runtime General runtime error. The data used within failed task execution should be considered as changed in unintended way rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Object Using a destroyed or invalid object (like a buffer or queue) rollback_semantics ShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported no_rollback_semantics ShwaErrorCode::kTask ExecutionFailure Error during task execution. The data used within failed task execution should be considered as changed in unintended way no_rollback_semantics
Exception Safety
exception safe
Errors
ShwaErrorCode::kTimed Out Task execution timed-out. The data used within failed task execution should be considered as changed in unintended way
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-medium· 2026-10-13