AUTOSAR_AP_EXP_PlatformDesign
FIG-b1da200f226fa2c6
932 × 442 px
3 Release(s)
Figure 16.1: Overview Log and Trace
SHA-256 Inhalts-Fingerabdruck:
b1da200f226fa2c696fe7bd24499c8cefc15c19c2238f2fd6a871640612ba306
✦
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
- Klassifikation: Komponenten- und Interaktionsdiagramm (funktionales Architektur-Schichtenmodell der AUTOSAR Adaptive Platform).
- Technischer Zweck: Spezifiziert die Systemarchitektur des Functional Clusters Logging and Tracing (
ara::loggemäßAUTOSAR_SWS_LogAndTrace) in der Adaptive Platform (Dokument:AUTOSAR_EXP_PlatformDesign, Kapitel 16). - Funktionale Einordnung: Definiert die Entkopplung zwischen loggenden POSIX-Applikationsprozessen bzw. Plattform-Clustern (
ara::tsync), der standardisierten Schnittstellenschicht (Logging APIs), dem systemweiten Vermittlungs-Daemon (Log and Trace backend) und der externen Test-/Diagnoseumgebung (DLT Client) über das DLT-Übertragungsprotokoll.
2. Komponenten, Entitäten & Schnittstellen
Adaptive Application: POSIX-Applikationsprozesse im User Space. Fungieren als Erzeuger von Trace- und Log-Ereignissen.ara::tsync: Plattform-Cluster für Zeitsynchronisation (ara::tsyncgemäßAUTOSAR_SWS_TimeSynchronization). Bindet an dieLogging APIsan (z. B. zur Protokollierung von Synchronisationsereignissen bzw. Bereitstellung synchronisierter Zeitbasen für Log-Einträge).Logging APIs / Logging and Tracing Functional Cluster [SWS]: Normierte C++-Schnittstellenschicht (ara::log::Logger,ara::log::LogStream). Übernimmt Prozess-lokales Filtern, Formatieren (Verbose/Non-Verbose) und Kontext-Management (AppId,CtxId).Log and Trace backend DLT: Plattform-Daemon (z. B.dlt-daemon), der Log-Meldungen prozessübergreifend aggregiert, temporär im Ringpuffer hält, filtert und serialisiert.DLT Client: Off-Board-Diagnose- und Entwicklungswerkzeug (z. B. DLT Viewer) zur Analyse und Filterung von Trace-Daten.- Schnittstellen & Beziehungen:
Adaptive Application→Logging APIs/ara::tsync→Logging APIs: Direkte C++-In-Process-API-Aufrufe (unidirektional, synchroner Aufruf aus Sicht der emittierenden Task).Logging APIs↔Log and Trace backend: Lokale IPC-Verbindung (bidirektional; Messages fließen ins Backend, Konfigurationsänderungen wie Log-Level-Updates fließen zurück in die Client-Bibliothek).Log and Trace backend→DLT Client: Externe physikalische Verbindung (Ethernet/Serial) über das standardisierteLT Protocol(Diagnostic Log and Trace Protocol gemäßAUTOSAR_PRS_LogAndTraceProtocol/ DLT-Standard).
3. Dynamisches Verhalten & Sequenzablauf
- Log-Generierung & Filterung (Fast Path):
- API-Aufruf: Applikation instanziiert Kontext und triggert Loglevel-Methoden (
LogFatal(),LogError(),LogWarn(),LogInfo(),LogDebug(),LogVerbose()). - Early-Discard-Filter: Die lokale
ara::log-Instanz prüft das aktuelle Schwellwert-Level des Kontextes atomar. Liegt das Level unter dem Schwellwert, bricht der Aufruf sofort ohne String-Serialisierung oder Puffer-Zuweisung ab. - IPC-Dispatch (Asynchron): Bei aktivem Loglevel wird der Datensatz serialisiert und nicht-blockierend (z. B. via Lock-free Ringbuffer / UNIX Domain Socket) an das
Log and Trace backendübergeben.
- API-Aufruf: Applikation instanziiert Kontext und triggert Loglevel-Methoden (
- Backend-Distribution & Off-Board-Transport:
- Pufferung & Paketierung: Der Backend-Daemon empfängt die Rohdaten, versieht sie mit DLT-Standard-Headern (Timestamp, Session-ID, Message-Counter, App-ID, Ctx-ID) und puffert sie.
- Streaming via
LT Protocol: Asynchrone Übertragung über TCP/UDP/Serial an denDLT Client.
- Rückkanal (Injection & Control Flow):
- Der
DLT Clientsendet Kontrollnachrichten (z. B.SetLogLevel,SetTraceStatus,GetLogInfo) über dasLT Protocolan das Backend. - Das Backend propagiert geänderte Filterkriterien über den bidirektionalen IPC-Kanal an die
Logging APIsder laufenden Prozesse, wodurch Filtergrenzen zur Laufzeit dynamisch angepasst werden.
- Der
4. Normative Relevanz & Entwickler-Hinweise
- API-Kapselung & Portabilität:
- Applikationen und Plattform-Services dürfen ausschließlich gegen den normierten Namensraum
ara::loglinken. Direkte Zugriffe auf DLT-Daemon-Sockets oder native DLT-APIs sind architektonisch unzulässig.
- Applikationen und Plattform-Services dürfen ausschließlich gegen den normierten Namensraum
- Laufzeitverhalten & Echtzeit-Restriktionen:
- Logging-Calls sind deterministisch und blockierungsfrei auszulegen. Bei Überlastung der IPC-Verbindung oder des Backend-Puffers greift ein geregeltes Message-Dropping (im DLT-Header durch inkrementierte Message-Counter nachweisbar).
- In harten Echtzeit- oder Safety-Threads (ASIL) ist die Zuweisung dynamischen Speichers innerhalb von Logging-Operationen zu vermeiden; statische Payload-Limits und Non-Verbose-Modus (Übertragung von FIBEX/ARXML-IDs statt Klartext-Strings) sind zu bevorzugen.
- Manifest-Konfiguration:
LogMode(kRemote,kFile,kConsole), Default-Log-Level und Zuordnungen vonContextIdzuApplicationIdmüssen im Execution Manifest der Adaptive Application deklariert werden.
- Security-Aspekte:
- Der Kommunikationskanal des
LT Protocolüber externe Schnittstellen ist gegen unautorisiertes Mitschneiden oder Manipulation abzusichern (z. B. durch Deaktivierung im Serienbetrieb oder Schutz via TLS/IPsec), da Trace-Dumps sicherheitskritische Payload- und Zustandsdaten exponieren können.
- Der Kommunikationskanal des
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.