DEENESPTFRRUARHIKOZHNL

classe apext::tsync::FVM

[SWS_TS_14197] Upstream: RS_TS_20072 texto ainda não importado

class FVM {...};

A freshness value management interface for ara::tsync.

Header-Datei#include "apext/tsync/fvm.h"
Forwarding-Header#include "apext/tsync/tsync_fwd.h"
Scopenamespace apext::tsync

Guia do utilizadorGERADO POR IA

Fornece valores de atualização para a autenticação de mensagens enviadas e recebidas da sincronização de tempo.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 88e47d85a572 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Fornece valores de atualização para a autenticação de mensagens enviadas e recebidas da sincronização de tempo.

A classe apext::tsync::FVM atua como interface do módulo para o fornecimento de valores de atualização para mensagens de sincronização de tempo protegidas [SWS_TS_14199]. Antes do uso operacional, a instância deve ser inicializada, após o que os valores de atualização podem ser obtidos para envio e para a verificação de mensagens recebidas [SWS_TS_14200]. Na recepção, os valores de atualização truncados são transmitidos juntamente com um contador de tentativas com falha para reconstruir o valor completo para a verificação do autenticador. Todos os métodos da interface são especificados como seguros contra exceções e thread-safe.

Contexto

A classe apext::tsync::FVM representa uma interface para o Freshness Value Management dentro do módulo tsync da AUTOSAR Adaptive Platform. Sua responsabilidade primária consiste em fornecer valores de atualização (Freshness Values) atuais para o serviço de sincronização de tempo ara::tsync, a fim de proteger criptograficamente as mensagens contra ataques de repetição (replay) e falsificação (spoofing) [SWS_TS_14198], [SWS_TS_14199].

Como parceiro central de interação atua a funcionalidade TimeSync, que chama a FVM para consultar contêineres de valor de atualização (apext::tsync::FVContainer) para mensagens protegidas enviadas e recebidas [SWS_TS_14198], [SWS_TS_14199]. A declaração da classe é incluída através do arquivo de cabeçalho #include "apext/tsync/fvm.h". Todos os métodos especificados são declarados como thread-safe e seguros contra exceções (noexcept), de modo que chamadas possam ocorrer em paralelo a partir de diferentes contextos de execução da sincronização de tempo [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200].

Ciclo de vida

O ciclo de vida funcional de uma instância de FVM divide-se em uma fase explícita de inicialização e a subsequente fase operacional de funcionamento:

  • Inicialização: antes de usar as funções de consulta, o método Initialize() deve ser chamado [SWS_TS_14200]. Em caso de conclusão bem-sucedida, ele retorna um ara::core::Result<void> vazio. Se a inicialização falhar, ele retorna o código de erro TsyncFvmErrc::kFVInitializeFailed com semântica de rollback [SWS_TS_14200].
  • Estado operacional: uma inicialização bem-sucedida deve ser o pré-requisito necessário para que as solicitações subsequentes por valores de atualização forneçam resultados válidos. Pergunta Q-df4ee3e749313b94 (aberta) Após a inicialização bem-sucedida, a instância permanece no estado operacional e responde a solicitações para IDs de valor de atualização configuradas.
  • Concorrência: como todos os métodos estão identificados como thread-safe, os acessos aos valores de atualização para envio e recepção podem ocorrer concorrentemente sem mecanismos externos de bloqueio [SWS_TS_14198], [SWS_TS_14199].

Caminho de utilização

A sequência típica de chamadas pelo componente TimeSync compreende a inicialização, bem como a determinação contínua de valores de atualização para os fluxos de envio e recepção:

  1. Inicialização do serviço: o TimeSync executa o método Initialize() durante a inicialização e verifica o ara::core::Result retornado quanto à ausência de erros [SWS_TS_14200].
  2. Envio de mensagens protegidas: antes de enviar uma mensagem, o TimeSync chama GetTxFreshness() com a respectiva FreshnessValueID [SWS_TS_14199]. O objeto FVContainer obtido fornece o valor de atualização usado para o cálculo do autenticador [SWS_TS_14199].
  3. Recepção de mensagens protegidas: ao receber uma mensagem, o TimeSync chama GetRxFreshness() e passa o FreshnessValueID, o valor truncado contido na mensagem TruncatedFreshnessValue e o número de tentativas anteriores de autenticação AuthVerifyAttempts [SWS_TS_14198]. A FVM determina a partir disso o valor de atualização completo para verificação do autenticador [SWS_TS_14198].
Inicialização e determinação do valor de frescor no TimeSyncTimeSyncFVMUse Case: InitialisierungInitialize()ara::core::Result<void>Use Case: Envio de uma mensagemGetTxFreshness(FreshnessValueID)ara::core::Result<FVContainer>Use Case: Recepção de uma mensagemGetRxFreshness(FreshnessValueID, TruncatedFreshnessValue, AuthVerifyAttempts)ara::core::Result<FVContainer>

Diagrama de sequência: sequência típica de inicialização e consulta dos valores de atualização de envio e recepção pelo TimeSync. Fontes: [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200]

Cenários de erro

Todos os métodos da interface sinalizam erros via ara::core::Result e são especificados com noexcept [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200]. Os seguintes estados de erro e pré-condições são relevantes:

  • Falha na inicialização (TsyncFvmErrc::kFVInitializeFailed): ocorre se a FVM não puder ser inicializada [SWS_TS_14200]. Graças à semântica de rollback, o sistema permanece no estado inicial definido e não inicializado.
  • Valor de atualização não disponível (TsyncFvmErrc::kFVNotAvailable): é retornado por GetTxFreshness() ou GetRxFreshness() quando não há nenhum valor de atualização disponível para o ID solicitado [SWS_TS_14198], [SWS_TS_14199]. Em caso de erro, as operações não alteram seu estado (semântica de rollback).
  • Tentativas repetidas de verificação na recepção: o parâmetro AuthVerifyAttempts inicia em 0 e é incrementado a cada tentativa com falha de autenticação [SWS_TS_14198]. O incremento deve servir para que a FVM ajuste gradualmente uma janela interna de aceitação, a fim de tolerar valores de atualização ligeiramente deslocados no tempo. Pergunta Q-8f151c47d2607f90 (aberta)

Este guia baseia-se exclusivamente nos requisitos de especificação da AUTOSAR R25-11 para o módulo tsync e foi gerado de forma automatizada.

Mapa de membros

Diagrama de classes

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G napext__tsync__FVM697 FVM + GetRxFreshness() + GetTxFreshness() + Initialize()

Vista de detalhes

Selecione uma entrada no índice.

Métodos

Used by TimeSync to obtain the current freshness value for received messages.

ara::core::Result< FVContainer > GetRxFreshness (std::uint16_t FreshnessValueID, const FVContainer &TruncatedFreshnessValue, std::uint16_t AuthVerifyAttempts) noexcept;

Used by TimeSync to obtain the current freshness value for transmitted messages.

ara::core::Result< FVContainer > GetTxFreshness (std::uint16_t FreshnessValueID) noexcept;
Initialize função

Initializes FVM

ara::core::Result< void > Initialize () noexcept;

Documentação dos métodos

função GetRxFreshness [SWS_TS_14198] Upstream: RS_TS_20072 texto ainda não importado

ara::core::Result< FVContainer > GetRxFreshness (std::uint16_t FreshnessValueID, const FVContainer &TruncatedFreshnessValue, std::uint16_t AuthVerifyAttempts) noexcept;

Used by TimeSync to obtain the current freshness value for received messages.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 37f7da507510 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A interface síncrona GetRxFreshness da classe apext::tsync::FVM (definida em apext/tsync/fvm.h) serve para o TimeSync determinar o valor de frescura atual para mensagens recebidas [SWS_TS_14198].

A chamada requer três parâmetros [SWS_TS_14198]:

  • FreshnessValueID: Identificador numérico do valor de frescura (std::uint16_t) [SWS_TS_14198].
  • TruncatedFreshnessValue: O contentor (apext::tsync::FVContainer) com os valores de frescura truncados da mensagem protegida recebida [SWS_TS_14198].
  • AuthVerifyAttempts: Contador de tentativas de autenticação para esta mensagem desde a sua última receção; o valor começa em 0 para a primeira tentativa e é incrementado a cada tentativa de verificação com falha [SWS_TS_14198].

A função retorna um ara::core::Result<FVContainer> [SWS_TS_14198]. Em caso de sucesso, este contém um apext::tsync::FVContainer com o valor de frescura completo, necessário para o cálculo subsequente do autenticador pelo TimeSync [SWS_TS_14198]. Se o valor de frescura não estiver disponível, é reportado um erro recuperável com o código de erro TsyncFvmErrc::kFVNotAvailable e semântica de rollback [SWS_TS_14198].

A assinatura está declarada com noexcept; a implementação está especificada como segura contra exceções (exception safe) e segura para threads (thread-safe) [SWS_TS_14198].

Este texto foi gerado por uma IA com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "apext/tsync/fvm.h"
Scopeclass apext::tsync::FVM
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
FreshnessValueIDTruncatedFreshnessValueAuthVerifyAttemptsthe identifier of the freshness value. the apext::tsync::FVContainer with the values from the received Secured message. the number of authentication verify attempts of this message since the last reception. The value is 0 for the first attempt and incremented on every unsuccessful verification attempt.

Rückgabewert

TypBeschreibung
ara::core::Result<FVContainer >an ara::core::Result containing a ara::core::Result:: value_type containing a apext::tsync::FVContainer that holds the freshness value to be used for the calculation of the authenticator by TimeSync, or recoverable error.

Fehler

FehlercodeBeschreibung
TsyncFvmErrc::kFVNotAvailablerollback_semantics the Freshness Value is not available.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_TS_14198
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14198@rel:R25-11#888e000d
Content hash
888e000d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14198
Status: valid/unmigrated Version: rel:R25-11#5a2df49d Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_TS_14198@rel:R25-11#5a2df49d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#cbec70a42026-09-30
  • R24-11rel:R24-11#8dfc9f262026-10-14
  • R25-11rel:R25-11#5a2df49d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função GetTxFreshness [SWS_TS_14199] Upstream: RS_TS_20072 texto ainda não importado

ara::core::Result< FVContainer > GetTxFreshness (std::uint16_t FreshnessValueID) noexcept;

Used by TimeSync to obtain the current freshness value for transmitted messages.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9a44eddcc1b0 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função GetTxFreshness está definida como interface da classe apext::tsync::FVM no cabeçalho apext/tsync/fvm.h ([SWS_TS_14199]). É chamada pelo componente TimeSync para consultar o valor de frescura atual para mensagens enviadas. Este valor de frescura é estritamente necessário para o TimeSync calcular o autenticador criptográfico para transmissões enviadas.

Na chamada, o identificador do valor de frescura é passado através do parâmetro FreshnessValueID do tipo std::uint16_t ([SWS_TS_14199]). Como valor de retorno, a interface retorna sincronicamente um objeto do tipo ara::core::Result<FVContainer>. Em caso de sucesso, o tipo de retorno encapsula uma instância de apext::tsync::FVContainer que contém o valor de frescura concreto.

Se o valor de frescura necessário não estiver disponível no momento da consulta, a operação falha com um erro recuperável (recoverable error) ([SWS_TS_14199]). Neste cenário, a função retorna o código de erro TsyncFvmErrc::kFVNotAvailable, cumprindo o sistema uma semântica de rollback definida.

No que diz respeito à concorrência e tolerância a falhas, GetTxFreshness está especificada como thread-safe bem como exception safe e anotada com noexcept ([SWS_TS_14199]). A função pode, consequentemente, ser chamada a partir de threads paralelas sem proteção externa por mutex, sem que sejam necessárias precauções contra exceções síncronas de C++.

Esta nota de utilização foi gerada automaticamente com base em especificações AUTOSAR.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "apext/tsync/fvm.h"
Scopeclass apext::tsync::FVM
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
FreshnessValueIDthe identifier of the freshness value.

Rückgabewert

TypBeschreibung
ara::core::Result<FVContainer >an ara::core::Result containing a ara::core::Result:: value_type containing a apext::tsync::FVContainer that holds the freshness value to be used for the calculation of the authenticator by TimeSync, or recoverable error.

Fehler

FehlercodeBeschreibung
TsyncFvmErrc::kFVNotAvailablerollback_semantics the Freshness Value is not available.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_TS_14199
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14199@rel:R25-11#7edbe281
Content hash
7edbe281
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14199
Status: valid/unmigrated Version: rel:R25-11#09c3542d Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_TS_14199@rel:R25-11#09c3542d
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#a86e7a3f2026-09-30
  • R24-11rel:R24-11#1e7ee0612026-10-14
  • R25-11rel:R25-11#09c3542d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

função Initialize [SWS_TS_14200] Upstream: RS_TS_20072 texto ainda não importado

ara::core::Result< void > Initialize () noexcept;

Initializes FVM

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: e3e4199a5145 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

A função Initialize no namespace apext::tsync::FVM serve para a inicialização do Freshness Value Manager (FVM) de acordo com [SWS_TS_14200]. A interface é disponibilizada através do arquivo de cabeçalho apext/tsync/fvm.h e apresenta a assinatura ara::core::Result<void> Initialize() noexcept;. A chamada ocorre de forma síncrona e sem parâmetros de passagem. Em caso de sucesso, é fornecido um ara::core::Result com o tipo de retorno vazio void.

Tratamento de erros

Se ocorrer um problema durante a execução, a função retorna o código de erro específico TsyncFvmErrc::kFVInitializeFailed dentro do objeto de resultado [SWS_TS_14200]. A especificação prevê aqui uma semântica de rollback, de modo que nenhum estado intermediário inconsistente deverá permanecer em caso de erro. Pergunta Q-0d3c1a8f45444579 (aberta)

Simultaneidade e restrições

Para o contexto de chamada, a função é explicitamente classificada como thread-safe bem como exception safe [SWS_TS_14200]. Devido ao identificador noexcept, garante-se que nenhumas exceções de C++ são propagadas para o exterior. Interpretação: Presumivelmente, este passo de inicialização terá de ter sido concluído com sucesso antes de outros métodos funcionais do componente FVM poderem ser chamados. Pergunta Q-ba44afb55d21ac38 (aberta)

Esta nota de uso foi gerada automaticamente com base no AUTOSAR R25-11.

Header-Datei#include "apext/tsync/fvm.h"
Scopeclass apext::tsync::FVM
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >an ara::core::Result containing a ara::core::Result:: value_type containing a void, kFVInitializeFailed otherwise.

Fehler

FehlercodeBeschreibung
TsyncFvmErrc::kFVInitializeFailedrollback_semantics Initialization fails

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_TS_14200
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14200@rel:R25-11#960fca40
Content hash
960fca40
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14200
Status: valid/unmigrated Version: rel:R25-11#711e1128 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_TS_14200@rel:R25-11#711e1128
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#55c36e332026-09-30
  • R24-11rel:R24-11#f1f5a9742026-10-14
  • R25-11rel:R25-11#711e11282026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill