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] libellé pas encore importéUpstream: RS_SHWA_00006
class CpuSelector : public DeviceSelector {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Permet l'évaluation et la sélection ciblée de périphériques matériels à l'aide d'une stratégie de sélection.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 89675708a89bProvenanceQuestions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Permet l'évaluation et la sélection ciblée de périphériques matériels à l'aide d'une stratégie de sélection.
La classe ara::shwa::CpuSelector sert, dans le module shwa, à l'évaluation et à la sélection ciblée de périphériques matériels selon une stratégie de sélection spécifique [AP_SWS_SHWA_00410]. Le logiciel d'application peut évaluer des périphériques candidats individuels via operator() ou déterminer directement un périphérique cible approprié via la méthode SelectDevice()[AP_SWS_SHWA_00409]. Comme contraintes essentielles, les interfaces sont spécifiées comme non sûres pour les threads, n'offrent aucune sémantique de rollback et transmettent les erreurs potentielles, telles que des ressources occupées, exclusivement via ara::core::Result.
Contexte
La classe ara::shwa::CpuSelector fait partie intégrante du module d'accélération matérielle (shwa) au sein de l'AUTOSAR Adaptive Platform. Elle dérive de l'interface de base DeviceSelector et spécialise la sélection fonctionnelle de périphériques d'exécution. Sa responsabilité première consiste à évaluer des périphériques matériels (Device) selon une stratégie de sélection ou à sélectionner directement un périphérique approprié [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Dans l'ensemble du système, CpuSelector fait office de passerelle entre les composants logiciels demandeurs et les unités matérielles disponibles. Alors que DeviceSelector fournit l'interface générale, CpuSelector devrait, en tant que stratégie de sélection, cibler spécifiquement les ressources matérielles basées sur CPU, comme le suggère le nom de la classe. Question Q-32abbae13e272c68 (ouverte) Le logiciel d'application intègre cette classe afin de prendre des décisions éclairées quant à l'adéquation des ressources avant le transfert de charge de travail.
Cycle de vie
Des instances de CpuSelector sont créées dans le contexte applicatif ou par des instances gestionnaires de niveau supérieur afin de fournir des stratégies de sélection. Les opérations centrales d'évaluation et de sélection étant déclarées comme const, l'instance se comporte extérieurement comme étant sans état pendant son utilisation et ne modifie aucun état interne de sélection [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Concernant la concurrence, ni SelectDevice()[AP_SWS_SHWA_00410] ni operator()[AP_SWS_SHWA_00409] ne sont sûrs pour les threads (not thread-safe). Les méthodes étant spécifiées comme non sûres pour les threads, les accès concurrents à la même instance de CpuSelector doivent vraisemblablement être synchronisés par l'appelant. Question Q-fced1ce242dea2c2 (ouverte) À la fin du cycle de vie, le sélecteur est libéré sans procédure de rollback particulière.
Parcours d'utilisation
L'interaction typique avec CpuSelector comprend soit l'évaluation individuelle de candidats donnés, soit l'interrogation directe du périphérique cible optimal. Pour l'examen d'un candidat, l'appelant transmet une référence de périphérique à operator()(const Device &device)[AP_SWS_SHWA_00409]. La valeur renvoyée par operator() sous la forme de ara::core::Result<int> devrait représenter une métrique d'évaluation numérique (score) pour le Device transmis, permettant de comparer plusieurs périphériques. Question Q-33885b34ba761592 (ouverte)
Si l'application souhaite confier entièrement la sélection à la stratégie, elle appelle SelectDevice()[AP_SWS_SHWA_00410]. Cette méthode détermine en interne le périphérique approprié et renvoie un ara::core::Result<Device> qui encapsule le périphérique cible sélectionné.
Diagramme de séquence : déroulement typique de l'évaluation et de la sélection d'un périphérique cible via CpuSelector. Sources : [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Scénarios d'erreur
Les deux méthodes sont déclarées avec noexcept et garantissent une sécurité totale contre les exceptions (exception safe) [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410]. Les conditions d'erreur survenues ne sont pas signalées via des exceptions C++, mais sont renvoyées via le domaine d'erreur dans ara::core::Result.
Les valeurs d'erreur suivantes issues de ShwaErrorCode sont spécifiées pour les deux méthodes :
ShwaErrorCode::kResourceBusy : l'évaluation ou la sélection n'a pas pu être exécutée parce que la ressource ciblée est actuellement occupée [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
ShwaErrorCode::kFeatureNotSupported : une propriété de périphérique demandée ou une fonction du sélecteur n'est pas prise en charge par le système [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Comme précondition pour operator(), une référence Device valide doit être disponible. Les deux fonctions ne comportent aucune sémantique de rollback (no_rollback_semantics), raison pour laquelle aucun nettoyage automatique des états système précédents n'a lieu en cas d'erreur [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
Ce guide a été généré par un système d'IA sur la base de la spécification d'AUTOSAR Adaptive R25-11.
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-low· 2026-10-13 · Original allemand