DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_TimeSynchronization FIG-ef43968e88dd94c5 839 × 424 px 1 Release(s)

Figure 5.2: Interfaces required by Time Synchronization from other Functional Clusters

SHA-256 Inhalts-Fingerabdruck: ef43968e88dd94c51377d0929ddfe1db37b7e267f8db5fc70a6dd469536fd0c1
✦ 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 R25-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-Cluster Execution Management (Prozess- und Zustandsverwaltung), Log and Trace (Plattform-Diagnose), Persistency (nichtflüchtige Speicherung) und Cryptography (kryptografische Authentifizierung von PTP-Paketen).

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).
  • 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).
  • «aapFunctionalCluster» Execution Management (Provider):
    • Eigenschaft: daemon-based. Adaptiver Funktionscluster zur Prozesssteuerung und Lebenszyklusverwaltung (ara::exec).
  • «aapFunctionalCluster» Persistency (Provider):
    • Adaptiver Funktionscluster für strukturierte Datenpersistierung (ara::per).
  • «aapFunctionalCluster» Cryptography (Provider):
    • Eigenschaft: daemon-based. Adaptiver Funktionscluster zur Bereitstellung kryptografischer Primitiven und Sicherheitsdienste (ara::crypto).
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.
  • «aapAPI, aapNativeInterface» ExecutionClient:
    • Typ: C++ Native API (ara::exec).
    • Methoden:
      • + Create() (statische Factory-Methode)
      • + ReportExecutionState(ExecutionState)
    • Realisierungsbeziehung: Realisiert durch «aapFunctionalCluster» Execution Management.
  • «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.
  • «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.
Abhängigkeitsbeziehungen
  • Time Synchronization nutzt Raw Socket API, Logger, ExecutionClient und CryptoStack über gerichtete UML-Nutzungsabhängigkeiten («use»).
  • Der Zugriff auf KeyValueStorage erfolgt ü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:

  1. Initialisierungs- & Bootstrapping-Phase:
    • Instanziierung ExecutionClient: Erzeugung des Clients via statischer Methode ExecutionClient::Create().
    • Persistenzabruf: Abfrage bestehender Konfigurationen, initialer Offsets oder zuletzt gespeicherter Zeitstempel via KeyExists() und GetValue(). Vorab-Größenprüfung mittels GetCurrentValueSize().
    • Krypto-Initialisierung: Initialisierung von Schlüsselkontexten und Krypto-Providern über CryptoStack.
    • Socket-Bind: Initialisierung der Ethernet-Interfaces über Raw Socket API, Binden an den PTP-Port (Ethertype 0x88F7 bzw. UDP-Ports 319/320) und Aktivierung der Hardware-Timestamping-Flags.
    • Zustandsmeldung: Nach erfolgreicher Initialisierung meldet der Daemon seine Betriebsbereitschaft an Execution Management mittels ReportExecutionState(ExecutionState::kRunning).
    • Status-Logging: Ausgabe des Status via LogInfo().
  2. 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 und Signieren ausgehender Zeitnachrichten über CryptoStack.
    • Jitter-/Fehlerbehandlung: Protokollierung von Synchronisationsverlusten, Authentifizierungsfehlern oder Drift-Überschreitungen über LogWarn() bzw. LogError().
  3. Persistierungs- & Shutdown-Phase:
    • Terminierungs-Meldung: Bei Shutdown-Signalisierung Meldung an Execution Management über ReportExecutionState(ExecutionState::kTerminating).
    • Sichern akkumulierter Werte: Aktualisierung persistenter Zeitbasen via SetValue().
    • Flushing: Atomares Commit der geänderten Schlüssel auf den Festspeicher mittels SyncToStorage().

4. Normative Relevanz & Entwickler-Hinweise

  • Lebenszyklus-Steuerung (Execution Management):
    • Die Anbindung an ExecutionClient («aapNativeInterface») ist für den Daemon zwingend erforderlich, um den Hochlaufprozess gegenüber Execution Management zu bestätigen (ReportExecutionState). Bleibt die Meldung kRunning innerhalb des konfigurierten Startup-Timeouts aus, greift das Recovery- bzw. Watchdog-Verhalten des Execution Managements.
  • OS-Privilegien & POSIX-Capabilities: Da Raw Socket API als «aapInternal» deklariert ist, erfordert der Daemon erhöhte Betriebssystem-Rechte (CAP_NET_RAW für Raw Sockets und CAP_SYS_TIME für Clock-Disziplinierung via clock_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 CryptoStack dürfen den Hardware-Timestamping- und Sende-/Empfangspfad zeitlich nicht unzulässig verzögern.
    • Logging via LogStream in der PTP-Hotpath-Schleife ist strikt über IsEnabled() abzufragen, um Jitter durch String-Formatierung und IPC-Queues zu vermeiden.
  • Manifest-Konfiguration & Port-Modellierung:
    • Der Zugriff auf KeyValueStorage ist explizit als «aapRequiredPort» modelliert und erfordert ein entsprechendes Port-Interface-Design im Execution Manifest / Service Instance Manifest.
    • Für ExecutionClient, Logger und CryptoStack sind native C++ Bindings (ara::exec, ara::log, ara::crypto) im Manifest zu konfigurieren.
  • 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.

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

R24-11 → R25-11 normative Änderung Vorgänger: FIG-521a019af486f704
  • Komponente Execution Management («aapFunctionalCluster»): Neu hinzugefügter Plattform-Funktionscluster mit Eigenschaft daemon-based; implementiert die Schnittstelle ExecutionClient via Interface-Realisierung.
  • Schnittstelle ExecutionClient («aapAPI,aapNativeInterface»): Neue Schnittstelle mit den Operationen + Create() und + ReportExecutionState(ExecutionState).
  • Abhängigkeit ExecutionClient: Neue gerichtete «use»-Abhängigkeit von Time Synchronization auf ExecutionClient.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Operating | System | «aapInternal» Raw Socket API | «aapFunctionalCluster» | Time Synchronization daemon-based | «aapAPI,aapNativeInterf... | Logger | + IsEnabled(): bool + Log(MsgId, Params) + LogDebug(): LogStream + LogError(): LogStream + LogFatal(): LogStream + LogInfo(): LogStream + LogVerbose(): LogStream + LogWarn(): LogStream + WithLevel(): LogStream | «aapAPI,aapPortInterface» | KeyValueStorage | + DiscardPendingChanges() + GetAllKeys() + GetCurrentValueSize() + GetValue() + KeyExists() + RecoverKey() + RemoveAllKeys() + RemoveKey() + ResetKey() + SetValue() + SyncToStorage() | «aapFunctionalClust... | Persistency «aapFunctionalClust... | Log and Trace | «aapAPI,aapNativ... | CryptoStack | «aapFunction... | Cryptography daemon-based | «aapAPI,aapNativeInterface» | ExecutionClient | + Create() + ReportExecutionState(ExecutionState) | «aapFunctionalCluster» Execution Management daemon-based | «use» «use» «use» «use» «use» «aapRequiredPort»

Begleitender Spezifikationstext:

Specification of Time Synchronization AUTOSAR AP R25-11 Interface Functional Cluster Purpose Intrusion Detection System Manager Adaptive Intrusion Detection System Manager shall use this interface to determine timestamps of security events. Log and Trace Log and Trace shall use this interface to determine the timestamps that are associated with log messages. Raw Data Stream This interface is used to determine the current synchronized global time for IEEE1722-based communication. Update and Configuration Management Update and Configuration Management shall use this interface to get latest timestamp. SynchronizedTime BaseConsumer Vehicle Update and Configuration Management Vehicle Update and Configuration Management shall use this interface to get latest timestamp. Table 5.1: Interfaces provided to other Functional Clusters 5.2 Required Interfaces This section provides an overview of the public interfaces required by this functional cluster from other functional clusters. Operating System «aapInternal» Raw Socket API «aapFunctionalCluster» Time Synchronization daemon-based «aapAPI,aapNativeInterf... Logger + IsEnabled(): bool + Log(MsgId, Params) + LogDebug(): LogStream + LogError(): LogStream + LogFatal(): LogStream + LogInfo(): LogStream + LogVerbose(): LogStream + LogWarn(): LogStream + WithLevel(): LogStream «aapAPI,aapPortInterface» KeyValueStorage + DiscardPendingChanges() + GetAllKeys() + GetCurrentValueSize() + GetValue() + KeyExists() + RecoverKey() + RemoveAllKeys() +

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_SWS_TimeSynchronization S. 17 5.2 Figure 5.2: Interfaces required by Time Synchronization from other Functional Clusters