Benachrichtigt Consumer-Anwendungen über neu verfügbare Messdatenblöcke zur Validierung einer Zeitbasis.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c02e36846f4fHerkunftOffene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Benachrichtigt Consumer-Anwendungen über neu verfügbare Messdatenblöcke zur Validierung einer Zeitbasis.
Die Schnittstelle ara::tsync::ConsumerTimeBaseValidationNotification informiert Consumer-Anwendungen über neu verfügbare Messdatenblöcke einer Zeitbasis. Über die Callback-Methoden SetSlaveTimingData[SWS_TS_00420] und SetPdelayInitiatorData[SWS_TS_00422] übergibt das System detaillierte Timing- und Validierungsdaten für den Time Slave sowie den pDelay-Initiator. Anwendungsentwickler leiten von der Klasse ab, implementieren die Datenverarbeitung und müssen sicherstellen, dass keine Ausnahmen geworfen werden, da alle Methoden als noexcept und ausnahmesicher spezifiziert sind. Zudem erfordert die Einstufung als non_threadsafe eine anwendungsseitige Synchronisation bei nebenläufigen Zugriffen.
Kontext
Die Klasse ara::tsync::ConsumerTimeBaseValidationNotification stellt eine Callback-Schnittstelle im Modul tsync der AUTOSAR Adaptive Platform dar. Ihr Zweck besteht darin, eine Consumer-Anwendung darüber zu informieren, sobald neue aufgezeichnete Datenblöcke für eine überwachte Zeitbasis verfügbar sind.
An dieser Interaktion sind im Wesentlichen drei Komponenten beteiligt:
Zeitbasis des Moduls tsync: Erfasst kontinuierlich Zeit- und Synchronisationsmessungen im Kommunikationsnetzwerk.
Schnittstelle ConsumerTimeBaseValidationNotification: Definiert die Übergabepunkte für aufgezeichnete Messdatenblöcke über die Methoden SetSlaveTimingData[SWS_TS_00420] und SetPdelayInitiatorData[SWS_TS_00422].
Consumer-Anwendung: Implementiert die Callback-Methoden, übernimmt die bereitgestellten Messwerte und führt die fachliche Validierung der Zeitbasis durch.
Durch diese Struktur wird die anwendungsspezifische Validierungslogik sauber von der plattforminternen Aufzeichnung der Zeitdaten entkoppelt.
Lebenszyklus
Als abstrakte Schnittstellenklasse mit rein virtuellen Methoden kann ara::tsync::ConsumerTimeBaseValidationNotification nicht direkt instanziiert werden. Eine Consumer-Anwendung leitet eine konkrete Klasse ab und implementiert die erforderlichen Methoden.
Die Erzeugung und das Besitzverhältnis liegen vollständig in der Verantwortung der Consumer-Anwendung. Vermutlich erzeugt die Anwendung das Callback-Objekt während ihrer Initialisierungsphase und verknüpft es mit der entsprechenden Zeitbasis des tsync-Dienstes. Frage Q-a423ce4cbd4eeaaa (offen)
Für die Zerstörung stellt die Klasse einen virtuellen Destruktor bereit: virtual ~ConsumerTimeBaseValidationNotification() noexcept = default;[SWS_TS_01300]. Die Deklaration als virtueller Destruktor stellt sicher, dass Instanzen abgeleiteter Klassen über Basisklassenzeiger typsicher und ohne Ressourcenlecks freigegeben werden können.
Hinsichtlich der Nebenläufigkeit sind die Benachrichtigungsmethoden SetSlaveTimingData[SWS_TS_00420] und SetPdelayInitiatorData[SWS_TS_00422] als non_threadsafe spezifiziert. Dürfte der Aufruf durch den Plattformdienst im Kontext eines Hintergrund-Threads erfolgen, ist die anwendungsseitige Implementierung selbst dafür verantwortlich, Zugriffe auf geteilte Anwendungsressourcen abzusichern. Frage Q-1b857df043504eec (offen)
Nutzungspfad
Der typische Ablauf zur Nutzung der Validierungsbenachrichtigung umfasst die folgenden Schritte:
Implementierung: Die Consumer-Anwendung implementiert eine von ara::tsync::ConsumerTimeBaseValidationNotification abgeleitete Klasse.
Empfang von Time-Slave-Messdaten: Sobald für den Time Slave der Zeitbasis ein neuer Messdatenblock aufgezeichnet wurde, ruft der Zeitdienst die Methode SetSlaveTimingData auf [SWS_TS_00420] und übergibt die detaillierten Validierungsdaten über den Parameter measurementData vom Typ TimeSlaveMeasurementType.
Empfang von pDelay-Initiator-Messdaten: Stehen für den pDelay-Initiator neue Messdaten zur Verfügung, erfolgt der Aufruf von SetPdelayInitiatorData[SWS_TS_00422] mit den detaillierten Timing-Daten in PdelayInitiatorMeasurementType.
Verarbeitung: Die Consumer-Anwendung wertet die übermittelten Datenblöcke aus, um Synchronisationsfehler oder Laufzeitabweichungen zu erkennen.
Objektfreigabe: Bei Beendigung der Überwachung wird die Instanz über den virtuellen Destruktor abgebaut [SWS_TS_01300].
Sequenzdiagramm: Übermittlung erfasster Messdatenblöcke für Time Slave und pDelay-Initiator an die Consumer-Implementierung. Quellen: [SWS_TS_00420], [SWS_TS_00422].
Fehlerszenarien
Die Schnittstellenmethoden sind auf maximale Robustheit und deterministische Aufrufe ausgelegt:
Ausnahmesicherheit: Sämtliche Elementfunktionen – SetSlaveTimingData[SWS_TS_00420], SetPdelayInitiatorData[SWS_TS_00422] und der Destruktor [SWS_TS_01300] – sind mit noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert. Die überschreibenden Methoden in der Consumer-Anwendung dürfen keine Ausnahmen nach außen propagieren, da dies zur sofortigen Programmterminierung führt.
Fehlende Rückmeldekanäle: Da die Callback-Methoden den Rückgabetyp void besitzen, können Verarbeitungsfehler innerhalb der Anwendungslogik nicht an das tsync-Modul zurückgemeldet werden. Die Anwendung muss etwaige Fehlerzustände eigenständig intern behandeln und protokollieren.
Nebenläufigkeitsrisiken: Aufgrund der Eigenschaft non_threadsafe ([SWS_TS_00420], [SWS_TS_00422]) muss verhindert werden, dass mehrere Datenblöcke ohne anwendungsseitige Verriegelung parallel verarbeitet werden. Interpretation: Das Callback-Objekt muss zudem während der gesamten Registrierungsdauer an der Zeitbasis gültig bleiben, um fatale Zugriffe auf bereits freigegebenen Speicher zu verhindern. Frage Q-934e451f6a0099c1 (offen)
Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive R25-11 für das Modul tsync. Erläuterungen ohne explizite Spezifikationsbelege stellen fachliche Interpretationen dar.
🚫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 ~ConsumerTimeBaseValidationNotification [SWS_TS_01300]Upstream: RS_TS_00034 Wortlaut noch nicht übernommen, RS_TS_00030 Wortlaut noch nicht übernommen
gemini-3.8-flash-medium· 2026-10-13