DEENESPTFRRUARHIKOZHNL

класс 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] текст ещё не импортирован 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

Руководство пользователяСОЗДАНО ИИ

Обеспечивает оценку и целенаправленный выбор аппаратных устройств на основе стратегии селектора.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 89675708a89b Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Обеспечивает оценку и целенаправленный выбор аппаратных устройств на основе стратегии селектора.

Класс ara::shwa::CpuSelector служит в модуле shwa для оценки и целенаправленного выбора аппаратных устройств в соответствии с конкретной стратегией селектора [AP_SWS_SHWA_00410]. Прикладное программное обеспечение может оценивать отдельные устройства-кандидаты через operator() или непосредственно определять подходящее целевое устройство через метод SelectDevice() [AP_SWS_SHWA_00409]. В качестве существенных граничных условий интерфейсы специфицированы как непотокобезопасные, не поддерживают семантику отката и передают потенциальные ошибки, такие как занятые ресурсы, исключительно через ara::core::Result.

Контекст

Класс ara::shwa::CpuSelector входит в состав модуля аппаратного ускорения (shwa) в рамках AUTOSAR Adaptive Platform. Он наследуется от базового интерфейса DeviceSelector и специализирует функциональный выбор устройств выполнения. Его основная ответственность заключается в оценке аппаратных устройств (Device) на основе стратегии селектора или в непосредственном выборе подходящего устройства [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].

В общей системе CpuSelector функционирует как связующее звено между запрашивающими программными компонентами и доступными аппаратными модулями. В то время как DeviceSelector предоставляет общий интерфейс, CpuSelector в качестве стратегии селектора, вероятно, ориентирован конкретно на аппаратные ресурсы на базе CPU, как следует из имени класса. Вопрос Q-32abbae13e272c68 (открытый) Прикладное программное обеспечение подключает этот класс для принятия обоснованных решений о пригодности ресурсов перед передачей работы.

Жизненный цикл

Экземпляры CpuSelector создаются в контексте приложения или вышестоящими управляющими экземплярами для предоставления стратегий выбора. Центральные операции оценки и выбора объявлены как const, поэтому экземпляр во время своего использования ведет себя извне как не имеющий состояния и не модифицирует внутренние состояния выбора [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].

В отношении параллелизма действует правило, что ни SelectDevice() [AP_SWS_SHWA_00410], ни operator() [AP_SWS_SHWA_00409] не являются потокобезопасными (not thread-safe). Поскольку методы специфицированы как непотокобезопасные, параллельные обращения к одному и тому же экземпляру CpuSelector, предположительно, должны синхронизироваться вызывающей стороной. Вопрос Q-fced1ce242dea2c2 (открытый) В конце жизненного цикла селектор освобождается без выполнения специальных процедур отката.

Путь использования

Типичное взаимодействие с CpuSelector включает в себя либо индивидуальную оценку отдельных кандидатов, либо прямой запрос оптимального целевого устройства. Для проверки кандидата вызывающая сторона передает ссылку на устройство в operator()(const Device &device) [AP_SWS_SHWA_00409]. Возвращаемое operator() в виде ara::core::Result<int>, вероятно, представляет собой числовую метрику оценки (score) для переданного Device, на основе которой можно сравнивать несколько устройств. Вопрос Q-33885b34ba761592 (открытый)

Если приложение хочет полностью доверить выбор стратегии, оно вызывает SelectDevice() [AP_SWS_SHWA_00410]. Этот метод внутренне определяет подходящее устройство и возвращает ara::core::Result<Device>, инкапсулирующий выбранное целевое устройство.

Оценка и выбор устройства с помощью CpuSelectorПриложениеCpuSelectorDeviceUse Case: Kandidatenbewertung via operator()operator()(device)Оценка согласно стратегии селектораResult<int> (Score)Use Case: Прямой выбор устройства через SelectDevice()SelectDevice()Auswahl anhand Selektor-StrategieResult<Device>

Диаграмма последовательности: типичный ход процесса оценки и выбора целевого устройства через CpuSelector. Источники: [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].

Сценарии ошибок

Оба метода объявлены с noexcept и гарантируют полную безопасность исключений (exception safe) [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410]. Возникающие условия ошибок не сообщаются через C++-исключения, а возвращаются через домен ошибки в ara::core::Result.

Для обоих методов специфицированы следующие значения ошибок из ShwaErrorCode:

  • ShwaErrorCode::kResourceBusy: оценку или выбор не удалось выполнить, поскольку адресуемый ресурс в данный момент занят [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].
  • ShwaErrorCode::kFeatureNotSupported: запрошенное свойство устройства или функция селектора не поддерживаются системой [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].

В качестве предварительного условия для operator() должна быть доступна действительная ссылка Device. Обе функции не используют семантику отката (no_rollback_semantics), поэтому в случае ошибки автоматическая очистка предыдущих состояний системы не выполняется [AP_SWS_SHWA_00409], [AP_SWS_SHWA_00410].

Настоящее руководство было создано системой ИИ на основе спецификации AUTOSAR Adaptive R25-11.

Методы

SelectDevice функция

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

Операторы

operator() функция

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

Подробности

функция 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#acf47ac1
Content hash
acf47ac1
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

функция 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#4884cacc
Content hash
4884cacc
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