AUTOSAR_AP_EXP_SWArchitecture
FIG-5a41b5809293c9fb
533 × 571 px
1 Release(s)
Figure 11.14: Scenario: Receive Notification
SHA-256 Inhalts-Fingerabdruck:
5a41b5809293c9fb8f2537481b7e2f291f55cf0f121951b5d0772da8b6773524
✦
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
- Initialisierung & Registrierung:
- Der Consumer ruft synchron
RegisterStatusChangeNotifier()am Time Synchronization Slave auf. Die Aktivierung am Slave bestätigt die erfolgreiche Registrierung des Notifiers.
- Der Consumer ruft synchron
- Netzwerk-Trigger:
- Der Time Synchronization Master sendet eine
sync()-Interaktion (z. B. PTP Sync / Follow_Up Frame) an den Slave.
- Der Time Synchronization Master sendet eine
- 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 vonhandleSynchronizationStatus()bei Änderung des Sync-Zustands (z. B. Wechsel vonkSynchronizedaufkSyncLossoder Timeout).[Leap Jump]: Aufruf vonhandleLeapJump()bei Überschreitung des konfigurierten Schwellenwerts für sprunghafte Zeitkorrekturen.[User Data Changed]: Aufruf vonhandleUserDataChanged()bei Änderung der im Zeittelegramm eingebetteten nutzerspezifischen Zusatzdaten (z. B. TLVs).
- Abhängig vom Inhalt des Telegramms und internem Tracking triggert der Slave genau einen der drei Guard-Pfade:
- 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.
- Nach Durchlauf der internen Behandlung feuert der Slave
- Deregistrierung:
- Bei Beendigung oder Wegfall des Überwachungsbedarfs ruft der Consumer synchron
UnregisterStatusChangeNotifier()auf, um Callbacks zu stoppen und Ressourcen freizugeben.
- Bei Beendigung oder Wegfall des Überwachungsbedarfs ruft der Consumer synchron
4. Normative Relevanz & Entwickler-Hinweise
- Normative Einstufung: Erläuterndes Sequenzdiagramm aus
EXP_SWArchitecture. Durch die explizite Hinzufügung des Stereotyps«aapInformative»an den internen SelbstaufrufenhandleSynchronizationStatus(),handleLeapJump()undhandleUserDataChanged()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 MethodenRegisterStatusChangeNotifier(),UnregisterStatusChangeNotifier()und das Callback-Verhalten vonInvokeStatusFlagNotifier()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.
- Vorbedingung für den Benachrichtigungsempfang bleibt der synchrone Aufruf von
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.