DEENESPTFRRUARHIKOZHNL

classe ara::shwa::CpuSelector

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.

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

Guide utilisateurGÉNÉRÉ PAR IA

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 IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 89675708a89b Provenance Questions 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é.

Évaluation et sélection d'un périphérique avec CpuSelectorApplicationCpuSelectorAppareilUse Case: Kandidatenbewertung via operator()operator()(device)Évaluation selon la stratégie du sélecteurResult<int> (Score)Use Case: Sélection directe du périphérique via SelectDevice()SelectDevice()Auswahl anhand Selektor-StrategieResult<Device>

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.

Méthodes

SelectDevice fonction

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

Opérateurs

operator() fonction

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

Détails

fonction SelectDevice [AP_SWS_SHWA_00410] 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::CpuSelector
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_00410
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00410@rel:R25-11#3f186883
Content hash
3f186883
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00410
Status: valid/unmigrated Version: rel:R25-11#25297b84 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_00410@rel:R25-11#25297b84
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

fonction operator() [AP_SWS_SHWA_00409] 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::CpuSelector
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_00409
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00409@rel:R25-11#2a892ce4
Content hash
2a892ce4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00409
Status: valid/unmigrated Version: rel:R25-11#d547c13d 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_00409@rel:R25-11#d547c13d
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