AUTOSAR_SWS_DiagnosticLogAndTrace
FIG-be12dcc705354a40
897 × 1266 px
1 Release(s)
Figure 9: 4: Buffer overflow indication
SHA-256 Inhalts-Fingerabdruck:
be12dcc705354a400d9a7003076cdd27449708b63dbe03d32ab2e76c3f238e0c
✦
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
UML-Sequenzdiagramm zur Pufferüberlauf-Erkennung und -Signalisierung (Buffer Overflow Indication) im AUTOSAR-Basissoftwaremodul Diagnostic Log and Trace (DLT). Das Diagramm stellt das Zusammenwirken zwischen einer Software-Komponente (SWC) als Nachrichtenquelle, dem Dlt-Modul, dem General Purpose Timer (Gpt) und dem PDU-Router (PduR) innerhalb der AUTOSAR-Classic-Architektur dar. Es visualisiert den synchronen Aufruf zur Protokollierung bei unzureichender Pufferkapazität sowie die asynchrone zyklische Übertragung der Überlaufmeldung und die Timer-gesteuerte Rücksetzung.
2. Komponenten, Entitäten & Schnittstellen
- SWC: Software Component, fungiert als Aufrufer des Logging-Dienstes.
- «module» Dlt: AUTOSAR-Basissoftwaremodul Diagnostic Log and Trace, verarbeitet Protokollnachrichten, verwaltet Kanäle, Puffer und Überlaufzustände.
- «module» Gpt: General Purpose Timer Modul (als Entität im Diagrammkopf vorhanden, besitzt eine Lebenslinie).
- «module» PduR: PDU-Router zur Weiterleitung und Übertragung der serialisierten DLT-Nachrichten an unterlagerte Kommunikationsschichten.
- Schnittstellen & Operationen:
Dlt_SendLogMessage(return, sessionId, logInfo, logData, logDataLength): Synchroner API-Aufruf von SWC an Dlt.- Interne Dlt-Aktionen:
Apply Message filtering(),Select target LogChannel(),CheckMessage length(),Apply LogChannel threshold(),Try to add Message to LogChannelBuffer(),Discard Message(),Set BufferOverflowFlag(),Start BufferOverflowTimer(),MessageSent == TRUE(),Timer DltLogChannelBufferOverflowCheck(start). - Zyklische Hauptfunktion:
Dlt_TxFunction(). - PduR-Schnittstelle:
PduR_DltTransmit(PduId).
3. Dynamisches Verhalten & Sequenzablauf
- Protokollierungsversuch & Pufferüberlauf:
- Die SWC ruft
Dlt_SendLogMessage(return, sessionId, logInfo, logData, logDataLength)auf Dlt auf. - Dlt führt sequentielle Prüfungen durch:
Apply Message filtering(),Select target LogChannel(),CheckMessage length(),Apply LogChannel threshold(). - Dlt versucht die Nachricht hinzuzufügen (
Try to add Message to LogChannelBuffer()). - Bedingung/Zustand: Es ist nicht genügend Pufferplatz vorhanden (
! Not enough Buffer available !). - Dlt verwirft die Nachricht (
Discard Message()), setzt das Überlaufflag (Set BufferOverflowFlag()) und startet den Überlauftimer (Start BufferOverflowTimer()). - Die Funktion kehrt zur SWC zurück.
- Die SWC ruft
- Zyklische Sendeschleife (
loop):- In der zyklischen Übertragungsfunktion
Dlt_TxFunction()wird der Zustand über einenalt-Block geprüft:- Fall
[BufferOverflowFlag == 1]:- Verschachtelter
alt-Block (alt OverFlow Message sent):- Fall
[Buffer Overflow Message sent == FALSE]: Dlt sendet die Überlaufmeldung (Send Message "BufferOverflow") viaPduR_DltTransmit(PduId)an den PduR. Nach erfolgreicher Rückmeldung wird internMessageSent == TRUE()gesetzt und der Überwachungs-TimerTimer DltLogChannelBufferOverflowCheck(start)gestartet. - Fall
[Buffer Overflow Message sent == TRUE]: Wenn der Überlauftimer abgelaufen ist (If DltLogChannelBufferOverflowTimer expired: Reset BufferOverflowFlag AND Message Sent = FALSE()), setzt Dlt das FlagBufferOverflowFlagsowieMessage SentaufFALSEzurück.
- Fall
- Verschachtelter
- Fall
[BufferOverflowFlag == 0]: Keine Aktion für die Überlaufmeldung.
- Fall
- In der zyklischen Übertragungsfunktion
4. Normative Relevanz & Entwickler-Hinweise
- Normative Logik: Definiert das exakte Verhalten von DLT bei drohendem bzw. eingetretenem Datenverlust aufgrund voller Kanalpuffer (
LogChannelBuffer). - Fehlerbehandlung: Verwerfen von Nachrichten führt zwingend zum Setzen von
BufferOverflowFlag = 1und Aktivieren des Zeitgebers. - Benachrichtigung: Das Versenden der speziellen Überlaufnachricht (
Send Message "BufferOverflow") an Diagnosetools/Empfänger erfolgt asynchron über den zyklischen Main-Function-Kontext (Dlt_TxFunction) und wird durchPduR_DltTransmitangestoßen. - Entprellung/Rücksetzung: Verhindert das Überfluten des Übertragungskanals mit Überlaufmeldungen; erst nach Ablauf des konfigurierten Timers (
DltLogChannelBufferOverflowTimer) werden das Flag und der Sendestatus zurückgesetzt.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.