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.
Agrupa propriedades para atuadores de hardware em um objeto de valor seguro contra exceções para entrega a interfaces SHWA.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 5dbb1d61ed77ProcedênciaPerguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Agrupa propriedades para atuadores de hardware em um objeto de valor seguro contra exceções para entrega a interfaces SHWA.
A classe final ara::shwa::PropertyList serve no módulo AUTOSAR Adaptive shwa para agregação e transferência de propriedades. A criação ocorre por meio de um construtor de template variádico, o qual é declarado como noexcept e, portanto, é seguro quanto a exceções ([AP_SWS_SHWA_00802]). Interpretação: instâncias devem ser usadas prevalentemente como objetos de valor de curta duração a fim de transferir atributos de configuração agrupados para interfaces de hardware. Pergunta Q-6303ee8ec36bf3e3 (aberta) Como condição de contorno central, a classe não é thread-safe (not thread-safe), razão pela qual acessos concorrentes a partir de múltiplos threads devem ser sincronizados externamente ([AP_SWS_SHWA_00802]).
Contexto
A classe ara::shwa::PropertyList é parte integrante do módulo shwa (Smart Hardware Actuator) dentro da AUTOSAR Adaptive Platform. A especificação define este tipo como classe final (class PropertyList final), excluindo previamente qualquer derivação por classes de usuário. O papel primário da classe consiste no agrupamento e na entrega estruturada de propriedades. Por meio do template de construtor [AP_SWS_SHWA_00802], a classe recebe uma quantidade variável de objetos de propriedade. Interpretação: a classe deve servir dentro do módulo como contêiner de agregação seguro em relação a tipos, que consolida configurações heterogêneas ou atributos de hardware para atuadores e sensores e os repassa para interfaces de processamento. Pergunta Q-70687f2df4a18776 (aberta)
Na interação com outros componentes, a classe atua como portadora de informações. O chamador agrega propriedades específicas da aplicação, enquanto o subsistema SHWA recebe essas listas para controlar operações próximas ao hardware. Como a definição de classe é final, PropertyList forma uma estrutura de dados fechada, o que impede uma hierarquia direta de herança e impõe, assim, uma semântica uniforme na passagem de parâmetros.
Ciclo de vida
O ciclo de vida de uma instância de ara::shwa::PropertyList começa com a inicialização direta por meio do construtor variádico template <typename... Properties> PropertyList(Properties... props), de acordo com [AP_SWS_SHWA_00802]. Pela declaração com noexcept, garante-se que a criação de uma instância ocorra de forma totalmente segura quanto a exceções, em observância à segurança contra exceções ([AP_SWS_SHWA_00802]). Se ocorrerem erros durante a passagem de parâmetros ou o processamento interno, isso leva diretamente, devido à garantia noexcept, à interrupção do programa via std::terminate, caso operações subjacentes lancem exceções.
Em relação ao comportamento de simultaneidade, a especificação estabelece que a classe não é segura para threads (not thread-safe) ([AP_SWS_SHWA_00802]). Isso significa que as instâncias não podem ser utilizadas simultaneamente por múltiplos threads durante sua criação e em todas as operações subsequentes sem mecanismos externos de sincronização. Interpretação: instâncias de PropertyList devem ser criadas tipicamente como objetos de valor (Value Objects) locais na pilha (stack) ou transferidas por semântica de movimento para funções chamadas, concretizando relações de posse locais ao thread sem estado compartilhado. Pergunta (aberta)
O fim do ciclo de vida segue as regras regulares para objetos C++ automáticos ou dinâmicos. Como não estão previstos destrutores virtuais ou herança, todos os recursos contidos são liberados de forma determinística na destruição do objeto.
Caminho de utilização
O caminho de uso regular de ara::shwa::PropertyList compreende a reunião de propriedades relevantes e o repasse do objeto agregado para o subsistema SHWA:
Instanciação: o usuário cria um objeto da classe passando as propriedades desejadas diretamente para o construtor variádico ([AP_SWS_SHWA_00802]). Por meio do template, diferentes tipos de propriedades podem ser combinados em uma única chamada em conformidade com os tipos.
Entrega: a instância criada é entregue aos métodos-alvo ou interfaces correspondentes do módulo shwa. Interpretação: após a construção, o acesso aos valores agrupados ocorre presumivelmente de forma puramente de leitura pelos componentes de processamento do subsistema de hardware. Pergunta Q-350de0ec77d53e28 (aberta)
Limpeza: após a conclusão do processamento ou ao sair do escopo de validade, a instância é destruída automaticamente, sem a necessidade de etapas explícitas de desinicialização.
Cenários de erro
Como o construtor de ara::shwa::PropertyList é explicitamente declarado como noexcept, não ocorrem exceções C++ na chamada ([AP_SWS_SHWA_00802]). A segurança contra exceções é expressamente designada na especificação de requisitos como exception safe ([AP_SWS_SHWA_00802]). Usuários não precisam, portanto, posicionar blocos try-catch em torno da construção de listas de propriedades.
Um cenário de falha essencial reside no desrespeito à segurança de threads. Como PropertyList está classificado de acordo com [AP_SWS_SHWA_00802] como not thread-safe, um acesso concorrente desprotegido de múltiplas threads de execução à mesma instância leva a condições de corrida e a comportamento indefinido. Os desenvolvedores devem garantir que as instâncias sejam operadas exclusivamente de modo local à thread ou protegidas contra acessos concorrentes por meio de primitivas de sincronização adequadas, como mutexes.
Este guia foi gerado por inteligência artificial com base na especificação AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão