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 übernommenUpstream: RS_SHWA_00006
class AcceleratorSelector : public DeviceSelector {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Bewertet und selektiert Hardware-Beschleunigergeräte anhand einer Selektor-Strategie für adaptive Anwendungen.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ffcb3b3d577eHerkunftOffene 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]).
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)
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.
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::AcceleratorSelector
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_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.
ara::core::Result< int > operator() (const Device &device) const noexcept override;
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::AcceleratorSelector
Thread Safety
not thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_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.
gemini-3.8-flash-medium· 2026-10-13