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] texto aún no importadoUpstream: RS_SHWA_00004
class DeviceMonitor final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Permite la monitorización de dispositivos de hardware y la consulta de su estado operativo actual.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 7b51b19e11acProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Permite la monitorización de dispositivos de hardware y la consulta de su estado operativo actual.
La clase ara::shwa::DeviceMonitor sirve para la monitorización síncrona del estado de dispositivos de hardware en el clúster funcional shwa. Las instancias se crean mediante el método de fábrica estático Create a partir de una referencia de dispositivo ([AP_SWS_SHWA_01407]), tras lo cual el estado del dispositivo puede consultarse de forma continua mediante el método Status() ([AP_SWS_SHWA_01409]). Mientras que la creación mediante métodos de fábrica se ejecuta de forma segura para subprocesos, la llamada para la consulta de estado no es segura para subprocesos y, en caso de acceso paralelo, requiere presumiblemente una sincronización del lado de la aplicación. Pregunta (abierta)
Contexto
La clase ara::shwa::DeviceMonitor proporciona en el módulo shwa la interfaz central para la monitorización del estado de dispositivos de hardware. El software de aplicación utiliza la clase para consultar el estado operativo de un componente de hardware identificado mediante una referencia de dispositivo Device o mediante un elemento selector DeviceSelector ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Al encapsular la determinación del estado en el tipo de retorno DeviceStatus ([AP_SWS_SHWA_01409]), DeviceMonitor desacopla la aplicación de control llamadora de los detalles internos de hardware y actúa como un observador estandarizado para el ciclo de vida y de errores del dispositivo direccionado.
Ciclo de vida
Las instancias de DeviceMonitor no pueden crearse mediante un constructor predeterminado sin parámetros, ya que este está eliminado explícitamente ([AP_SWS_SHWA_01402]). En su lugar, la creación de objetos se realiza de forma controlada mediante dos métodos de fábrica estáticos: Create(const Device &device) ([AP_SWS_SHWA_01407]) o la función plantilla Create(const DeviceSelector &deviceSelector) ([AP_SWS_SHWA_01408]). Ambas vías de fábrica devuelven un ara::core::Result<DeviceMonitor>, están especificadas como seguras frente a excepciones (exception safe) y garantizan seguridad para subprocesos.
En lo relativo a las relaciones de propiedad y la semántica de valores, la clase se comporta de manera flexible: tanto el constructor de copia ([AP_SWS_SHWA_01403]) y el operador de asignación por copia ([AP_SWS_SHWA_01404]) como el constructor de movimiento ([AP_SWS_SHWA_01405]) y el operador de asignación por movimiento ([AP_SWS_SHWA_01406]) están disponibles como operaciones estandarizadas (default) y seguras frente a excepciones (noexcept).
En materia de concurrencia debe distinguirse estrictamente entre construcción y uso: mientras que la creación mediante las funciones de fábrica es segura para subprocesos, el método de consulta Status() está declarado explícitamente como no seguro para subprocesos (not thread-safe) ([AP_SWS_SHWA_01409]). En caso de acceso paralelo de múltiples subprocesos a la misma instancia, es de suponer que se requiere una sincronización del lado de la aplicación. Pregunta Q-4002d6fb6cac23ce (abierta)
Ruta de uso
La ruta de uso típica se divide en la creación de la instancia de monitorización, la validación del resultado y la consulta reiterada del estado del dispositivo. En primer lugar, la aplicación invoca uno de los métodos de fábrica Create y transfiere el componente de destino ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). A continuación, la aplicación comprueba el éxito del ara::core::Result resultante. Si el objeto es válido, se invoca el método Status() ([AP_SWS_SHWA_01409]), el cual entrega de forma síncrona un objeto de tipo DeviceStatus.
Diagrama de secuencia: flujo de llamadas típico desde la instanciación hasta la consulta reiterada de estado. Fuentes: [AP_SWS_SHWA_01407], [AP_SWS_SHWA_01409]
Escenarios de error
Los errores se producen predominantemente durante la creación a través de los métodos de fábrica Create y se ponen a disposición sin excepciones de C++ en el tipo de retorno ara::core::Result a través de ShwaErrorCode ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Para la creación se definen los siguientes estados de error:
ShwaErrorCode::kResourceBusy: el recurso subyacente está ocupado actualmente, por lo que la creación del monitor no puede completarse de inmediato ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kInvalidParameter: se ha transferido un argumento no válido a la llamada, por ejemplo una indicación de dispositivo no permitida ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kFeatureNotSupported: la función de monitorización solicitada no es compatible con la plataforma de destino o la configuración de hardware ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
En funcionamiento normal al invocar Status() no se prevén códigos de error ni excepciones; el método es noexcept y garantiza seguridad frente a excepciones ([AP_SWS_SHWA_01409]). Por tanto, es de suponer que un fallo de hardware o una pérdida de conexión se represente en el valor de estado DeviceStatus devuelto. Pregunta Q-8e2c8c2c7533b36f (abierta)
Esta guía se basa en las especificaciones de 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 · Original en alemán