DEENESPTFRRUARHIKOZHNL

класс apext::tsync::FVM

[SWS_TS_14197] Upstream: RS_TS_20072 текст ещё не импортирован

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

Руководство пользователяСОЗДАНО ИИ

Предоставляет значения актуальности для аутентификации отправленных и принятых сообщений синхронизации времени.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 88e47d85a572 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Предоставляет значения актуальности для аутентификации отправленных и принятых сообщений синхронизации времени.

Класс apext::tsync::FVM служит интерфейсом модуля для предоставления значений актуальности для защищенных сообщений синхронизации времени [SWS_TS_14199]. Перед эксплуатационным использованием экземпляр необходимо инициализировать, после чего можно получать значения актуальности для отправки, а также для верификации принятых сообщений [SWS_TS_14200]. При приеме усеченные значения актуальности передаются вместе со счетчиком неудачных попыток для восстановления полного значения с целью проверки аутентификатора. Все методы интерфейса специфицированы как безопасные относительно исключений и потокобезопасные.

Контекст

Класс apext::tsync::FVM представляет собой интерфейс для управления значениями актуальности (Freshness Value Management) внутри модуля tsync AUTOSAR Adaptive Platform. Его основная ответственность заключается в предоставлении актуальных значений актуальности (Freshness Values) для службы синхронизации времени ara::tsync, чтобы сообщения могли быть криптографически защищены от атак повторного воспроизведения и спуфинга [SWS_TS_14198], [SWS_TS_14199].

В качестве центрального партнера по взаимодействию выступает функциональность TimeSync, которая вызывает FVM для запроса контейнеров значений актуальности (apext::tsync::FVContainer) как для исходящих, так и для принятых защищенных сообщений [SWS_TS_14198], [SWS_TS_14199]. Объявление класса подключается через файл заголовка #include "apext/tsync/fvm.h". Все специфицированные методы объявлены как потокобезопасные и безопасные относительно исключений (noexcept), благодаря чему вызовы могут происходить параллельно из различных контекстов выполнения синхронизации времени [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200].

Жизненный цикл

Функциональный жизненный цикл экземпляра FVM подразделяется на явную фазу инициализации и последующую фазу эксплуатационной работы:

  • Инициализация: перед использованием функций запроса необходимо вызвать метод Initialize() [SWS_TS_14200]. При успешном завершении он возвращает пустой ara::core::Result<void>. Если инициализация не удалась, он возвращает код ошибки TsyncFvmErrc::kFVInitializeFailed с семантикой отката [SWS_TS_14200].
  • Рабочее состояние: успешная инициализация, вероятно, является необходимым условием для того, чтобы последующие запросы значений актуальности возвращали корректные результаты. Вопрос Q-df4ee3e749313b94 (открытый) После успешной инициализации экземпляр остается в рабочем состоянии и отвечает на запросы для сконфигурированных ID значений актуальности.
  • Параллельный доступ: поскольку все методы помечены как thread-safe, доступ к значениям актуальности для отправки и приема может осуществляться параллельно без внешних механизмов блокировки [SWS_TS_14198], [SWS_TS_14199].

Путь использования

Типичный порядок вызовов со стороны компонента TimeSync включает инициализацию, а также непрерывное определение значений актуальности для трактов отправки и приема:

  1. Инициализация службы: TimeSync выполняет при запуске метод Initialize() и проверяет возвращенный ara::core::Result на отсутствие ошибок [SWS_TS_14200].
  2. Отправка защищенных сообщений: перед отправкой сообщения TimeSync вызывает GetTxFreshness() с соответствующим FreshnessValueID [SWS_TS_14199]. Полученный объект FVContainer предоставляет значение актуальности, которое используется для вычисления аутентификатора [SWS_TS_14199].
  3. Прием защищенных сообщений: при поступлении сообщения TimeSync вызывает GetRxFreshness() и передает FreshnessValueID, содержащееся в сообщении усеченное значение TruncatedFreshnessValue, а также количество предыдущих попыток аутентификации AuthVerifyAttempts [SWS_TS_14198]. FVM определяет на их основе полное значение актуальности для верификации аутентификатора [SWS_TS_14198].
Инициализация и определение значения свежести в TimeSyncTimeSyncFVMUse Case: InitialisierungInitialize()ara::core::Result<void>Use Case: Отправка сообщенияGetTxFreshness(FreshnessValueID)ara::core::Result<FVContainer>Use Case: Приём сообщенияGetRxFreshness(FreshnessValueID, TruncatedFreshnessValue, AuthVerifyAttempts)ara::core::Result<FVContainer>

Диаграмма последовательности: типичная последовательность инициализации и запроса значений актуальности для отправки и приема со стороны TimeSync. Источники: [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200]

Сценарии ошибок

Все интерфейсные методы сигнализируют об ошибках через ara::core::Result и специфицированы с noexcept [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200]. Актуальны следующие состояния ошибок и предусловия:

  • Неудачная инициализация (TsyncFvmErrc::kFVInitializeFailed): возникает, если FVM не может быть инициализирован [SWS_TS_14200]. Благодаря семантике отката система остается в неинициализированном, определенном исходном состоянии.
  • Недоступное значение актуальности (TsyncFvmErrc::kFVNotAvailable): возвращается методом GetTxFreshness() или GetRxFreshness(), если для запрошенного ID значение актуальности отсутствует [SWS_TS_14198], [SWS_TS_14199]. В случае ошибки операции не изменяют свое состояние (семантика отката).
  • Повторные попытки верификации при приеме: параметр AuthVerifyAttempts начинается с 0 и инкрементируется при каждой неудачной попытке аутентификации [SWS_TS_14198]. Инкрементирование, вероятно, служит для того, чтобы FVM постепенно корректировал внутреннее окно приемлемости для компенсации небольших временных сдвигов значений актуальности. Вопрос Q-8f151c47d2607f90 (открытый)

Настоящее руководство основано исключительно на требованиях спецификации AUTOSAR R25-11 для модуля tsync и создано автоматически.

Карта членов

Диаграмма классов

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

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

Подробный вид

Выберите элемент в оглавлении.

Методы

GetRxFreshness функция

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;
GetTxFreshness функция

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

ara::core::Result< FVContainer > GetTxFreshness (std::uint16_t FreshnessValueID) noexcept;
Initialize функция

Initializes FVM

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

Документация методов

функция GetRxFreshness [SWS_TS_14198] Upstream: RS_TS_20072 текст ещё не импортирован

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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 37f7da507510 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронный интерфейс GetRxFreshness класса apext::tsync::FVM (определенный в apext/tsync/fvm.h) служит TimeSync для определения актуального значения свежести входящих сообщений [SWS_TS_14198].

Вызов требует трех параметров [SWS_TS_14198]:

  • FreshnessValueID: числовой идентификатор значения свежести (std::uint16_t) [SWS_TS_14198].
  • TruncatedFreshnessValue: контейнер (apext::tsync::FVContainer) с усеченными значениями свежести из принятого защищенного сообщения [SWS_TS_14198].
  • AuthVerifyAttempts: счетчик попыток аутентификации для этого сообщения с момента его последнего приема; значение начинается с 0 для первой попытки и инкрементируется при каждой неудавшейся попытке верификации [SWS_TS_14198].

Функция возвращает ara::core::Result<FVContainer> [SWS_TS_14198]. В случае успеха он содержит apext::tsync::FVContainer с полным значением свежести, которое требуется для последующего вычисления аутентификатора компонентом TimeSync [SWS_TS_14198]. Если значение свежести недоступно, возвращается исправимая ошибка с кодом ошибки TsyncFvmErrc::kFVNotAvailable и семантикой отката [SWS_TS_14198].

Сигнатура объявлена с noexcept; реализация специфицирована как исключениебезопасная (exception safe) и потокобезопасная (thread-safe) [SWS_TS_14198].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность 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#56e1f9e9
Content hash
56e1f9e9
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

функция GetTxFreshness [SWS_TS_14199] Upstream: RS_TS_20072 текст ещё не импортирован

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

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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9a44eddcc1b0 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция GetTxFreshness определена как интерфейс класса apext::tsync::FVM в заголовочном файле apext/tsync/fvm.h ([SWS_TS_14199]). Она вызывается компонентом TimeSync для запроса актуального значения свежести для отправленных сообщений. Это значение свежести обязательно требуется TimeSync для вычисления криптографического аутентификатора для исходящих передач.

При вызове идентификатор значения свежести передается через параметр FreshnessValueID типа std::uint16_t ([SWS_TS_14199]). В качестве возвращаемого значения интерфейс синхронно возвращает объект типа ara::core::Result<FVContainer>. В случае успеха возвращаемый тип инкапсулирует экземпляр apext::tsync::FVContainer, содержащий конкретное значение свежести.

Если требуемое значение свежести не готово в момент запроса, операция завершается со сбоем с исправимой ошибкой (recoverable error) ([SWS_TS_14199]). Функция в этом сценарии возвращает код ошибки TsyncFvmErrc::kFVNotAvailable, причем система соблюдает определенную семантику отката.

В отношении конкурентности и отказоустойчивости GetTxFreshness специфицирована как thread-safe, а также exception safe и аннотирована noexcept ([SWS_TS_14199]). Следовательно, функция может вызываться без внешней защиты с помощью мьютексов из параллельных потоков без необходимости принятия мер против синхронных исключений C++.

Это указание по использованию было создано автоматически на основе спецификаций AUTOSAR.

Руководство разработчика реализации в подготовке (сложность 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#3939d10e
Content hash
3939d10e
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

функция Initialize [SWS_TS_14200] Upstream: RS_TS_20072 текст ещё не импортирован

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

Initializes FVM

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: e3e4199a5145 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция Initialize в пространстве имен apext::tsync::FVM служит для инициализации Freshness Value Manager (FVM) согласно [SWS_TS_14200]. Интерфейс предоставляется через заголовочный файл apext/tsync/fvm.h и имеет сигнатуру ara::core::Result<void> Initialize() noexcept;. Вызов выполняется синхронно и без входных параметров. В случае успеха предоставляется ara::core::Result с пустым возвращаемым типом void.

Обработка ошибок

Если при выполнении возникает проблема, функция возвращает специфический код ошибки TsyncFvmErrc::kFVInitializeFailed внутри объекта результата [SWS_TS_14200]. Спецификация при этом предусматривает семантику отката, так что в случае ошибки несогласованных промежуточных состояний оставаться не должно. Вопрос Q-0d3c1a8f45444579 (открытый)

Параллелизм и ограничения

Для контекста вызова функция явно классифицирована как thread-safe, а также как exception safe [SWS_TS_14200]. Благодаря идентификатору noexcept гарантированно никакие C++-исключения не передаются наружу. Интерпретация: вероятно, этот шаг инициализации должен быть успешно пройден до того, как могут быть вызваны другие функциональные методы компонента FVM. Вопрос Q-ba44afb55d21ac38 (открытый)

Данное указание по использованию сгенерировано автоматически на основе 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#e0061066
Content hash
e0061066
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