DEENESPTFRRUARHIKOZHNL

class ara::shwa::AcceleratorSelector

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_00411] Wortlaut noch nicht übernommen Upstream: RS_SHWA_00006

class AcceleratorSelector : public DeviceSelector {...};

Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.

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

User GuideKI-GENERIERT

Bewertet und selektiert Hardware-Beschleunigergeräte anhand einer Selektor-Strategie für adaptive Anwendungen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ffcb3b3d577e Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Bewertet und selektiert Hardware-Beschleunigergeräte anhand einer Selektor-Strategie für adaptive Anwendungen.

Die Klasse ara::shwa::AcceleratorSelector dient im Hardware-Acceleration-Modul der Bewertung und Auswahl geeigneter Beschleunigergeräte gemäß einer Selektor-Strategie ([AP_SWS_SHWA_00413]). Über SelectDevice() lässt sich direkt ein passendes Device selektieren, während operator() eine individuelle numerische Bewertung einzelner Geräte ermöglicht ([AP_SWS_SHWA_00412]). Da beide Operationen als nicht threadsicher spezifiziert sind, erfordert ein nebenläufiger Einsatz externe Synchronisation. Mögliche Fehler wie ausgelastete Ressourcen oder nicht unterstützte Funktionen werden ohne Rollback über ara::core::Result zurückgemeldet.

Kontext

Die Klasse ara::shwa::AcceleratorSelector fungiert im Modul shwa (Hardware Acceleration) der AUTOSAR Adaptive Platform als spezialisierter Selektor für Hardware-Beschleunigergeräte. Laut Klassensyntax leitet sie öffentlich von der Basisschnittstelle DeviceSelector ab (class AcceleratorSelector : public DeviceSelector). Ihre zentrale Aufgabe besteht darin, physische oder logische Beschleunigergeräte (Device) nach einer definierten Selektor-Strategie zu evaluieren oder ein passendes Gerät auszuwählen ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]).

Zu den Interaktionspartnern gehören die übergeordnete Anwendungslogik, welche Beschleunigerressourcen für rechenintensive Aufgaben anfordert, die vererbende Basisklasse DeviceSelector sowie die vom Selektor analysierten oder zurückgelieferten Device-Instanzen. Die Selektionskriterien selbst sind in der konkreten Implementierung der Selektor-Strategie gekapselt ([AP_SWS_SHWA_00413]).

diag_selector_context Anwendung Anwendung AcceleratorSelector AcceleratorSelector Anwendung->AcceleratorSelector nutzt DeviceSelector DeviceSelector AcceleratorSelector->DeviceSelector spezialisiert Device Device AcceleratorSelector->Device selektiert / bewertet

Kontextdiagramm: Einordnung von AcceleratorSelector im Zusammenspiel mit Anwendung, DeviceSelector und Device. Quellen: [AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]

Lebenszyklus

Die Instanziierung von AcceleratorSelector dürfte typischerweise anwendungsspezifisch oder über entsprechende Factory-Mechanismen vor der ersten Geräteanforderung erfolgen. Frage Q-933e42753f63687c (offen) Die Zerstörung findet statt, sobald die Selektionslogik für die jeweilige Anwendungskomponente nicht mehr benötigt wird; spezifische Zwischenzustände oder Lebenszyklusphasen schreibt die Spezifikation nicht vor.

Hinsichtlich der Nebenläufigkeit sind beide bereitgestellten Operationen – SelectDevice() und operator() – ausdrücklich als nicht threadsicher („not thread-safe“) spezifiziert ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]). Obwohl beide Methoden als const deklariert sind, müssen parallele Aufrufe über dieselbe Instanz oder auf dieselben zugrunde liegenden Hardwareressourcen durch den Aufrufer extern synchronisiert werden.

Nutzungspfad

Die Interaktion mit AcceleratorSelector erfolgt über zwei alternative Nutzungspfade: die direkte automatische Selektion sowie die individuelle Kandidatenbewertung. Über die virtuelle Methode SelectDevice() fordert die Anwendung direkt die Auswahl eines geeigneten Geräts gemäß der implementierten Strategie an ([AP_SWS_SHWA_00413]). Im Erfolgsfall liefert der Aufruf eine Device-Instanz gekapselt in einem ara::core::Result zurück.

Alternativ erlaubt der überladene Aufruf-Operator operator() die schrittweise Bewertung einzelner bekannter Geräte ([AP_SWS_SHWA_00412]). Der von operator() zurückgegebene ganzzahlige Wert (int) stellt vermutlich einen relativen Eignungs-Score dar, anhand dessen die Anwendung selbst ein Ranking oder eine Filterung vornehmen kann. Interpretation: SelectDevice() kapselt die vollständige Selektionsstrategie autonom, während operator() feingranulare Vergleiche einzelner Geräte ermöglicht. Frage Q-e2de44ef0c9e936d (offen)

Bewertung und Auswahl von BeschleunigergerätenAnwendungAcceleratorSelectorUse Case: KandidatenbewertungloopFür jedes Kandidaten-Deviceoperator()(device)ara::core::Result<int> (Score)Use Case: Direkte GeräteselektionSelectDevice()ara::core::Result<Device>

Sequenzdiagramm: Aufrufablauf bei Gerätebewertung und Geräteselektion. Quellen: [AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]

Fehlerszenarien

Beide Operationen sind als noexcept deklariert und garantieren Exception Safety ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]). Fehler werden ausschließlich über den Rückgabetyp ara::core::Result transportiert. Spezifiziert sind folgende Fehlercodes aus dem Bereich ShwaErrorCode:

  • ShwaErrorCode::kResourceBusy: Die Operation konnte nicht durchgeführt werden, da die betreffende Ressource gegenwärtig ausgelastet oder belegt ist ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]).
  • ShwaErrorCode::kFeatureNotSupported: Eine für die Selektion oder Bewertung angeforderte Eigenschaft wird von der Plattform oder dem Gerät nicht unterstützt ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]).

Für beide Funktionen ist festgelegt, dass keine Rollback-Semantik existiert (no_rollback_semantics) ([AP_SWS_SHWA_00412], [AP_SWS_SHWA_00413]). Tritt ein Fehler auf, wird ein vorheriger System- oder Hardwarezustand nicht automatisch wiederhergestellt. Aufrufer müssen den Fehlercode des Result-Objekts prüfen und gegebenenfalls Wiederholungsversuche oder alternative Selektionspfade initiieren.

Dieser Leitfaden wurde von einer KI auf Basis der Spezifikation für AUTOSAR Adaptive R25-11 generiert.

Methoden

SelectDevice function

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

virtual ara::core::Result< Device > SelectDevice () const noexcept override;

Operatoren

operator() function

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

ara::core::Result< int > operator() (const Device &device) const noexcept override;

Details

function SelectDevice [AP_SWS_SHWA_00413] Upstream: RS_SHWA_00006, RS_SHWA_00007

virtual ara::core::Result< Device > SelectDevice () const noexcept override;

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::AcceleratorSelector
Thread Safetynot thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00413
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00413@rel:R25-11#2c9418b2
Content hash
2c9418b2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00413
Status: valid/unmigrated Version: rel:R25-11#2c9418b2 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_00413@rel:R25-11#2c9418b2
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 operator() [AP_SWS_SHWA_00412] Upstream: RS_SHWA_00006, RS_SHWA_00007

ara::core::Result< int > operator() (const Device &device) const noexcept override;

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::AcceleratorSelector
Thread Safetynot thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00412
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00412@rel:R25-11#3f4bde07
Content hash
3f4bde07
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00412
Status: valid/unmigrated Version: rel:R25-11#3f4bde07 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_00412@rel:R25-11#3f4bde07
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