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_00408] Wortlaut noch nicht übernommenUpstream: RS_SHWA_00006
class CpuSelector : public DeviceSelector {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Ermöglicht die Bewertung und gezielte Auswahl von Hardware-Geräten anhand einer Selektor-Strategie.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 89675708a89bHerkunftOffene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Ermöglicht die Bewertung und gezielte Auswahl von Hardware-Geräten anhand einer Selektor-Strategie.
Die Klasse ara::shwa::CpuSelector dient im Modul shwa der Bewertung und gezielten Auswahl von Hardware-Geräten gemäß einer spezifischen Selektor-Strategie [AP_SWS_SHWA_00410]. Anwendungssoftware kann einzelne Gerätekandidaten über operator() bewerten oder über die Methode SelectDevice() unmittelbar ein geeignetes Zielgerät ermitteln [AP_SWS_SHWA_00409]. Als wesentliche Randbedingungen sind die Schnittstellen nicht threadsicher spezifiziert, bieten keine Rollback-Semantik und übermitteln potenzielle Fehler wie belegte Ressourcen ausschließlich über ara::core::Result.
Kontext
Die Klasse ara::shwa::CpuSelector ist Bestandteil des Moduls für Hardware-Beschleunigung (shwa) innerhalb der AUTOSAR Adaptive Platform. Sie leitet sich von der Basisschnittstelle DeviceSelector ab und spezialisiert die funktionale Auswahl von Ausführungsgeräten. Ihre primäre Verantwortung besteht darin, Hardware-Geräte (Device) anhand einer Selektor-Strategie zu bewerten oder ein geeignetes Gerät direkt auszuwählen [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Im Gesamtsystem fungiert CpuSelector als Bindeglied zwischen anfordernden Softwarekomponenten und verfügbaren Hardware-Einheiten. Während DeviceSelector die allgemeine Schnittstelle bereitstellt, dürfte CpuSelector als Selektor-Strategie speziell auf CPU-basierte Hardware-Ressourcen zielen, wie der Klassenname nahelegt. Frage Q-32abbae13e272c68 (offen) Anwendungssoftware bindet diese Klasse ein, um vor der Arbeitsübergabe fundierte Entscheidungen über die Ressourceneignung zu treffen.
Lebenszyklus
Instanzen von CpuSelector werden im Anwendungskontext oder durch übergeordnete Verwalterinstanzen erzeugt, um Auswahlstrategien bereitzustellen. Die zentralen Bewertungs- und Auswahloperationen sind als const deklariert, weshalb sich die Instanz während ihrer Nutzung nach außen hin zustandslos verhält und keine internen Selektionszustände modifiziert [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Für die Nebenläufigkeit gilt, dass weder SelectDevice()[AP_SWS_SHWA_00410] noch operator()[AP_SWS_SHWA_00409] threadsicher sind (not thread-safe). Da die Methoden als nicht threadsicher spezifiziert sind, müssen nebenläufige Zugriffe auf dieselbe Instanz von CpuSelector vermutlich durch den Aufrufer synchronisiert werden. Frage Q-fced1ce242dea2c2 (offen) Am Ende des Lebenszyklus wird der Selektor ohne gesonderte Rollback-Prozeduren aufgelöst.
Nutzungspfad
Die typische Interaktion mit CpuSelector umfasst entweder die individuelle Bewertung einzelner Kandidaten oder die direkte Abfrage des optimalen Zielgeräts. Zur Kandidatenprüfung übergibt der Aufrufer eine Gerätereferenz an operator()(const Device &device)[AP_SWS_SHWA_00409]. Die Rückgabe von operator() als ara::core::Result<int> dürfte eine numerische Bewertungsmetrik (Score) für das übergebene Device darstellen, anhand derer mehrere Geräte verglichen werden können. Frage Q-33885b34ba761592 (offen)
Möchte die Anwendung die Auswahl vollständig der Strategie überlassen, ruft sie SelectDevice() auf [AP_SWS_SHWA_00410]. Diese Methode ermittelt intern das geeignete Gerät und liefert ein ara::core::Result<Device> zurück, welches das ausgewählte Zielgerät kapselt.
Beide Methoden sind mit noexcept deklariert und garantieren vollständige Ausnahmesicherheit (exception safe) [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410]. Auftretende Fehlerbedingungen werden nicht über C++-Exceptions gemeldet, sondern über die Fehlerdomäne in ara::core::Result zurückgegeben.
Folgende Fehlerwerte aus ShwaErrorCode sind für beide Methoden spezifiziert:
ShwaErrorCode::kResourceBusy: Die Auswertung oder Selektion konnte nicht ausgeführt werden, weil die adressierte Ressource gegenwärtig ausgelastet ist [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
ShwaErrorCode::kFeatureNotSupported: Eine angeforderte Geräteeigenschaft oder Selektorfunktion wird vom System nicht unterstützt [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Als Vorbedingung für operator() muss eine gültige Device-Referenz bereitstehen. Beide Funktionen verzichten auf Rollback-Semantiken (no_rollback_semantics), weshalb im Fehlerfall keine automatische Bereinigung vorheriger Systemzustände erfolgt [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Dieser Leitfaden wurde durch ein KI-System auf Basis der Spezifikation von AUTOSAR Adaptive R25-11 generiert.
Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.
Scope
class ara::shwa::CpuSelector
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::CpuSelector
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