DEENESPTFRRUARHIKOZHNL

class apext::tsync::FVM

[SWS_TS_14197] Upstream: RS_TS_20072 Wortlaut noch nicht übernommen

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

User GuideKI-GENERIERT

Liefert Frischewerte zur Authentifizierung gesendeter und empfangener Nachrichten der Zeitsynchronisation.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 88e47d85a572 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Liefert Frischewerte zur Authentifizierung gesendeter und empfangener Nachrichten der Zeitsynchronisation.

Die Klasse apext::tsync::FVM dient als Schnittstelle des Moduls zur Bereitstellung von Frischewerten für gesicherte Zeitsynchronisationsnachrichten [SWS_TS_14199]. Vor der operativen Nutzung muss die Instanz initialisiert werden, woraufhin Frischewerte für das Senden sowie für das Verifizieren empfangener Nachrichten bezogen werden können [SWS_TS_14200]. Beim Empfang werden abgeschnittene Frischewerte zusammen mit einem Fehlversuchszähler übergeben, um den vollständigen Wert zur Authentifikatorprüfung zu rekonstruieren. Alle Schnittstellenmethoden sind als ausnahmesicher und threadsicher spezifiziert.

Kontext

Die Klasse apext::tsync::FVM stellt eine Schnittstelle für das Freshness Value Management innerhalb des Moduls tsync der AUTOSAR Adaptive Platform dar. Ihre primäre Verantwortung besteht darin, aktuelle Frischewerte (Freshness Values) für den Zeitsynchronisationsdienst ara::tsync bereitzustellen, damit Nachrichten gegen Replay- und Spoofing-Angriffe kryptografisch abgesichert werden können [SWS_TS_14198], [SWS_TS_14199].

Als zentraler Interaktionspartner fungiert die TimeSync-Funktionalität, welche die FVM aufruft, um für ausgehende sowie empfangene gesicherte Nachrichten Frischewert-Container (apext::tsync::FVContainer) abzurufen [SWS_TS_14198], [SWS_TS_14199]. Die Klassendeklaration wird über die Header-Datei #include "apext/tsync/fvm.h" eingebunden. Sämtliche spezifizierten Methoden sind als threadsicher und ausnahmesicher (noexcept) deklariert, sodass Aufrufe parallel aus verschiedenen Ausführungskontexten der Zeitsynchronisation stattfinden können [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200].

Lebenszyklus

Der funktionale Lebenszyklus einer FVM-Instanz gliedert sich in eine explizite Initialisierungsphase und die anschließende operative Betriebsphase:

  • Initialisierung: Vor der Verwendung von Abfragefunktionen muss die Methode Initialize() aufgerufen werden [SWS_TS_14200]. Bei erfolgreichem Abschluss liefert sie ein leeres ara::core::Result<void> zurück. Misslingt die Initialisierung, gibt sie den Fehlercode TsyncFvmErrc::kFVInitializeFailed mit Rollback-Semantik zurück [SWS_TS_14200].
  • Betriebszustand: Eine erfolgreiche Initialisierung dürfte die notwendige Voraussetzung dafür sein, dass nachfolgende Anfragen nach Frischewerten valide Ergebnisse liefern. Frage Q-df4ee3e749313b94 (offen) Nach erfolgter Initialisierung verbleibt die Instanz im Betriebszustand und beantwortet Anfragen für konfigurierte Frischewert-IDs.
  • Nebenläufigkeit: Da alle Methoden als thread-safe gekennzeichnet sind, können Zugriffe auf Frischewerte für das Senden und Empfangen ohne externe Sperrmechanismen nebenläufig erfolgen [SWS_TS_14198], [SWS_TS_14199].

Nutzungspfad

Die typische Aufrufreihenfolge durch die TimeSync-Komponente umfasst die Initialisierung sowie die kontinuierliche Ermittlung von Frischewerten für den Sende- und Empfangspfad:

  1. Initialisierung des Dienstes: TimeSync führt beim Start die Methode Initialize() aus und überprüft das zurückgegebene ara::core::Result auf Fehlerfreiheit [SWS_TS_14200].
  2. Senden gesicherter Nachrichten: Vor dem Versenden einer Nachricht ruft TimeSync GetTxFreshness() mit der jeweiligen FreshnessValueID auf [SWS_TS_14199]. Das erhaltene FVContainer-Objekt liefert den Frischewert, der für die Berechnung des Authentifikators verwendet wird [SWS_TS_14199].
  3. Empfangen gesicherter Nachrichten: Beim Eingang einer Nachricht ruft TimeSync GetRxFreshness() auf und übergibt die FreshnessValueID, den in der Nachricht enthaltenen gekürzten Wert TruncatedFreshnessValue sowie die Zahl der bisherigen Authentifizierungsversuche AuthVerifyAttempts [SWS_TS_14198]. Die FVM ermittelt daraus den vollständigen Frischewert zur Verifikation des Authentifikators [SWS_TS_14198].
Initialisierung und Frischewert-Ermittlung in TimeSyncTimeSyncFVMUse Case: InitialisierungInitialize()ara::core::Result<void>Use Case: Senden einer NachrichtGetTxFreshness(FreshnessValueID)ara::core::Result<FVContainer>Use Case: Empfang einer NachrichtGetRxFreshness(FreshnessValueID, TruncatedFreshnessValue, AuthVerifyAttempts)ara::core::Result<FVContainer>

Sequenzdiagramm: Typische Abfolge von Initialisierung und Abruf der Sende- und Empfangs-Frischewerte durch TimeSync. Quellen: [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200]

Fehlerszenarien

Alle Schnittstellenmethoden signalisieren Fehler über ara::core::Result und sind mit noexcept spezifiziert [SWS_TS_14198], [SWS_TS_14199], [SWS_TS_14200]. Folgende Fehlerzustände und Vorbedingungen sind relevant:

  • Fehlgeschlagene Initialisierung (TsyncFvmErrc::kFVInitializeFailed): Tritt auf, wenn die FVM nicht initialisiert werden kann [SWS_TS_14200]. Dank Rollback-Semantik verbleibt das System im uninitialisierten, definierten Ausgangszustand.
  • Nicht verfügbarer Frischewert (TsyncFvmErrc::kFVNotAvailable): Wird von GetTxFreshness() oder GetRxFreshness() zurückgegeben, wenn für die angeforderte ID kein Frischewert bereitsteht [SWS_TS_14198], [SWS_TS_14199]. Die Operationen verändern bei einem Fehler ihren Zustand nicht (Rollback-Semantik).
  • Wiederholte Verifikationsversuche bei Empfang: Der Parameter AuthVerifyAttempts startet bei 0 und wird bei jedem fehlgeschlagenen Authentifizierungsversuch inkrementiert [SWS_TS_14198]. Das Inkrementieren dürfte der FVM dazu dienen, ein internes Akzeptanzfenster schrittweise anzupassen, um zeitlich leicht verschobene Frischewerte zu tolerieren. Frage Q-8f151c47d2607f90 (offen)

Dieser Leitfaden basiert ausschließlich auf den Spezifikationsanforderungen von AUTOSAR R25-11 für das Modul tsync und wurde automatisiert erstellt.

Mitgliederkarte

Klassendiagramm

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

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

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 function

Initializes FVM

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

Dokumentation der Methoden

function GetRxFreshness [SWS_TS_14198] Upstream: RS_TS_20072 Wortlaut noch nicht übernommen

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 37f7da507510 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Schnittstelle GetRxFreshness der Klasse apext::tsync::FVM (definiert in apext/tsync/fvm.h) dient TimeSync dazu, den aktuellen Frischewert für eingehende Nachrichten zu ermitteln [SWS_TS_14198].

Der Aufruf erfordert drei Parameter [SWS_TS_14198]:

  • FreshnessValueID: Numerischer Identifikator des Frischewerts (std::uint16_t) [SWS_TS_14198].
  • TruncatedFreshnessValue: Der Container (apext::tsync::FVContainer) mit den abgeschnittenen Frischewerten aus der empfangenen gesicherten Nachricht [SWS_TS_14198].
  • AuthVerifyAttempts: Zähler der Authentifizierungsversuche für diese Nachricht seit deren letztem Empfang; der Wert beginnt bei 0 für den ersten Versuch und wird bei jedem fehlgeschlagenen Verifizierungsversuch inkrementiert [SWS_TS_14198].

Die Funktion gibt ein ara::core::Result<FVContainer> zurück [SWS_TS_14198]. Dieses enthält im Erfolgsfall einen apext::tsync::FVContainer mit dem vollständigen Frischewert, der für die nachfolgende Berechnung des Authentifikators durch TimeSync benötigt wird [SWS_TS_14198]. Ist der Frischewert nicht verfügbar, wird ein behebbarer Fehler mit dem Fehlercode TsyncFvmErrc::kFVNotAvailable und Rollback-Semantik zurückgemeldet [SWS_TS_14198].

Die Signatur ist mit noexcept deklariert; die Implementierung ist als ausnahmesicher (exception safe) und threadsicher (thread-safe) spezifiziert [SWS_TS_14198].

Dieser Text wurde durch eine KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Implementer's Guide folgt (Komplexität 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#cbec70a4
Content hash
cbec70a4
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

function GetTxFreshness [SWS_TS_14199] Upstream: RS_TS_20072 Wortlaut noch nicht übernommen

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9a44eddcc1b0 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion GetTxFreshness ist als Schnittstelle der Klasse apext::tsync::FVM im Header apext/tsync/fvm.h definiert ([SWS_TS_14199]). Sie wird von der TimeSync-Komponente aufgerufen, um den aktuellen Frischewert für gesendete Nachrichten abzufragen. Dieser Frischewert wird von TimeSync zwingend benötigt, um den kryptografischen Authentifikator für ausgehende Übertragungen zu berechnen.

Beim Aufruf wird der Bezeichner des Frischewerts über den Parameter FreshnessValueID vom Typ std::uint16_t übergeben ([SWS_TS_14199]). Als Rückgabewert liefert die Schnittstelle synchron ein Objekt vom Typ ara::core::Result<FVContainer> zurück. Im Erfolgsfall kapselt der Rückgabetyp eine Instanz von apext::tsync::FVContainer, welche den konkreten Frischewert enthält.

Steht der benötigte Frischewert zum Abfragezeitpunkt nicht bereit, schlägt die Operation mit einem behebbaren Fehler (recoverable error) fehl ([SWS_TS_14199]). Die Funktion liefert in diesem Szenario den Fehlercode TsyncFvmErrc::kFVNotAvailable zurück, wobei das System eine definierte Rollback-Semantik einhält.

Hinsichtlich Nebenläufigkeit und Fehlertoleranz ist GetTxFreshness als thread-safe sowie exception safe spezifiziert und mit noexcept annotiert ([SWS_TS_14199]). Die Funktion kann folglich ohne externe Mutex-Absicherung aus parallelen Threads aufgerufen werden, ohne dass Vorkehrungen gegen synchrone C++-Exceptions erforderlich sind.

Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR-Spezifikationen erstellt.

Implementer's Guide folgt (Komplexität 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#a86e7a3f
Content hash
a86e7a3f
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

function Initialize [SWS_TS_14200] Upstream: RS_TS_20072 Wortlaut noch nicht übernommen

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

Initializes FVM

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e3e4199a5145 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Funktion Initialize im Namensraum apext::tsync::FVM dient der Initialisierung des Freshness Value Managers (FVM) gemäß [SWS_TS_14200]. Die Schnittstelle wird über die Header-Datei apext/tsync/fvm.h zur Verfügung gestellt und weist die Signatur ara::core::Result<void> Initialize() noexcept; auf. Der Aufruf erfolgt synchron und ohne Übergabeparameter. Im Erfolgsfall wird ein ara::core::Result mit dem leeren Rückgabetyp void bereitgestellt.

Fehlerbehandlung

Tritt bei der Ausführung ein Problem auf, liefert die Funktion den spezifischen Fehlercode TsyncFvmErrc::kFVInitializeFailed innerhalb des Ergebnisobjekts zurück [SWS_TS_14200]. Die Spezifikation sieht hierbei eine Rollback-Semantik vor, sodass im Fehlerfall keine inkonsistenten Zwischenzustände verbleiben dürften. Frage Q-0d3c1a8f45444579 (offen)

Nebenläufigkeit und Einschränkungen

Für den Aufrufkontext ist die Funktion explizit als thread-safe sowie als exception safe eingestuft [SWS_TS_14200]. Aufgrund des Bezeichners noexcept werden garantiertermaßen keine C++-Ausnahmen nach außen weitergegeben. Interpretation: Vermutlich muss dieser Initialisierungsschritt erfolgreich durchlaufen worden sein, bevor andere funktionale Methoden der FVM-Komponente aufgerufen werden können. Frage Q-ba44afb55d21ac38 (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR R25-11 generiert.

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#55c36e33
Content hash
55c36e33
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