AUTOSAR_AP_SWS_TimeSynchronization
FIG-521a019af486f704
638 × 424 px
1 Release(s)
Figure 5.2: Interfaces required by Time Synchronization from other Functional Clusters
SHA-256 Inhalts-Fingerabdruck:
521a019af486f70428842c47b824344b19f591c8210dc10239ffa9df1a5cf013
✦
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-Komponenten- und Schnittstellendiagramm (Statisches Architektur- und Abhängigkeitsmodell der AUTOSAR Adaptive Platform).
- Architektur-Kontext: Spezifiziert die externen Abhängigkeiten (Required Interfaces) des Functional Clusters
Time Synchronization(AP Release R24-11, SWS TimeSynchronization, Kapitel 5.2). - Funktionale Einordnung: Dargestellt ist eine daemon-basierte Implementierung (
daemon-based). Der Time-Synchronization-Daemon fungiert als Service-Consumer und stützt sich auf Basisfunktionalitäten des Betriebssystems (Low-Level-Netzwerkzugriff für PTP/gPTP) sowie der Nachbar-ClusterLog and Trace(Plattform-Diagnose),Persistency(nichtflüchtige Speicherung von Zeit-Offsets und Parametern) undCryptography(kryptografische Authentifizierung und Absicherung von PTP-Paketen über den CryptoStack).
2. Komponenten, Entitäten & Schnittstellen
Komponenten (Consumer & Provider)
«aapFunctionalCluster» Time Synchronization(Consumer):- Eigenschaft:
daemon-based(Ausführung als autonomer Hintergrund-Prozess/Daemon im Plattform-Kontext).
- Eigenschaft:
Operating System(Provider):- Plattform-Betriebssystem (POSIX/Kernel-Ebene), das native Socket- und Netzwerk-Treiberressourcen bereitstellt.
«aapFunctionalCluster» Log and Trace(Provider):- Adaptiver Funktionscluster für standardisiertes Logging (
ara::log).
- Adaptiver Funktionscluster für standardisiertes Logging (
«aapFunctionalCluster» Persistency(Provider):- Adaptiver Funktionscluster für strukturierte Datenpersistierung (
ara::per).
- Adaptiver Funktionscluster für strukturierte Datenpersistierung (
«aapFunctionalCluster» Cryptography(Provider):- Eigenschaft:
daemon-based. Adaptiver Funktionscluster zur Bereitstellung kryptografischer Primitiven und Sicherheitsdienste (ara::crypto).
- Eigenschaft:
Schnittstellen & Realisierungen (Mittelebene)
«aapInternal» Raw Socket API:- Typ: OS-interne Low-Level-Schnittstelle.
- Zweck: Direkter Layer-2-/Ethernet-Frame-Zugriff ohne Protokoll-Overhead zur Übertragung von PTP-/IEEE-802.1AS-Paketen sowie Abruf von Hardware-Timestamps (
SO_TIMESTAMPING). - Realisierungsbeziehung: Wird vom
Operating Systemüber Interface-Realisierung implementiert.
«aapAPI, aapNativeInterface» Logger:- Typ: C++ Native API (
ara::log). - Methoden:
+ IsEnabled(): bool+ Log(MsgId, Params)+ LogDebug(): LogStream,+ LogError(): LogStream,+ LogFatal(): LogStream,+ LogInfo(): LogStream,+ LogVerbose(): LogStream,+ LogWarn(): LogStream,+ WithLevel(): LogStream
- Realisierungsbeziehung: Realisiert durch
«aapFunctionalCluster» Log and Trace.
- Typ: C++ Native API (
«aapAPI, aapPortInterface» KeyValueStorage:- Typ: Port-basiertes C++ API (
ara::per). - Methoden:
+ DiscardPendingChanges(),+ GetAllKeys(),+ GetCurrentValueSize(),+ GetValue(),+ KeyExists(),+ RecoverKey(),+ RemoveAllKeys(),+ RemoveKey(),+ ResetKey(),+ SetValue(),+ SyncToStorage()
- Realisierungsbeziehung: Realisiert durch
«aapFunctionalCluster» Persistency.
- Typ: Port-basiertes C++ API (
«aapAPI, aapNativeInterface» CryptoStack:- Typ: Nativer Schnittstellen-Stack (
ara::crypto). - Zweck: Bereitstellung von Krypto-Operationen (z. B. Signatur-/MAC-Prüfung und -Erzeugung für PTP Security TLVs nach IEEE 802.1AS).
- Realisierungsbeziehung: Realisiert durch
«aapFunctionalCluster» Cryptography.
- Typ: Nativer Schnittstellen-Stack (
Abhängigkeitsbeziehungen
Time SynchronizationnutztRaw Socket API,LoggerundCryptoStacküber gerichtete UML-Nutzungsabhängigkeiten («use»).- Der Zugriff auf
KeyValueStorageerfolgt über eine als Port modellierte Nutzungsabhängigkeit («use»,«aapRequiredPort»).
3. Dynamisches Verhalten & Sequenzablauf
Aus dem statischen Schnittstellenvertrag leiten sich für den Time-Sync-Daemon folgende Interaktionsphasen ab:
- Initialisierungs- & Bootstrapping-Phase:
- Persistenzabruf: Abfrage bestehender Konfigurationen, initialer Offsets oder zuletzt gespeicherter Zeitstempel via
KeyExists()undGetValue(). Vorab-Größenprüfung mittelsGetCurrentValueSize(). - Krypto-Initialisierung: Initialisierung von Schlüsselkontexten und Krypto-Providern über
CryptoStackzur Vorbereitung abgesicherter PTP-Kommunikation. - Socket-Bind: Initialisierung der Ethernet-Interfaces über
Raw Socket API, Binden an den PTP-Port (Ethertype0x88F7bzw. UDP-Ports 319/320) und Aktivierung der Hardware-RX/TX-Timestamping-Flags im Kernel. - Status-Logging: Ausgabe des Initialisierungsstatus via
LogInfo().
- Persistenzabruf: Abfrage bestehender Konfigurationen, initialer Offsets oder zuletzt gespeicherter Zeitstempel via
- Zyklische Synchronisationsphase (PTP / IEEE 802.1AS & SecPTP):
- Paketverarbeitung: Senden und Empfangen zeitkritischer Sync-, Follow_Up-, Pdelay_Req- und Pdelay_Resp-Nachrichten über die
Raw Socket API. - Kryptografische Absicherung: Authentifizierung eingehender PTP-Nachrichten (Prüfung von MACs/Signaturen) und Signieren ausgehender Zeitnachrichten über
CryptoStack. - Jitter-/Fehlerbehandlung: Protokollierung von Synchronisationsverlusten, Authentifizierungsfehlern oder Drift-Überschreitungen über
LogWarn()bzw.LogError().
- Paketverarbeitung: Senden und Empfangen zeitkritischer Sync-, Follow_Up-, Pdelay_Req- und Pdelay_Resp-Nachrichten über die
- Persistierungs- & Shutdown-Phase:
- Sichern akkumulierter Werte: Aktualisierung persistenter Zeitbasen (z. B. relative Clock-Drift oder Epoch-Daten) via
SetValue(). - Flushing: Atomares Commit der geänderten Schlüssel auf den Festspeicher mittels
SyncToStorage().
- Sichern akkumulierter Werte: Aktualisierung persistenter Zeitbasen (z. B. relative Clock-Drift oder Epoch-Daten) via
4. Normative Relevanz & Entwickler-Hinweise
- OS-Privilegien & POSIX-Capabilities: Da
Raw Socket APIals«aapInternal»deklariert ist, erfordert der Daemon erhöhte Betriebssystem-Rechte (unter Linux/POSIX typischerweiseCAP_NET_RAWfür Raw Sockets undCAP_SYS_TIMEfür Clock-Disziplinierung viaclock_adjtime/clock_settime). - Latenz- und Jitter-Entkopplung:
SyncToStorage()blockiert I/O und darf keinesfalls im zeitsynchronen Callback-Pfad der PTP-Paketverarbeitung aufgerufen werden; Persistierungsoperationen müssen asynchron oder in dedizierten Hintergrund-Threads erfolgen.- Kryptografische Berechnungen über
CryptoStackdürfen den Hardware-Timestamping- und Sende-/Empfangspfad zeitlich nicht unzulässig verzögern. - Logging via
LogStreamin der PTP-Hotpath-Schleife ist strikt überIsEnabled()abzufragen, um Jitter durch String-Formatierung und IPC-Queues zu vermeiden.
- Manifest-Konfiguration & Port-Modellierung:
- Der Zugriff auf
KeyValueStorageist explizit als«aapRequiredPort»modelliert und erfordert ein entsprechendes Port-Interface-Design im Execution Manifest / Service Instance Manifest. - Für
LoggerundCryptoStacksind native C++ Bindings (ara::log,ara::crypto) im Manifest zu konfigurieren.
- Der Zugriff auf
- Architekturprinzip: Time Synchronization umgeht für den PTP-Transport bewusst die Service-Orientierte Kommunikation (
ara::com), um Sub-Mikrosekunden-Latenz und deterministisches Hardware-Timestamping auf Schicht 2 zu gewährleisten.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.