DEENESPTFRRUARHIKOZHNL

класс ara::shwa::DeviceSelector

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

class 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 · Температура: не регулируется · Промпт: 4c64c523c424 Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит абстрактным интерфейсом для оценки и выбора устройств на основе определенной стратегии выбора.

Абстрактный класс ara::shwa::DeviceSelector определяет интерфейс стратегии для оценки и выбора целевых устройств в подсистеме shwa. Он позволяет напрямую определить оптимальное устройство через SelectDevice(), а также выполнить сравнительную оценку отдельных устройств-кандидатов через operator() [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. Виртуальный стандартный деструктор гарантирует безопасное уничтожение производных экземпляров стратегий. К ключевым граничным условиям относится то, что вызовы не являются потокобезопасными и при сбоях автоматическая семантика отката не применяется.

Контекст

Класс ara::shwa::DeviceSelector предоставляет в модуле shwa абстрактный интерфейс для выбора или оценки аппаратных либо функциональных устройств (Device) на основе конкретной стратегии выбора. Он служит уровнем развязки между вышестоящим управляющим приложением и конкретными процедурами выбора. К участвующим сторонам взаимодействия относятся вызывающее приложение, конкретная реализация стратегии выбора и целевые объекты типа Device. Интерфейс определяет две центральные операции: прямой выбор устройства через SelectDevice() [AP_SWS_SHWA_00403] и сравнительную индивидуальную оценку устройства через оператор вызова функции operator() [AP_SWS_SHWA_00404].

DeviceSelectorKontext Anwendung Anwendung DeviceSelector DeviceSelector Anwendung->DeviceSelector использует Device Device DeviceSelector->Device selektiert / bewertet

Контекстная диаграмма: встраивание DeviceSelector между приложением и целевыми устройствами. Источники: [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]

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

Являясь абстрактным базовым классом с чисто виртуальными методами, DeviceSelector не может быть инстанцирован напрямую. Конкретные стратегии выбора должны быть реализованы в виде производных классов и создаваться компонентом приложения. Вопрос Q-4e22b2e57ef141e9 (открытый) Управление владением обычно возлагается на приложение, например, через умные указатели, такие как std::unique_ptr<DeviceSelector>. Для корректного полиморфного уничтожения специализированных классов интерфейс объявляет виртуальный стандартный деструктор ~DeviceSelector() [AP_SWS_SHWA_00402]. Он явно обозначен как noexcept, тем самым выполняя требования к безопасности исключений (exception safe) при удалении экземпляров [AP_SWS_SHWA_00402].

Что касается параллелизма и переходов между состояниями, операции интерфейса классифицируются как непотокобезопасные (not thread-safe) [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. Хотя функции-члены аннотированы как const, параллельный доступ к одному и тому же экземпляру из разных потоков не должен осуществляться без внешней синхронизации. Спецификация также не предусматривает автоматического отката для ошибочных вызовов (no_rollback_semantics) [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404].

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

Типичный сценарий использования включает инициализацию конкретного экземпляра стратегии и последующую оценку или выбор устройств-кандидатов. При этом существуют два основных пути вызова:

  • Прямой выбор устройства: приложение вызывает метод SelectDevice() без параметров [AP_SWS_SHWA_00403]. Конкретная стратегия автономно определяет наиболее подходящее устройство и возвращает ara::core::Result<Device>.
  • Итеративная индивидуальная оценка: в алгоритмах фильтрации или сортировки нескольких кандидатов приложение последовательно передает соответствующие экземпляры в operator()(const Device &device) [AP_SWS_SHWA_00404]. Оценка через operator(), предположительно, анализирует релевантные свойства или рабочие состояния переданного устройства внутри. Вопрос Q-8ba0b9b900196d50 (открытый) Возвращаемое значение int в ara::core::Result<int>, вероятно, отражает показатель пригодности или приоритет, на основании которого вызывающая сторона принимает решение о выборе.
Последовательности вызовов для оценки и выбора устройстваПриложениеDeviceSelectorUse Case: Индивидуальная оценка устройства-кандидатаoperator()(device)altErfolgreiche AuswertungResult<int> (Bewertungswert)Ressource belegtShwaErrorCode::kResourceBusyUse Case: Прямой выбор устройстваSelectDevice()altErfolgreiche SelektionResult<Device>Функция не поддерживаетсяShwaErrorCode::kFeatureNotSupported

Диаграмма последовательности: последовательности вызовов для индивидуальной оценки и прямого выбора, включая обработку ошибок. Источники: [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]

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

Оба метода выбора объявлены как noexcept и не генерируют исключений C++ (exception safe). Вместо этого они сигнализируют о сбоях через канал ошибок ara::core::Result. Приложения должны всегда проверять возвращаемое значение на наличие ошибок перед обращением к результату. Для SelectDevice() и operator() определены следующие состояния ошибок:

  • ShwaErrorCode::kResourceBusy: запрошенная операция не может быть выполнена, так как требуемый ресурс в данный момент занят [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404]. В этом случае приложение может повторить вызов позже или выбрать альтернативную стратегию.
  • ShwaErrorCode::kFeatureNotSupported: возвращается, если функциональность, запрошенная для выбора или оценки, не поддерживается базовой реализацией [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404].

Поскольку семантика отката отсутствует (no_rollback_semantics) [AP_SWS_SHWA_00403], [AP_SWS_SHWA_00404], в случае ошибки система остается в текущем состоянии, и вызывающая сторона несет ответственность за надлежащие компенсационные меры. Кроме того, предусловием для operator() является сохранение действительности переданной ссылки на устройство на протяжении всего вызова.

Настоящее руководство по классу основано на спецификации AUTOSAR Adaptive R25-11 (модуль shwa) и сформировано автоматически.

Карта членов

Конструкторы и деструктор

1

Методы

1

Операторы

1

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

~DeviceSelector функция

Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.

virtual ~DeviceSelector () noexcept=default;

Методы

SelectDevice функция

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

Операторы

operator() функция

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

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

Подробности

функция ~DeviceSelector [AP_SWS_SHWA_00402] Upstream: RS_SHWA_00006

virtual ~DeviceSelector () noexcept=default;

Die Spezifikation definiert diese Deklaration mit der in der Signatur ausgewiesenen Semantik.

Scopeclass ara::shwa::DeviceSelector
Exception Safetyexception safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00402
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00402@rel:R25-11#ad79ddd3
Content hash
ad79ddd3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00402
Status: valid/unmigrated Version: rel:R25-11#8e9d36b4 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_00402@rel:R25-11#8e9d36b4
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

функция SelectDevice [AP_SWS_SHWA_00403] Upstream: RS_SHWA_00006, RS_SHWA_00007

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

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::DeviceSelector
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_00403
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00403@rel:R25-11#4f4245f3
Content hash
4f4245f3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00403
Status: valid/unmigrated Version: rel:R25-11#83b7e520 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_00403@rel:R25-11#83b7e520
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_00404] Upstream: RS_SHWA_00006, RS_SHWA_00007

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

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::DeviceSelector
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_00404
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00404@rel:R25-11#1d884884
Content hash
1d884884
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00404
Status: valid/unmigrated Version: rel:R25-11#2bfa9942 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_00404@rel:R25-11#2bfa9942
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