DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_SWArchitecture FIG-44188359ee6145f9 533 × 571 px 1 Release(s)

Figure 11.13: Scenario: Receive Notification

SHA-256 Inhalts-Fingerabdruck: 44188359ee6145f93241d0de7f935876b2c326b75f21d179fbe29bb0053d24b1
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08

1. Diagrammtyp & Architektur-Kontext

  • Diagrammtyp: UML 2.x Sequenzdiagramm (Interaktionsdiagramm) mit kombiniertem Fragment (alt).
  • Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Release R23-11, Functional Cluster Time Synchronization (ara::ts).
  • Technischer Zweck: Spezifikation des ereignisgesteuerten Benachrichtigungsmechanismus (Observer-/Callback-Muster) zwischen einer Adaptive Application (Consumer) und dem Time Synchronization Slave Functional Cluster bei Statusänderungen, Zeitsprüngen (Leap Jumps) oder aktualisierten Anwenderdaten (User Data) einer synchronisierten Zeitbasis.

2. Komponenten, Entitäten & Schnittstellen

  • Akteure / Lebenslinien:
    • Consumer: Adaptive Application: Anwendungsinstanz/Prozess im POSIX-Anwendungsraum der Adaptive Platform, die auf Ereignisse einer Zeitbasis reagiert.
    • «aapFunctionalCluster» Slave: Time Synchronization: Lokale Instanz des Functional Clusters für Zeitsynchronisation im Slave-Modus, zuständig für den Empfang von Zeitnachrichten, lokale Drift-/Offset-Kompensation und Statusverwaltung.
    • «aapFunctionalCluster» Master: Time Synchronization: Zeitgebende Instanz (lokal oder netzwerkweit über Ethernet/gPTP nach IEEE 802.1AS bzw. Generic Time Synchronization).
  • Stereotypen:
    • «aapFunctionalCluster»: Kennzeichnet standardisierte funktionale Plattform-Cluster der AUTOSAR Adaptive Platform Architecture.
    • «aapInformative»: Kennzeichnet Interaktionen bzw. interne Methodenaufrufe mit rein informatorischem/erläuterndem Charakter ohne normative Implementierungsverpflichtung.
  • Schnittstellen / Methoden:
    • RegisterStatusChangeNotifier(): Synchrone Registrierungsmethode der API (Consumer → Slave), um Callbacks für Statusflag-Änderungen zu abonnieren.
    • sync(): Asynchrone/ereignisbasierte Synchronisationsnachricht bzw. PTP-Ereignis (Master → Slave), welche Zeittelegramme übermittelt.
    • «aapInformative» handleSynchronizationStatus() / «aapInformative» handleLeapJump() / «aapInformative» handleUserDataChanged(): Interne Verarbeitungsroutinen des Slaves, explizit als informativ gekennzeichnet.
    • InvokeStatusFlagNotifier(): Synchroner Callback-Aufruf (Slave → Consumer) zur Übermittlung des geänderten Statusflags.
    • UnregisterStatusChangeNotifier(): Synchrone Deregistrierungsmethode zur Freigabe des Callback-Handles.

3. Dynamisches Verhalten & Sequenzablauf

  1. Initialisierung & Registrierung:
    • Der Consumer ruft synchron RegisterStatusChangeNotifier() am Time Synchronization Slave auf. Die Aktivierung am Slave bestätigt die erfolgreiche Registrierung des Notifiers.
  2. Netzwerk-Trigger:
    • Der Time Synchronization Master sendet eine sync()-Interaktion (z. B. PTP Sync / Follow_Up Frame) an den Slave.
  3. Bedingte interne Auswertung (alt-Fragment):
    • Abhängig vom Inhalt des Telegramms und internem Tracking triggert der Slave genau einen der drei Guard-Pfade:
      • [Synchronization status changed]: Aufruf von handleSynchronizationStatus() bei Änderung des Sync-Zustands (z. B. Wechsel von kSynchronized auf kSyncLoss oder Timeout).
      • [Leap Jump]: Aufruf von handleLeapJump() bei Überschreitung des konfigurierten Schwellenwerts für sprunghafte Zeitkorrekturen.
      • [User Data Changed]: Aufruf von handleUserDataChanged() bei Änderung der im Zeittelegramm eingebetteten nutzerspezifischen Zusatzdaten (z. B. TLVs).
  4. Ereignis-Notification (Callback):
    • Nach Durchlauf der internen Behandlung feuert der Slave InvokeStatusFlagNotifier() auf der Lebenslinie der Adaptive Application. Die Ausführung erfolgt synchron im Kontext des Notifier-Handlers.
  5. Deregistrierung:
    • Bei Beendigung oder Wegfall des Überwachungsbedarfs ruft der Consumer synchron UnregisterStatusChangeNotifier() auf, um Callbacks zu stoppen und Ressourcen freizugeben.

4. Normative Relevanz & Entwickler-Hinweise

  • Normative Einstufung: Erläuterndes Sequenzdiagramm aus EXP_SWArchitecture. Durch die explizite Hinzufügung des Stereotyps «aapInformative» an den internen Selbstaufrufen handleSynchronizationStatus(), handleLeapJump() und handleUserDataChanged() wird klargestellt, dass deren Ausführung rein exemplarisch ist und keine normative Vorgabe für die interne Slave-Architektur darstellt. Verbindlich normiert sind weiterhin die Methoden RegisterStatusChangeNotifier(), UnregisterStatusChangeNotifier() und das Callback-Verhalten von InvokeStatusFlagNotifier() gemäß SWS Time Synchronization (ara::ts).
  • Entwickler- & Integrationshinweise:
    • Vorbedingung für den Benachrichtigungsempfang bleibt der synchrone Aufruf von RegisterStatusChangeNotifier().
    • Da die internen Handler explizit als «aapInformative» markiert sind, steht Plattform-Implementierern die genaue interne Kapselung der Statusevaluierung frei.
    • Der anwendungsseitige Handler für InvokeStatusFlagNotifier() darf nicht blockieren.
    • Vor dem Beenden der Applikation ist UnregisterStatusChangeNotifier() aufzurufen.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R24-11 → R25-11 keine inhaltliche Änderung Vorgänger: FIG-5a41b5809293c9fb

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Consumer: Adaptive | Application | «aapFunctionalCluster» | Slave: Time Synchronization | alt | [Synchronization status changed] | [Leap Jump] | [User Data Changed] | «aapFunctionalCluster» | Master: Time Synchronization | «aapInformative» handleUserDataChanged() | «aapInformative» handleSynchronizationStatus() | InvokeStatusFlagNotifier() | RegisterStatusChangeNotifier() | «aapInformative» handleLeapJump() | sync() | UnregisterStatusChangeNotifier()

Begleitender Spezifikationstext:

Explanation of Adaptive Platform Software Architecture AUTOSAR AP R25-11 11.2.2.2.2 Receive Notification 11.2.2.2.2.1 Scenario: Receive Notification Consumer: Adaptive Application «aapFunctionalCluster» Slave: Time Synchronization alt [Synchronization status changed] [Leap Jump] [User Data Changed] «aapFunctionalCluster» Master: Time Synchronization «aapInformative» handleUserDataChanged() «aapInformative» handleSynchronizationStatus() InvokeStatusFlagNotifier() RegisterStatusChangeNotifier() «aapInformative» handleLeapJump() sync() UnregisterStatusChangeNotifier() Figure 11.13: Scenario: Receive Notification Figure 11.13 shows the default scenario for Receive Notification. A notifier must be registered with the Time Synchronization Slave by calling RegisterStatusChangeNotifier() as a precondition for Adaptive Application to be able to receive a notification. The Time Synchronization Slave has the current time available thanks to the synchronization from the Time Synchronization Master. Then, one of 3 cases can occur: 1. The synchronization status changed in Time Synchronization Slave. 2. A leap jump was detected. 3. The user data associated with the time base changed. After the occurrence one of these 3 cases, the Time Synchronization Slave informs the Adaptive Application about the change by invoking the call-back function. If the Adaptive Application no longer wants to receive notifications it may unregister by calling the method UnregisterStatusChangeNotifier(). 226 of 26

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_EXP_SWArchitecture S. 226 11.13 Figure 11.13: Scenario: Receive Notification