Levert een consistente tijd- en status-snapshot van een gesynchroniseerde tijdbasis op voor evaluatie.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: fbf296ab413aHerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Levert een consistente tijd- en status-snapshot van een gesynchroniseerde tijdbasis op voor evaluatie.
De klasse ara::tsync::SynchronizedTimeBaseStatus kapselt een onveranderlijke snapshot van een gesynchroniseerde tijdbasis in op het tijdstip van aanmaken. Deze stelt methoden beschikbaar om lokale en gesynchroniseerde aanmaaktijdstempels, de synchronisatietoestand evenals statusvlaggen voor frequentiecorrectie en gebruikersspecifieke payload thread-safe uit te lezen [SWS_TS_01053]. Indien de tijdbasis sinds de systeemstart nog niet werd gesynchroniseerd, levert het opvragen van de gesynchroniseerde tijd een lege optionele waarde op [SWS_TS_01055]. Omdat de standaardconstructor is verwijderd, wordt het object typisch door de tijdbasis aangemaakt en per waardesemantiek aan de applicatie overgedragen.
Context
De klasse ara::tsync::SynchronizedTimeBaseStatus representeert een onveranderlijke momentopname (snapshot) van een tijdstip inclusief alle bijbehorende statussen van een gesynchroniseerde tijdbasis. In gedistribueerde automobielsystemen dient deze voor de temporele ontkoppeling tussen de dynamisch vorderende tijdbasis en de evaluerende applicatie: in plaats van vluchtige statussen direct op de lopende tijdbasis op te vragen, ontvangt de applicatie een inherent consistent beeld van de tijd- en statusinformatie op het tijdstip van aanmaken van het object. De klasse voegt daarbij tijdwaarden van de lokale monoklok en van de gesynchroniseerde tijd samen en koppelt deze aan de synchronisatietoestand [SWS_TS_01053], statusvlaggen voor frequentiecorrectie en applicatiespecifieke payload die van de Time Master van de tijdbasis is ontvangen [SWS_TS_01056]. Als voorname interactiepartners treden zodoende de leverende tijdbasis van de module tsync en de consumerende applicatie op.
Levenscyclus
De levenscyclus van een instantie van SynchronizedTimeBaseStatus is ontworpen voor het behoud van de snapshot-consistentie:
Aanmaken: De standaardconstructor is verwijderd ([SWS_TS_01061]). Applicaties kunnen statusobjecten zodoende niet instantiëren; het aanmaken vindt vermoedelijk uitsluitend intern plaats door de desbetreffende tijdbasis van het platform. Vraag Q-ed50a9c63b8e2481 (open)
Eigendom en overdracht: Om de snapshot per waardesemantiek aan applicaties te retourneren, biedt de klasse een noexcept-kopieerconstructor ([SWS_TS_01058]). Voor bronefficiënte eigendomsoverdrachten bestaan er bovendien een move-constructor ([SWS_TS_01057]) en bijbehorende kopieer- en move-toewijzingsoperators ([SWS_TS_01060], [SWS_TS_01059]). De ontvangende applicatie neemt het volledige eigendom van het object over.
Vernietiging: De destructor is gespecificeerd als standaarddestructor met noexcept ([SWS_TS_01062]) en geeft resources deterministisch vrij.
Gelijktijdigheid: Alle lezende methoden voor statusbevraging zijn gedefinieerd als thread-safe en uitzonderingsveilig (exception safe) ([SWS_TS_14176], [SWS_TS_01055]). Meerdere threads kunnen dezelfde snapshot zodoende gelijktijdig en zonder aanvullende synchronisatie evalueren. Enkel de toewijzings- en constructieoperaties zijn non_threadsafe ([SWS_TS_01057], [SWS_TS_01058]).
Gebruikspad
Zodra een applicatie een instantie van SynchronizedTimeBaseStatus van de tijdbasis heeft ontvangen ([SWS_TS_01058]), vindt de evaluatie typisch plaats volgens een vastgelegde volgorde:
Eerst controleert de applicatie de gesynchroniseerde aanmaaktijd middels GetCreationTime() ([SWS_TS_01055]). Was de tijdbasis sinds de systeemstart nog nooit gesynchroniseerd, dan levert de aanroep een lege ara::core::Optional op. In dat geval kan de applicatie via GetCreationLocalTime() ([SWS_TS_14176]) uitwijken naar het tijdstip van aanmaken gerelateerd aan de lokale monoklok (ara::core::SteadyClock).
In gesynchroniseerde toestand bepaalt de applicatie via GetSynchronizationStatus() ([SWS_TS_01053]) de exacte synchronisatiefase en controleert met GetLeapJump() ([SWS_TS_01054]) of en in welke richting er sinds de voorafgaande snapshot-aanmaak een tijdsprong is opgetreden. Vervolgens wordt gecontroleerd of er een frequentiecorrectie wordt berekend (GetRateCorrected(), [SWS_TS_14226]) en of de berekende frequentieafwijking de drempelwaarde rateCorrectionThreshold overschrijdt (GetRateExceeded(), [SWS_TS_14229]). Ten slotte kunnen via GetUserData() ([SWS_TS_01056]) door de Time Master verzonden nuttige gegevens worden opgevraagd.
De interface van SynchronizedTimeBaseStatus is volledig als noexcept gedeclareerd en genereert geen C++-excepties. Ongeldige toestanden of fouten worden via semantische retourtypen gesignaleerd:
Een ontbrekende synchronisatiereferentie wordt weergegeven door een lege ara::core::Optional bij GetCreationTime(), wanneer de tijdbasis sinds systeemstart de status kNotSynchronizedUntilStartup vertoont ([SWS_TS_01055]). Drempelwaardeschendingen bij de frequentiebijregeling meldt GetRateExceeded() via de booleaanse waarde in ara::core::Result<bool> ([SWS_TS_14229]). Gestandaardiseerde foutcodes zijn voor GetRateCorrected() ([SWS_TS_14226]) en GetRateExceeded() ([SWS_TS_14229]) niet gespecificeerd; interpretatie: een in het Result getransporteerde fouttoestand duidt vermoedelijk op interne platform- of stuurprogrammaproblemen. Vraag (open)
Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive R25-11 (module tsync) en werd samengesteld door een AI-curatie-assistent.
SynchronizedTimeBaseStatus & operator= (const SynchronizedTimeBase Status &) noexcept; DIRECTION NOT const SynchronizedTime -- DEFINED BaseStatus &SWS_TS_01060
Documentatie van de methoden
functie GetCreationLocalTime [SWS_TS_14176]Upstream: RS_TS_00021 tekst nog niet geïmporteerd
The point in time at which this object was created. Time point is expressed in synchronized time. If time was never synchronized (SynchronizationStatus = kNotSynchronizedUntilStartup), the returned optional is empty (i.e., no valid value).
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel