[SWS_TS_01100]Upstream: RS_TS_00030 wording not yet imported
class SynchronizedTimeBaseProvider final {...};
Class SynchronizedTimeBaseProvider is the access to the synchronized timebase referenced by the IntstanceSpecifier. It allows to get the current time_point, the rate deviation, the current status and the received user data
Serves time provider applications for setting, correcting, and validating a synchronized time base on the bus.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 29af5ad2e896ProvenanceOpen questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Serves time provider applications for setting, correcting, and validating a synchronized time base on the bus.
The move-only class ara::tsync::SynchronizedTimeBaseProvider serves time provider applications for injecting, rate correcting, and validating a synchronized time base [SWS_TS_01101][SWS_TS_01110]. Updates can either trigger immediate bus transmissions or be scheduled as a local update for the next transmission cycle [SWS_TS_01107][SWS_TS_01108]. While read accesses are thread-safe, all modifying methods as well as notifier registration require a thread-local or synchronized call [SWS_TS_01109][SWS_TS_01114].
Context
The class ara::tsync::SynchronizedTimeBaseProvider provides time provider applications with active control access to a synchronized time base modeled via a ara::core::InstanceSpecifier[SWS_TS_01101]. In AUTOSAR Adaptive, the instance functions as an interface between the providing application logic, the local time-sync daemon, and the connected communication buses. Via this component, the application injects new time values and user-specific payload data into the system, compensates for drift via rate corrections, and acquires validation parameters [SWS_TS_01107][SWS_TS_01110][SWS_TS_01114].
Context diagram: Integration of SynchronizedTimeBaseProvider between provider application, validation, and bus transmission. Sources: [SWS_TS_01101], [SWS_TS_01107], [SWS_TS_01114]
Lifecycle
Instantiation takes place explicitly via a ara::core::InstanceSpecifier that must reference a PortPrototype that is typed by a SynchronizedTimeBaseProviderInterface[SWS_TS_01101]. The constructor is declared exception-safe and thread-safe [SWS_TS_01101]. An object of the class is an exclusive move-only object: copy constructor and copy assignment operator are explicitly deleted [SWS_TS_01104][SWS_TS_01105], while move construction and move assignment are supported [SWS_TS_01102][SWS_TS_01103].
With respect to concurrency, a strict separation applies: Pure read operations on the status such as GetCurrentTime(), GetRateDeviation(), and GetUserData() are thread-safe and can be executed concurrently [SWS_TS_01109][SWS_TS_01111][SWS_TS_01113]. In contrast, all modifying operations, the registration of notifications, and the destruction of the object via the destructor are not thread-safe and require application-side synchronization [SWS_TS_01106][SWS_TS_01107][SWS_TS_01114].
Usage Path
Typical usage is divided into registration for validation feedback and cyclic or event-driven time transmission:
Register validation: If required, the provider application registers a notification object via RegisterTimeValidationNotification() to receive newly recorded time-synchronization data blocks [SWS_TS_01114]. At most one notification receiver can be active; a new registration overwrites an existing one [SWS_TS_01114], whereas UnregisterTimeValidationNotification() detaches the binding [SWS_TS_01115].
Set time value: In the event of an immediately required distribution, the application calls SetTime(). This sets the local time value and directly initiates transmission on the bus [SWS_TS_01107]. If bus transmission is instead to take place only in the next regular cycle, UpdateTime() is used, whereby the clock is initially updated only locally [SWS_TS_01108].
Correction and payload data: Via SetRateCorrection(), the drift of the local clock can be adjusted by a correction factor (values less than 1.0 slow down the clock, values greater than 1.0 speed it up) [SWS_TS_01110]. Additional user-specific time base data can be updated via SetUserData()[SWS_TS_01112].
Methods with return value ara::core::Result<void> signal failures via error codes of type TsyncErrc without rollback semantics:
TsyncErrc::kInvalidUserDataSize: Occurs for SetTime(), UpdateTime(), and SetUserData() if the passed UserData exceed the maximum length of UserData::kMaxUserDataSize (currently 3 bytes) [SWS_TS_01107][SWS_TS_01108][SWS_TS_01112].
TsyncErrc::kDaemonConnectionLost: Occurs for SetTime() if the IPC connection to the time-sync daemon is interrupted at the time of invocation [SWS_TS_01107].
TsyncErrc::kLimitsExceeded: Is returned by SetRateCorrection() if the requested rate correction factor is outside the permissible value range [SWS_TS_01110].
TsyncErrc::kFunctionNotSupported: Is reported by SetRateCorrection() if the underlying platform or time base does not support rate correction [SWS_TS_01110].
This guide is based on the specification AUTOSAR Adaptive Platform R25-11 (module tsync) and was created for autodocs.
Method that can be used by time provider applications to receive time sync parameters. A maximum of one notifier can be registered. Every further registration overwrites the current registration.
A method that can be used to set a new time value for the clock. The clock value is only updated locally, transmission on the bus will happen in the next cycle.
Method that can be used by time provider applications to receive time sync parameters. A maximum of one notifier can be registered. Every further registration overwrites the current registration.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 89b44278d606Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The method RegisterTimeValidationNotification is part of the class ara::tsync::SynchronizedTimeBaseProvider and is included via the header #include "ara/tsync/synchronized_time_base_provider.h"[SWS_TS_01114]. It serves time provider applications to receive time synchronization parameters [SWS_TS_01114]. Via the parameter timeBaseValidationNotification, a reference to a notification object of type ProviderTimeBaseValidationNotification is passed, which is informed as soon as a new data block is available for the time base [SWS_TS_01114]. The method provides no return value (void) [SWS_TS_01114].
Error handling
The method is declared as noexcept and possesses the property exception safe[SWS_TS_01114]. It throws no exceptions and returns no error codes [SWS_TS_01114].
Concurrency and Limitations
The following restrictions must be observed during use:
Registration limit: At most one notifier can be registered; each further registration overwrites the current registration [SWS_TS_01114].
Thread safety: The function is specified as non_threadsafe[SWS_TS_01114]. Calls to the same instance must be synchronized on the application side in the event of concurrent access.
Interaction
While this function implements registration on the time master (provider) side [SWS_TS_01114], the class ara::tsync::SynchronizedTimeBaseConsumer with RegisterTimeValidationNotification and the type ConsumerTimeBaseValidationNotification represents the functional pendant for time consumers [SWS_TS_01016].
This usage note was generated automatically based on the AUTOSAR specification.
🚫Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
Date
Actor
Transition
Reason / Rationale
Campaign
2026-08-13
tool
none → valid/unmigrated
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
2026-08-13-status-backfill
function SetRateCorrection [SWS_TS_01110]Upstream: RS_TS_00029 wording not yet imported, RS_TS_00026 wording not yet imported, RS_TS_00018 wording not yet imported
Rate correction factor applied to the local clock value. A factor smaller than 1.0 slows down the local clock by that factor, a value greater than 1.0 speeds up the clock.
🚫Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
Date
Actor
Transition
Reason / Rationale
Campaign
2026-08-13
tool
none → valid/unmigrated
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
2026-08-13-status-backfill
function SetUserData [SWS_TS_01112]Upstream: RS_TS_00029 wording not yet imported, RS_TS_00026 wording not yet imported, RS_TS_00015 wording not yet imported
PortInterfaceMap- A PortPrototype that is referenced by a pingViolation TimeSyncPortPrototypeToTimeBaseMapping needs to be typed by a SynchronizedTimeBaseProviderInterface.
Parameter (in)
Parameter
Beschreibung
specifier
InstanceSpecifier to an PortPrototype of a PortPrototype typed by a SynchronizedTimeBaseProviderInterface
Request a governed re-review of this record. The record is not changed immediately.
Method that can be used by time provider applications to receive time sync parameters.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 4be2caa7a1a0ProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
The method UnregisterTimeValidationNotification of class ara::tsync::SynchronizedTimeBaseProvider is provided via the header file ara/tsync/synchronized_time_base_provider.h[SWS_TS_01115]. It serves time provider applications in the context of time synchronization and the receipt of time synchronization parameters [SWS_TS_01115]; judging by its identifier, its purpose is likely to unregister a previously registered notification for time validation. Question Q-49ba26b4b16dd5c7 (open)
With regard to call context and semantics, the following requirements apply:
Signature and return: The function takes no parameters and has no return value (void) [SWS_TS_01115].
Error handling: The operation is declared as noexcept and specified as exception-safe (exception safe) [SWS_TS_01115]. Error codes or notifications to DET or DEM are not provided for this interface.
Concurrency: The function is explicitly classified as non_threadsafe[SWS_TS_01115]. Concurrent calls on the same instance of SynchronizedTimeBaseProvider must therefore be synchronized by the caller.
In the interaction within the time synchronization architecture, a direct counterpart exists for time receivers (time consumer applications) in the class ara::tsync::SynchronizedTimeBaseConsumer (defined in ara/tsync/synchronized_time_base_consumer.h), which exhibits identical properties regarding thread safety and exception safety [SWS_TS_01017].
This usage note was generated automatically and is based exclusively on specification R25-11.
🚫Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
Date
Actor
Transition
Reason / Rationale
Campaign
2026-08-13
tool
none → valid/unmigrated
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
2026-08-13-status-backfill
function UpdateTime [SWS_TS_01108]Upstream: RS_TS_00010 wording not yet imported, RS_TS_00011 wording not yet imported, RS_TS_00029 wording not yet imported, RS_TS_00026 wording not yet imported, RS_TS_00009 wording not yet imported
A method that can be used to set a new time value for the clock. The clock value is only updated locally, transmission on the bus will happen in the next cycle.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: a90a9a9d69eeProvenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The method UpdateTime from the header ara/tsync/synchronized_time_base_provider.h belongs to the class ara::tsync::SynchronizedTimeBaseProvider[SWS_TS_01108]. It serves to define a new time value for the clock. The method accepts the point in time to be set timePoint with the template parameter Duration as well as user-defined application data userData[SWS_TS_01108]. The clock value is updated locally immediately; transmission over the bus only occurs in the subsequent cycle [SWS_TS_01108].
Error handling
The call is declared with noexcept and returns a ara::core::Result<void>[SWS_TS_01108]. If the length of the passed userData exceeds the maximum allowable size, which is currently limited to 3 bytes by UserData::kMaxUserDataSize, the operation fails [SWS_TS_01108]. In this case, the result object returns the error code TsyncErrc::kInvalidUserDataSize, whereby no rollback semantics (no_rollback_semantics) are provided for the error case [SWS_TS_01108].
Concurrency and Limitations
For integration, it must be noted that UpdateTime is specified as non-thread-safe (non_threadsafe) [SWS_TS_01108]. If instances of SynchronizedTimeBaseProvider are used in concurrent execution contexts, the calling code must ensure appropriate synchronization. However, the function guarantees exception safety (exception safe) [SWS_TS_01108].
This text was generated by an AI based on the specification.
gemini-3.8-flash-low· 2026-10-13 · German original