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 ainda não importadoUpstream: RS_SHWA_00004
class DeviceMonitor final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Permite o monitoramento de dispositivos de hardware e a consulta do seu estado operacional atual.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7b51b19e11acProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Permite o monitoramento de dispositivos de hardware e a consulta do seu estado operacional atual.
A classe ara::shwa::DeviceMonitor serve para o monitoramento síncrono do estado de dispositivos de hardware no cluster funcional shwa. As instâncias são criadas por meio do método factory estático Create com base em uma referência de dispositivo ([AP_SWS_SHWA_01407]), após o que o estado do dispositivo pode ser consultado continuamente por meio do método Status() ([AP_SWS_SHWA_01409]). Enquanto a criação por meio de métodos factory é executada de forma thread-safe, a chamada para a consulta de estado não é thread-safe e provavelmente requer uma sincronização pelo lado da aplicação em caso de acesso paralelo. Pergunta (aberta)
Contexto
A classe ara::shwa::DeviceMonitor fornece no módulo shwa a interface central para o monitoramento do estado de dispositivos de hardware. O software de aplicação usa a classe para consultar o estado operacional de um componente de hardware identificado por meio de uma referência de dispositivo Device ou por meio de um elemento seletor DeviceSelector ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Ao encapsular a determinação de estado no tipo de retorno DeviceStatus ([AP_SWS_SHWA_01409]), DeviceMonitor desacopla a aplicação de controle chamadora dos detalhes internos de hardware e atua como um observador padronizado para o ciclo de vida e de falhas do dispositivo endereçado.
Ciclo de vida
Instâncias de DeviceMonitor não podem ser criadas por meio de um construtor padrão sem parâmetros, pois este foi explicitamente excluído ([AP_SWS_SHWA_01402]). Em vez disso, a criação do objeto ocorre de forma controlada por meio de dois métodos factory estáticos: Create(const Device &device) ([AP_SWS_SHWA_01407]) ou a função template Create(const DeviceSelector &deviceSelector) ([AP_SWS_SHWA_01408]). Ambos os caminhos de factory retornam um ara::core::Result<DeviceMonitor>, são especificados como seguros contra exceções (exception safe) e garantem thread safety.
Em relação à propriedade e à semântica de valor, a classe comporta-se de forma flexível: tanto o construtor de cópia ([AP_SWS_SHWA_01403]) e o operador de atribuição por cópia ([AP_SWS_SHWA_01404]) quanto o construtor de movimento ([AP_SWS_SHWA_01405]) e o operador de atribuição por movimento ([AP_SWS_SHWA_01406]) estão disponíveis como operações padronizadas (default) e seguras contra exceções (noexcept).
No que diz respeito à concorrência, deve-se distinguir estritamente entre construção e utilização: enquanto a criação através das funções factory é thread-safe, o método de consulta Status() é explicitamente declarado como não sendo thread-safe (not thread-safe) ([AP_SWS_SHWA_01409]). No caso de acesso paralelo de múltiplas threads à mesma instância, é provavelmente necessária uma sincronização pelo lado da aplicação. Pergunta Q-4002d6fb6cac23ce (aberta)
Caminho de utilização
O caminho de utilização típico divide-se na criação da instância de monitoramento, na validação do resultado e na consulta repetida do estado do dispositivo. Inicialmente, a aplicação chama um dos métodos factory Create e passa o componente de destino ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Em seguida, a aplicação verifica o ara::core::Result resultante quanto a sucesso. Se o objeto for válido, é chamado o método Status() ([AP_SWS_SHWA_01409]), que fornece de forma síncrona um objeto do tipo DeviceStatus.
Diagrama de sequência: fluxo de chamadas típico desde a instanciação até a consulta repetida de estado. Fontes: [AP_SWS_SHWA_01407], [AP_SWS_SHWA_01409]
Cenários de erro
Os erros ocorrem predominantemente durante a criação por meio dos métodos factory Create e são disponibilizados sem exceções de C++ no tipo de retorno ara::core::Result via ShwaErrorCode ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]). Os seguintes estados de erro estão definidos para a criação:
ShwaErrorCode::kResourceBusy: o recurso subjacente está ocupado no momento, de modo que a criação do monitor não pode ser concluída imediatamente ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kInvalidParameter: foi passado um argumento inválido para a chamada, por exemplo, uma especificação de dispositivo não permitida ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
ShwaErrorCode::kFeatureNotSupported: a função de monitoramento solicitada não é suportada pela plataforma de destino ou configuração de hardware ([AP_SWS_SHWA_01407], [AP_SWS_SHWA_01408]).
Em operação contínua, durante a chamada de Status(), não estão previstos códigos de erro ou exceções; o método é noexcept e garante Exception Safety ([AP_SWS_SHWA_01409]). Portanto, presume-se que uma falha de hardware ou perda de conexão seja refletida no valor de estado retornado DeviceStatus. Pergunta Q-8e2c8c2c7533b36f (aberta)
Este guia baseia-se nas definições da especificação 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 em alemão