DEENESPTFRRUARHIKOZHNL

namespace apext::tsync

User GuideAI-GENERATED

Provides interfaces and containers for Freshness Value Management to secure time synchronization.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 81e51095e95c Provenance Open questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Provides interfaces and containers for Freshness Value Management to secure time synchronization.

The namespace apext::tsync provides interfaces and data containers for the Freshness Value Management of Adaptive time synchronization. Via the interface FVM, freshness values are encapsulated in FVContainer instances to protect time messages against replay attacks. If an unrecoverable error occurs during initialization or if a value is temporarily unavailable, this is mapped via the error codes of TsyncFvmErrorDomain [SWS_TS_14202]. Standardized error objects are instantiated in an exception-safe and thread-safe manner via MakeErrorCode [SWS_TS_14213].

Context

The namespace apext::tsync represents a platform-specific extension of the AUTOSAR Adaptive time synchronization (ara::tsync). Its central task is Freshness Value Management (FVM), which provides mechanisms to ensure the freshness of time information in order to prevent replay attacks and outdated states in time-synchronized networks. Core components include the interface FVM, the data container FVContainer, the error domain TsyncFvmErrorDomain, and the exception class TsyncFvmException.

The class FVContainer encapsulates a freshness value by managing its length in bits as well as the value itself in the form of a byte vector. The interface FVM acts as a functional bridge for ara::tsync. FVM is likely to act as an abstraction interface through which time-synchronizing instances of ara::tsync obtain or verify current freshness values. Question Q-f92f53d92ec347e5 (open) The error domain TsyncFvmErrorDomain and associated utility functions ensure standardized error reporting [SWS_TS_14212].

ara_tsync ara::tsync FVM apext::tsync::FVM ara_tsync->FVM uses FVContainer apext::tsync::FVContainer FVM->FVContainer creates / populates TsyncFvmErrorDomain apext::tsync::TsyncFvmErrorDomain FVM->TsyncFvmErrorDomain referenziert

Context diagram: Components of namespace apext::tsync and their interaction with ara::tsync. Sources: [SWS_TS_14202], [SWS_TS_14212].

Lifecycle

The lifecycle of components in namespace apext::tsync is divided into initialization, operational, and termination phases. For the initialization phase, the enumeration TsyncFvmErrc defines the error value kFVInitializeFailed (= 2), which is specified as an unrecoverable error and indicates that the Freshness Value Manager could not be used [SWS_TS_14202]. The error kFVInitializeFailed presumably indicates that an initialization phase of the FVM must be completed before retrieving freshness values, the failure of which precludes further use. Question Q-d9c097d736bae053 (open)

During ongoing operation, FVContainer instances have a temporary lifetime: they are instantiated on demand, populated with the vector and bit length, and passed to the synchronizing protocol instances. In contrast, the error domain object TsyncFvmErrorDomain has a static lifetime across the entire process duration. The function GetTsyncFvmErrorDomain() returns a reference to the global instance object [SWS_TS_14212]. Both GetTsyncFvmErrorDomain() and the factory function MakeErrorCode() are declared as constexpr and noexcept and specified as exception-safe and thread-safe [SWS_TS_14212], [SWS_TS_14213]. This allows concurrent error generation and querying without synchronization locks.

Usage Path

The typical usage path in interaction with time synchronization encompasses the provision and evaluation of freshness values:

  1. A component from ara::tsync requests a current freshness value via the interface FVM to secure a time message.
  2. Upon successful value determination, FVM creates or populates an instance of FVContainer with the bit length and byte vector of the value and returns it to the caller.
  3. If the freshness value temporarily cannot be provided at runtime, FVM reports the recoverable error kFVNotAvailable [SWS_TS_14202]. For this purpose, a suitable ara::core::ErrorCode object with vendor-specific supplementary data is generated via MakeErrorCode() [SWS_TS_14213].
  4. The calling component evaluates the result and decides on retries or fallback measures.
Retrieval of a freshness value via FVMara::tsyncapext::tsync::FVMapext::tsync::FVContainerRequest freshness valuealtValue availablePopulate instance with bit length and vectorPass FVContainerkFVNotAvailableMakeErrorCode(kFVNotAvailable)Return ara::core::ErrorCode

Sequence diagram: Retrieval of a freshness value and handling of potential error states. Sources: [SWS_TS_14202], [SWS_TS_14213].

Error Scenarios

Error handling in apext::tsync is based on the architecture of ara::core::ErrorDomain and ara::core::ErrorCode. The error codes of TsyncFvmErrorDomain are listed in the enumeration TsyncFvmErrc, whose base type is ara::core::ErrorDomain::CodeType [SWS_TS_14202]:

  • kFVNotAvailable (= 1): Recoverable error indicating that the freshness value is currently not available [SWS_TS_14202]. Callers can repeat the request or skip the current processing cycle.
  • kFVInitializeFailed (= 2): Unrecoverable error indicating that the Freshness Value Manager could not be initialized or used [SWS_TS_14202]. This leads to the termination of the dependent time synchronization services.

Concrete error objects are created via the utility function MakeErrorCode(TsyncFvmErrc code, ara::core::ErrorDomain::SupportDataType data), which accepts the enumerator and vendor-specific supplementary data [SWS_TS_14213]. The declarations are located in header apext/tsync/fvm_error_domain.h, while forward declarations can be obtained via apext/tsync/tsync_fwd.h [SWS_TS_14202]. For exception-based error paths, the namespace provides the class TsyncFvmException. TsyncFvmException is likely to be thrown when errors of TsyncFvmErrorDomain are reported in exception contexts instead of via ara::core::ErrorCode. Question Q-a779e133b471f03d (open)

This guide is based on the specification of AUTOSAR R25-11 for the apext::tsync namespace and was generated automatically.

Topic map

Class diagram

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.

G cluster_ns apext::tsync napext__tsync__FVContainer «struct» FVContainer napext__tsync__FVM FVM napext__tsync__TsyncFvmErrorDomain TsyncFvmErrorDomain next_ara__core__ErrorDomain ara::core::ErrorDomain napext__tsync__TsyncFvmErrorDomain->next_ara__core__ErrorDomain napext__tsync__TsyncFvmException TsyncFvmException next_ara__core__Exception ara::core::Exception napext__tsync__TsyncFvmException->next_ara__core__Exception

Detail view

Select an entry in the outline.

Classes

A freshness value container to hold the length of freshness value in bits and the freshness value itself as vector.

FVM class

A freshness value management interface for ara::tsync.

Defines a class representing the Freshness Value Manager error domain.

inherits from ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the Freshness Value Manager.

inherits from ara::core::Exception

Functions

Returns a reference to the global apext::tsync::TsyncFvmErrorDomain object.

constexpr const ara::core::ErrorDomain & GetTsyncFvmErrorDomain () noexcept;
MakeErrorCode function

Creates an instance of ara::core::ErrorCode.

constexpr ara::core::ErrorCode MakeErrorCode (TsyncFvmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

Types and constants

TsyncFvmErrc enumeration

The enumeration class defines the error codes for the apext::tsync:: TsyncFvmErrorDomain.

enum class TsyncFvmErrc : ara::core::ErrorDomain::CodeType {...};

Enumerations

enumeration TsyncFvmErrc [SWS_TS_14202] Upstream: RS_TS_20072 wording not yet imported

enum class TsyncFvmErrc :            ara::core::ErrorDomain::CodeType {...};

The enumeration class defines the error codes for the apext::tsync:: TsyncFvmErrorDomain.

Header-Datei#include "apext/tsync/fvm_error_domain.h"
Forwarding-Header#include "apext/tsync/tsync_fwd.h"
Scopenamespace apext::tsync
SymbolTsyncFvmErrc
Basistypara::core::ErrorDomain::CodeType

Werte

EnumeratorBeschreibung
kFVNotAvailable=1 Recoverable Error meaning the Freshness Value is not available.
kFVInitializeFailed=2 Unrecoverable Error meaning the Freshness Value Manager could not be used.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: cad092cfe90e Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and Error Semantics

According to [SWS_TS_14202], the enumeration TsyncFvmErrc defines the specific error codes for the error domain apext::tsync::TsyncFvmErrorDomain. Within the domain, the enumeration is additionally provided via the type alias apext::tsync::TsyncFvmErrorDomain::Errc [SWS_TS_14206]. The enumeration distinguishes between two central error states of the Freshness Value Manager (FVM):

  • kFVNotAvailable (= 1): Indicates a recoverable error (Recoverable Error) when a required freshness value is not available [SWS_TS_14202]. This error code occurs in particular when querying transmit freshness values via apext::tsync::FVM::GetTxFreshness [SWS_TS_14199].
  • kFVInitializeFailed (= 2): Indicates an unrecoverable error (Unrecoverable Error) when the Freshness Value Manager is not operational and fails [SWS_TS_14202]. It is signaled by apext::tsync::FVM::Initialize upon failed initialization [SWS_TS_14200].

Interaction and Error Handling

For error handling, an enumerator together with vendor-specific additional data is converted into a ara::core::ErrorCode object via the helper function apext::tsync::MakeErrorCode [SWS_TS_14213]. Functions of the FVM such as Initialize [SWS_TS_14200], GetTxFreshness [SWS_TS_14199], and GetRxFreshness [SWS_TS_14198] encapsulate the result or error states in ara::core::Result. Application and TimeSync components evaluate the result object in order to differentiate between recoverable failures of individual freshness values and severe initialization errors of the FVM.

This usage note was generated automatically based on the AUTOSAR payload R25-11.

Implementer's Guide to follow (complexity I1)

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

Record
AUTOSAR/AP/record/SWS_TS_14202
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14202@rel:R25-11#e69ca41d
Content hash
e69ca41d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14202
Status: valid/unmigrated Version: rel:R25-11#b5e36b38 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_14202@rel:R25-11#b5e36b38
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e69ca41d2026-09-30
  • R24-11rel:R24-11#5774fd892026-10-14
  • R25-11rel:R25-11#b5e36b382026-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

Documentation of free functions

function GetTsyncFvmErrorDomain [SWS_TS_14212] Upstream: RS_TS_20072 wording not yet imported

constexpr const ara::core::ErrorDomain & GetTsyncFvmErrorDomain () noexcept;

Returns a reference to the global apext::tsync::TsyncFvmErrorDomain object.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 5e6a6b2cdedb Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function GetTsyncFvmErrorDomain in namespace apext::tsync provides a reference to the global error domain object apext::tsync::TsyncFvmErrorDomain [SWS_TS_14212]. For use, the header file apext/tsync/fvm_error_domain.h must be included [SWS_TS_14212].

use

The call occurs synchronously and without input parameters. As a return value, the function returns a constant reference of type const ara::core::ErrorDomain& to the instance of the error domain [SWS_TS_14212]. Due to the declaration as constexpr, access to the global object can already take place at compile time [SWS_TS_14212].

Error Handling and Exception Safety

The function is declared as noexcept and specified as exception-safe (exception safe) [SWS_TS_14212]. Since it merely returns an existing reference, it throws no exceptions and generates no error codes.

Concurrency and Limitations

The interface is defined as thread-safe (thread-safe) [SWS_TS_14212]. It can be called concurrently from multiple threads without additional synchronization mechanisms. There are no restrictive ordering conditions for the call.

Interaction

Interpretation: The referenced error domain object is likely intended to uniquely identify and match module-specific errors of Freshness Value Management (FVM) within the AUTOSAR Adaptive error handling model via ara::core::ErrorCode. Question Q-2d0a2b5481f500bd (open)

This usage note was created by an AI based on the specification SWS_TS_14212.

Header-Datei#include "apext/tsync/fvm_error_domain.h"
Scopenamespace apext::tsync
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
const ara::core::ErrorDomain &A reference to the global apext::tsync:: TsyncFvmErrorDomain object.

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

Record
AUTOSAR/AP/record/SWS_TS_14212
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14212@rel:R25-11#a77cf1b6
Content hash
a77cf1b6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14212
Status: valid/unmigrated Version: rel:R25-11#fd40d130 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_14212@rel:R25-11#fd40d130
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#a77cf1b62026-09-30
  • R24-11rel:R24-11#2b0ce1082026-10-14
  • R25-11rel:R25-11#fd40d1302026-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

function MakeErrorCode [SWS_TS_14213] Upstream: RS_TS_20072 wording not yet imported

constexpr ara::core::ErrorCode MakeErrorCode (TsyncFvmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

Creates an instance of ara::core::ErrorCode.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: c71bc13a8303 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function MakeErrorCode serves to synchronously create an ara::core::ErrorCode object for error cases of the FVM error domain in the namespace apext::tsync [SWS_TS_14213]. It is declared in the header file apext/tsync/fvm_error_domain.h [SWS_TS_14213]. As parameters, it takes an error code code of type TsyncFvmErrc as well as vendor-specific accompanying data data of type ara::core::ErrorDomain::SupportDataType and returns a correspondingly initialized ara::core::ErrorCode object [SWS_TS_14213].

Regarding execution safety, the function is defined as noexcept and exception-safe (\"exception safe\"), which guarantees that calls do not trigger C++ exceptions [SWS_TS_14213]. Furthermore, it is specified as thread-safe (\"thread-safe\") and can be executed concurrently without external synchronization [SWS_TS_14213]. Due to the constexpr signature, the function can presumably also be evaluated in compile-time expressions if the arguments are fixed at compile time [SWS_TS_14213]. Question Q-dbd77b45638ef338 (open)

In the module context, the function forms the counterpart to MakeErrorCode from the standard namespace ara::tsync [SWS_TS_00910]. While the standard function uses ara::tsync::TsyncErrc via the header ara/tsync/tsync_error_domain.h [SWS_TS_00910], this variant enables specific error encapsulation of TsyncFvmErrc for advanced time synchronization functions [SWS_TS_14213].

This usage note was generated automatically based on specification data.

Implementer's Guide to follow (complexity I1)

Header-Datei#include "apext/tsync/fvm_error_domain.h"
Scopenamespace apext::tsync
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
codeThe error to throw.
dataVendor defined data associated with the error.

Rückgabewert

TypBeschreibung
ara::core::ErrorCodeAn ara::core::ErrorCode object.

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

Record
AUTOSAR/AP/record/SWS_TS_14213
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14213@rel:R25-11#544bf7aa
Content hash
544bf7aa
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14213
Status: valid/unmigrated Version: rel:R25-11#791565c2 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_14213@rel:R25-11#791565c2
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#544bf7aa2026-09-30
  • R24-11rel:R24-11#c95efae82026-10-14
  • R25-11rel:R25-11#791565c22026-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