[SWS_TS_01100]Upstream: RS_TS_00030 libellé pas encore importé
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
Sert aux applications fournisseurs de temps pour définir, corriger et valider une base de temps synchronisée sur le bus.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 29af5ad2e896ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Sert aux applications fournisseurs de temps pour définir, corriger et valider une base de temps synchronisée sur le bus.
La classe déplaçable uniquement ara::tsync::SynchronizedTimeBaseProvider sert aux applications fournisseurs de temps pour l'injection, la correction de dérive et la validation d'une base de temps synchronisée [SWS_TS_01101][SWS_TS_01110]. Les actualisations peuvent soit déclencher des transmissions immédiates sur le bus, soit être planifiées en tant que mise à jour locale pour le prochain cycle de transmission [SWS_TS_01107][SWS_TS_01108]. Alors que les accès en lecture sont sûrs vis-à-vis des threads, toutes les méthodes modificatrices ainsi que l'enregistrement de notificateurs nécessitent un appel local au thread ou synchronisé [SWS_TS_01109][SWS_TS_01114].
Contexte
La classe ara::tsync::SynchronizedTimeBaseProvider fournit aux applications fournisseurs de temps l'accès de contrôle actif à une base de temps synchronisée, modélisée via un ara::core::InstanceSpecifier[SWS_TS_01101]. Dans AUTOSAR Adaptive, l'instance fait office d'interface entre la logique applicative fournisseuse, le démon local de Time-Sync et les bus de communication raccordés. Par le biais de ce composant, l'application injecte de nouvelles valeurs de temps et des données utiles spécifiques à l'utilisateur dans le système, compense les dérives par des corrections de taux et acquiert des paramètres de validation [SWS_TS_01107][SWS_TS_01110][SWS_TS_01114].
Diagramme de contexte : intégration du SynchronizedTimeBaseProvider entre l'application fournisseur, la validation et la transmission sur le bus. Sources : [SWS_TS_01101], [SWS_TS_01107], [SWS_TS_01114]
Cycle de vie
L'instanciation s'effectue explicitement via un ara::core::InstanceSpecifier, qui doit référencer un PortPrototype typé par un SynchronizedTimeBaseProviderInterface[SWS_TS_01101]. Le constructeur est déclaré sûr vis-à-vis des exceptions et des threads [SWS_TS_01101]. Un objet de la classe est un objet exclusif déplaçable uniquement : le constructeur de copie et l'opérateur d'affectation par copie sont explicitement supprimés [SWS_TS_01104][SWS_TS_01105], tandis que la construction par déplacement et l'affectation par déplacement sont prises en charge [SWS_TS_01102][SWS_TS_01103].
Concernant la concurrence, une séparation stricte s'applique : les opérations de pure lecture sur l'état telles que GetCurrentTime(), GetRateDeviation() et GetUserData() sont sûres vis-à-vis des threads et peuvent être exécutées de manière concurrente [SWS_TS_01109][SWS_TS_01111][SWS_TS_01113]. En revanche, toutes les opérations modificatrices, l'enregistrement de notifications ainsi que la destruction de l'objet via le destructeur ne sont pas sûrs vis-à-vis des threads et requièrent une synchronisation côté application [SWS_TS_01106][SWS_TS_01107][SWS_TS_01114].
Parcours d'utilisation
L'utilisation typique s'articule entre l'enregistrement pour les retours de validation et la transmission temporelle cyclique ou pilotée par événements :
Enregistrer la validation : si nécessaire, l'application fournisseur enregistre via RegisterTimeValidationNotification() un objet de notification afin de recevoir de nouveaux blocs de données de synchronisation temporelle enregistrés [SWS_TS_01114]. Au maximum un récepteur de notifications peut être actif ; un nouvel enregistrement écrase un enregistrement existant [SWS_TS_01114], tandis que UnregisterTimeValidationNotification() supprime la liaison [SWS_TS_01115].
Définir la valeur temporelle : en cas de distribution immédiatement requise, l'application appelle SetTime(). Cela définit la valeur temporelle locale et déclenche immédiatement la transmission sur le bus [SWS_TS_01107]. Si la transmission sur le bus ne doit avoir lieu qu'au prochain cycle régulier, UpdateTime() est utilisé, ce qui met d'abord à jour l'horloge uniquement au niveau local [SWS_TS_01108].
Correction et données utiles : via SetRateCorrection(), la dérive de l'horloge locale peut être ajustée par un facteur de correction (des valeurs inférieures à 1.0 ralentissent l'horloge, des valeurs supérieures à 1.0 l'accélèrent) [SWS_TS_01110]. Des données de base de temps supplémentaires spécifiques à l'utilisateur peuvent être mises à jour via SetUserData()[SWS_TS_01112].
Diagramme de séquence : déroulement de l'enregistrement du notificateur et de l'actualisation temporelle avec chemins de transmission sur le bus alternatifs. Sources : [SWS_TS_01107], [SWS_TS_01108], [SWS_TS_01114]
Scénarios d'erreur
Les méthodes avec valeur de retour ara::core::Result<void> signalent les échecs via des codes d'erreur du type TsyncErrc sans sémantique de rollback :
TsyncErrc::kInvalidUserDataSize : survient lors de SetTime(), UpdateTime() et SetUserData() lorsque les UserData transmis dépassent la longueur maximale de UserData::kMaxUserDataSize (actuellement 3 octets) [SWS_TS_01107][SWS_TS_01108][SWS_TS_01112].
TsyncErrc::kDaemonConnectionLost : survient lors de SetTime() si la connexion IPC avec le démon de Time-Sync est interrompue au moment de l'appel [SWS_TS_01107].
TsyncErrc::kLimitsExceeded : est renvoyé par SetRateCorrection() lorsque le facteur de correction de taux demandé se situe en dehors de la plage de valeurs autorisée [SWS_TS_01110].
TsyncErrc::kFunctionNotSupported : est signalé par SetRateCorrection() lorsque la plateforme sous-jacente ou la base de temps ne prend pas en charge la correction de taux [SWS_TS_01110].
Ce guide repose sur la spécification AUTOSAR Adaptive Platform R25-11 (module tsync) et a été rédigé pour 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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 89b44278d606Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La méthode RegisterTimeValidationNotification fait partie de la classe ara::tsync::SynchronizedTimeBaseProvider et est incluse via l'en-tête #include "ara/tsync/synchronized_time_base_provider.h"[SWS_TS_01114]. Elle sert aux applications fournisseuses de temps pour recevoir des paramètres de synchronisation temporelle [SWS_TS_01114]. Via le paramètre timeBaseValidationNotification, une référence vers un objet de notification de type ProviderTimeBaseValidationNotification est transmise, lequel est informé dès qu'un nouveau bloc de données est disponible pour la base de temps [SWS_TS_01114]. La méthode ne renvoie aucune valeur de retour (void) [SWS_TS_01114].
Gestion des erreurs
La méthode est déclarée comme noexcept et possède la propriété exception safe[SWS_TS_01114]. Elle ne lève aucune exception et ne renvoie aucun code d'erreur [SWS_TS_01114].
Concurrence et restrictions
Lors de l'utilisation, les restrictions suivantes doivent être respectées :
Limite d'enregistrement : Au maximum un notifieur peut être enregistré ; tout enregistrement supplémentaire écrase l'enregistrement actuel [SWS_TS_01114].
Sécurité des threads : La fonction est spécifiée comme non_threadsafe[SWS_TS_01114]. Les appels sur la même instance en cas d'accès parallèle doivent être synchronisés côté application.
Interaction
Tandis que cette fonction implémente l'enregistrement du côté du fournisseur d'horloge (Provider) [SWS_TS_01114], la classe ara::tsync::SynchronizedTimeBaseConsumer avec RegisterTimeValidationNotification et le type ConsumerTimeBaseValidationNotification constitue le pendant fonctionnel pour les consommateurs de temps (Consumer) [SWS_TS_01016].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.
🚫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
fonction SetRateCorrection [SWS_TS_01110]Upstream: RS_TS_00029 libellé pas encore importé, RS_TS_00026 libellé pas encore importé, RS_TS_00018 libellé pas encore importé
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
fonction SetUserData [SWS_TS_01112]Upstream: RS_TS_00029 libellé pas encore importé, RS_TS_00026 libellé pas encore importé, RS_TS_00015 libellé pas encore importé
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4be2caa7a1a0ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode UnregisterTimeValidationNotification de la classe ara::tsync::SynchronizedTimeBaseProvider est fournie via le fichier d'en-tête ara/tsync/synchronized_time_base_provider.h[SWS_TS_01115]. Elle sert aux applications fournisseuses de temps (Time Provider Applications) dans le contexte de la synchronisation temporelle et de la réception de paramètres de synchronisation temporelle [SWS_TS_01115] ; d'après l'identifiant, son but devrait être la désinscription d'une notification de validation temporelle précédemment enregistrée. Question Q-49ba26b4b16dd5c7 (ouverte)
Concernant le contexte d'appel et la sémantique, les exigences suivantes s'appliquent :
Signature et retour : La fonction ne prend aucun paramètre et ne possède aucune valeur de retour (void) [SWS_TS_01115].
Traitement des erreurs : L'opération est déclarée comme noexcept et spécifiée comme sûre face aux exceptions (exception safe) [SWS_TS_01115]. Aucun code d'erreur ni notification à DET ou DEM n'est prévu pour cette interface.
Concurrence : La fonction est explicitement classée comme non_threadsafe[SWS_TS_01115]. Les appels parallèles sur la même instance de SynchronizedTimeBaseProvider doivent donc être synchronisés par l'appelant.
Dans l'interaction de l'architecture de synchronisation temporelle, il existe pour les récepteurs de temps (Time Consumer Applications) un pendant direct dans la classe ara::tsync::SynchronizedTimeBaseConsumer (définie dans ara/tsync/synchronized_time_base_consumer.h), qui présente des propriétés identiques en matière de sécurité des threads et de sécurité face aux exceptions [SWS_TS_01017].
Cette note d'utilisation a été créée automatiquement et repose exclusivement sur la spécification 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
fonction UpdateTime [SWS_TS_01108]Upstream: RS_TS_00010 libellé pas encore importé, RS_TS_00011 libellé pas encore importé, RS_TS_00029 libellé pas encore importé, RS_TS_00026 libellé pas encore importé, RS_TS_00009 libellé pas encore importé
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a90a9a9d69eeProvenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La méthode UpdateTime de l'en-tête ara/tsync/synchronized_time_base_provider.h appartient à la classe ara::tsync::SynchronizedTimeBaseProvider[SWS_TS_01108]. Elle sert à définir une nouvelle valeur temporelle pour l'horloge. La méthode reçoit le point temporel à définir timePoint avec le paramètre de modèle Duration ainsi que des données d'application personnalisées userData[SWS_TS_01108]. La valeur de l'horloge est alors immédiatement mise à jour localement ; la transmission sur le bus n'a lieu qu'au cycle suivant [SWS_TS_01108].
Gestion des erreurs
L'appel est déclaré avec noexcept et renvoie un ara::core::Result<void>[SWS_TS_01108]. Si la longueur de userData transmise dépasse la taille maximale autorisée, actuellement limitée à 3 octets par UserData::kMaxUserDataSize, l'opération échoue [SWS_TS_01108]. Dans ce cas, l'objet de résultat fournit le code d'erreur TsyncErrc::kInvalidUserDataSize, aucune sémantique de retour arrière (no_rollback_semantics) n'étant prévue en cas d'erreur [SWS_TS_01108].
Concurrence et restrictions
Pour l'intégration, il convient de noter que UpdateTime est spécifié comme non sûr pour les threads (non_threadsafe) [SWS_TS_01108]. Si des instances de SynchronizedTimeBaseProvider sont utilisées dans des contextes d'exécution concurrents, le code appelant doit veiller à une synchronisation appropriée. La fonction garantit toutefois la sécurité face aux exceptions (exception safe) [SWS_TS_01108].
Ce texte a été rédigé par une IA sur la base de la spécification.
gemini-3.8-flash-low· 2026-10-13 · Original allemand