Define interfaces para gestão de valores de frescura e tratamento de erros para canais de comunicação protegidos.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 05efd4a1afb9ProcedênciaPerguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Define interfaces para gestão de valores de frescura e tratamento de erros para canais de comunicação protegidos.
O namespace define a interface específica do fabricante para a gestão de valores de frescura no âmbito do Secure Onboard Communication (SecOC) para o AUTOSAR Adaptive Platform Communication Management (SWS Communication Management §C.1 «Header: apext/com/secoc/fvm.h»). O tempo de vida e a inicialização do Freshness Value Manager são totalmente controlados pela gestão de comunicação, que consulta valores de frescura na interface durante operações de envio configuradas ([SWS_CM_11272]). Em caso de indisponibilidade temporária de valores de frescura, ocorrem novas tentativas controladas até um valor limite definido, antes de as mensagens com erro serem descartadas. Complementarmente, o namespace disponibiliza um domínio de erros próprio e códigos de erro padronizados para tratamentos de diagnóstico e exceção.
Contexto
O namespace apext::com::secoc define interfaces normativas para extensões de plataforma (Platform Extension Interfaces) dentro do cluster funcional Communication Management (ara::com) da AUTOSAR Adaptive Platform (SWS Communication Management §C.1 «Header: apext/com/secoc/fvm.h»). O objetivo destas interfaces de extensão é permitir que OEMs e fabricantes de stacks forneçam um Freshness Value Manager (FVM) personalizado, o qual gera, gere e verifica os valores de frescura necessários para a defesa contra ataques de repetição para o Secure Onboard Communication (SecOC).
O namespace interage essencialmente com três papéis: a gestão de comunicação (ara::com), a definição padronizada de interface (FVM) juntamente com portadores de dados como FVContainer ([SWS_CM_11286], [SWS_CM_11344]), bem como a implementação concreta do FVM do fabricante do veículo ou fornecedor do stack. Interpretation: Parte-se do princípio de que a biblioteca FVM específica do fabricante é associada como biblioteca estática ou dinâmica no âmbito da integração do sistema, uma vez que a especificação define a interface funcional, mas deixa o formato de integração em aberto em função do stack. Pergunta Q-256aef3d6698cc3f (aberta)
A gestão do ciclo de vida de uma realização de FVM é totalmente controlada pela gestão de comunicação ara::com ([SWS_CM_11272]). Aplicações e instâncias de serviço não criam nem gerem diretamente o componente FVM.
A colocação em funcionamento ocorre deterministicamente durante a inicialização do stack de comunicação através da chamada da API de biblioteca apext::com::secoc::FVM::Initialize ([SWS_CM_11273]). Se a inicialização não puder ser devidamente concluída pelo lado do fabricante, a camada FVM sinaliza este estado de erro através do código de erro definido kFVInitializeFailed ([SWS_CM_11342]). Após a chamada de inicialização bem-sucedida, o Freshness Value Manager permanece no estado de operação ativo e responde a pedidos síncronos de valores de frescura de envio e receção.
Caminho de utilização
O caminho de utilização regular divide-se na proteção de envio e na verificação de receção de mensagens:
Mensagens de envio: Se uma mensagem estiver configurada para o envio SecOC, é tratada como mensagem autêntica ([SWS_CM_11274]). A proteção ocorre numa ordem fixa após a conclusão de todos os cálculos de proteção E2E ([SWS_CM_11274]). Se a configuração da interface de serviço possuir um atributo freshnessValueId, a gestão de comunicação chama apext::com::secoc::FVM::GetTxFreshness ([SWS_CM_11274], [SWS_CM_11275]). O valor de frescura é disponibilizado numa estrutura FVContainer, que mantém o comprimento de bits no atributo length e o próprio valor ([SWS_CM_11286], [SWS_CM_11344]).
Mecanismo de repetição de envio: Para cada mensagem protegida, o sistema mantém um Authentication Build Counter ([SWS_CM_11275]). Após uma geração bem-sucedida, o contador é reposto a 0. Se GetTxFreshness fornecer o erro recuperável kFVNotAvailable ou se o cálculo do autenticador falhar, o contador é incrementado e a montagem é repetida ([SWS_CM_11275]). Se o contador atingir o valor limite SecOCAuthenticationBuildAttempts, a mensagem é descartada ([SWS_CM_11275]).
Mensagens de receção: No caso de mensagens SecOC recebidas com verificação ativa (atributo securedRxVerification verdadeiro ou não definido), o autenticador é extraído e a mensagem é verificada antes das verificações E2E através do recálculo do MAC ([SWS_CM_11276], SWS Communication Management §8.1 «SecOC secure channel reception»). Se, pelo contrário, securedRxVerification estiver definido como falso, a verificação é ignorada (Bypass) e a mensagem é processada sem verificação ([SWS_CM_11372]).
Diagrama de sequência: Fluxo de chamadas e repetições na proteção de uma mensagem de envio por meio do FVM. Fontes: [SWS_CM_11274], [SWS_CM_11275].
Cenários de erro
Situações de erro dentro da interface FVM são tratadas através do domínio de erros com segurança de tipos ComSecOcFvmErrorDomain, cuja instância pode ser obtida através de GetComSecOcFvmErrorDomain ([SWS_CM_12521]). Os códigos de erro estão definidos no tipo de enumeração ComSecOcFvmErrc ([SWS_CM_11342]):
kFVNotAvailable (Código 1): O valor de frescura necessário está temporariamente indisponível. Isto sinaliza ao Communication Management um erro recuperável que desencadeia tentativas de repetição de acordo com o protocolo de envio ([SWS_CM_11275], [SWS_CM_11342]).
kFVInitializeFailed (Código 2): A inicialização do Freshness Value Manager falhou ([SWS_CM_11342]).
Através da função auxiliar MakeErrorCode ([SWS_CM_12522]), é possível encapsular códigos de erro juntamente com dados adicionais específicos do fabricante (SupportDataType) em objetos ara::core::ErrorCode regulares. Para chamadas síncronas que falharam em ambientes baseados em exceções, está disponível a classe de exceção ComSecOcFvmException.
Este guia baseia-se na especificação AUTOSAR Adaptive Platform R25-11 (Communication Management). Todas as afirmações apoiam-se exclusivamente nas referências de especificação e de documentação indicadas.
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 8b6808ee1e7cProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
usar
A função não-membro GetComSecOcFvmErrorDomain serve para obter uma referência para o objeto de domínio de erros do Freshness Value Management (FVM) para SecOC de acordo com [SWS_CM_12521]. A função está definida no espaço de nomes apext::com::secoc e deve ser incluída através do ficheiro de cabeçalho apext/com/secoc/fvm_error_domain.h (AUTOSAR_AP_SWS_CommunicationManagement §C.2.2.1.1 «GetComSecOcFvmErrorDomain»). Não aceita parâmetros e retorna sincronamente uma referência constante do tipo const ara::core::ErrorDomain & para o objeto singleton apext::com::secoc::ComSecOcFvmErrorDomain.
Tratamento de erros
A função é declarada como noexcept e especificada como totalmente segura contra exceções (exception safe) [SWS_CM_12521]. Durante a chamada não ocorrem erros de tempo de execução e não são lançadas exceções nem gerados códigos de erro. O domínio de erros retornado serve antes como referência para os programadores confrontarem univocamente códigos de erro específicos do FVM no âmbito do tratamento de erros do SecOC.
Simultaneidade e restrições
Enquanto função constexpr sem estado e sem efeitos secundários, a chamada deverá ser irrestritamente concorrente e reentrante. Pergunta Q-16d96e7f64bca93f (aberta) De acordo com a especificação, não existem condições de ordenamento ou restrições relativas ao contexto de chamada [SWS_CM_12521].
Interação
A definição baseia-se nos requisitos RS_AP_00120 e RS_AP_00130 [SWS_CM_12521]. Embora a especificação preveja primariamente o espaço de nomes apext::com::secoc, noutro local encontra-se também a indicação ara::com::secoc::GetComSecOcFvmErrorDomain (AUTOSAR_AP_SWS_CommunicationManagement p. 598); isto deverá constituir uma variante redatorial no âmbito das extensões do Adaptive. Pergunta Q-b49307e7cc69a94b (aberta)
Esta nota de utilização foi criada por uma IA e baseia-se no estado de especificação AUTOSAR Adaptive R25-11.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: c91e64600342ProcedênciaPerguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
usar
A função apext::com::secoc::MakeErrorCode serve para criar uma instância de ara::core::ErrorCode para o domínio de erros do Freshness Value Management (SecOC) de acordo com [SWS_CM_12522] (AUTOSAR_AP_SWS_CommunicationManagement §C.2.2.1.2 «MakeErrorCode»). A chamada ocorre de forma síncrona. Como parâmetros, a função requer um código de erro errorCode do tipo apext::com::secoc::ComSecOcFvmErrc, bem como dados adicionais específicos do fabricante data do tipo ara::core::ErrorDomain::SupportDataType[SWS_CM_12522]. Ela retorna o objeto ara::core::ErrorCode totalmente inicializado [SWS_CM_12522].
Tratamento de erros e simultaneidade
A função é especificada como noexcept e exception safe, de modo que a chamada é garantida contra o lançamento de exceções [SWS_CM_12522]. Mensagens de erro de tempo de execução específicas, como DET ou DEM, não estão definidas para esta função de construção [SWS_CM_12522]. Devido à qualificação constexpr, a geração do código de erro na passagem de expressões constantes provavelmente já poderá ser realizada em tempo de compilação.
Pergunta Q-a96337508ba6ecdd (aberta)
Interação
A função é disponibilizada por meio do cabeçalho apext/com/secoc/fvm_error_domain.h no namespace apext::com::secoc[SWS_CM_12522]. Em sua estrutura, ela corresponde a fábricas de códigos de erro correlatas da gestão de comunicação:
gemini-3.8-flash-low· 2026-10-13 · Original em alemão