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.
Обеспечивает оценку и целенаправленный выбор аппаратных устройств на основе стратегии селектора.
СОЗДАНО ИИне провереноМодель: 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. Источники: [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.
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 · Немецкий оригинал