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_01401] текст ещё не импортированUpstream: RS_SHWA_00004
class DeviceMonitor final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Обеспечивает мониторинг аппаратных устройств и опрос их текущего рабочего состояния.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7b51b19e11acПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Обеспечивает мониторинг аппаратных устройств и опрос их текущего рабочего состояния.
Класс ara::shwa::DeviceMonitor служит для синхронного мониторинга состояния аппаратных устройств в функциональном кластере shwa. Экземпляры создаются с помощью статического фабричного метода Create на основе ссылки на устройство ([AP_SWS_SHWA_01407]), после чего статус устройства можно непрерывно опрашивать через метод Status() ([AP_SWS_SHWA_01409]). В то время как создание с помощью фабричных методов выполняется потокобезопасно, вызов для опроса статуса не является потокобезопасным и при параллельном доступе, предположительно, требует синхронизации на стороне приложения. Вопрос (открытый)
Контекст
Класс ara::shwa::DeviceMonitor предоставляет в модуле shwa центральный интерфейс для мониторинга состояния аппаратных устройств. Прикладное программное обеспечение использует данный класс для опроса рабочего статуса аппаратного компонента, идентифицированного по ссылке на устройство Device или через элемент-селектор DeviceSelector ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Инкапсулируя определение статуса в возвращаемом типе DeviceStatus ([AP_SWS_SHWA_01409]), DeviceMonitor отделяет вызывающее управляющее приложение от внутренних деталей аппаратного обеспечения и служит стандартизированным наблюдателем за жизненным циклом и циклом отказов адресуемого устройства.
Жизненный цикл
Экземпляры DeviceMonitor не могут быть созданы с помощью конструктора по умолчанию без параметров, так как он явно удалён ([AP_SWS_SHWA_01402]). Создание объектов контролируемо осуществляется вместо этого с помощью двух статических фабричных методов: Create(const Device &device) ([AP_SWS_SHWA_01407]) или шаблонной функции Create(const DeviceSelector &deviceSelector) ([AP_SWS_SHWA_01408]). Оба пути фабрики возвращают ara::core::Result<DeviceMonitor>, специфицированы как безопасные относительно исключений (exception safe) и гарантируют потокобезопасность.
С точки зрения отношений владения и семантики значений класс ведёт себя гибко: как конструктор копирования ([AP_SWS_SHWA_01403]) и оператор присваивания копированием ([AP_SWS_SHWA_01404]), так и конструктор перемещения ([AP_SWS_SHWA_01405]) и оператор присваивания перемещением ([AP_SWS_SHWA_01406]) доступны как стандартизированные (default) и безопасные относительно исключений (noexcept) операции.
В вопросах конкурентности следует строго различать конструирование и использование: если создание через фабричные функции является потокобезопасным, то метод опроса Status() явно объявлен как непотокобезопасный (not thread-safe) ([AP_SWS_SHWA_01409]). При параллельном доступе нескольких потоков к одному и тому же экземпляру, предположительно, требуется синхронизация на стороне приложения. Вопрос Q-4002d6fb6cac23ce (открытый)
Путь использования
Типичный путь использования подразделяется на создание экземпляра монитора, валидацию результата и повторный опрос статуса устройства. Сначала приложение вызывает один из фабричных методов Create и передаёт целевой компонент ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Затем приложение проверяет результирующий ara::core::Result на успешность. Если объект валиден, вызывается метод Status() ([AP_SWS_SHWA_01409]), который синхронно возвращает объект типа DeviceStatus.
Диаграмма последовательности: типичный процесс вызовов от создания экземпляра до повторного опроса статуса. Источники: [AP_SWS_SHWA_01407], [AP_SWS_SHWA_01409]
Сценарии ошибок
Ошибки возникают преимущественно при создании через фабричные методы Create и предоставляются без исключений C++ в возвращаемом типе ara::core::Result через ShwaErrorCode ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Для создания определены следующие состояния ошибок:
ShwaErrorCode::kResourceBusy: базовый ресурс в настоящее время занят, поэтому создание монитора не может быть завершено немедленно ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kInvalidParameter: вызову был передан недопустимый аргумент, например недопустимое указание устройства ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kFeatureNotSupported: запрошенная функция мониторинга не поддерживается целевой платформой или конфигурацией аппаратного обеспечения ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
В процессе работы при вызове Status() коды ошибок или исключения не предусмотрены; метод является noexcept и гарантирует безопасность исключений ([AP_SWS_SHWA_01409]). Аппаратный сбой или потеря соединения должны поэтому отражаться в возвращаемом значении состояния DeviceStatus. Вопрос Q-8e2c8c2c7533b36f (открытый)
Данное руководство основано на положениях спецификации AUTOSAR Adaptive Platform R25-11.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::DeviceMonitor
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function 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.
Erzeugt beziehungsweise liefert das in der Signatur beschriebene Objekt oder Ergebnis über den angegebenen Factory-Pfad.
Scope
class ara::shwa::DeviceMonitor
Thread Safety
thread-safe rollback_semantics ShwaErrorCode::k Runtime General runtime error rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy rollback_semantics ShwaErrorCode::kInvalid Parameter Invalid argument to an API function 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 · Немецкий оригинал