DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_IntrusionDetectionSystemManager FIG-52f7656cd4b061e2 915 × 314 px 1 Release(s)

Figure 7.4: Use of Event Buffers and Context Data Buffers

SHA-256 Inhalts-Fingerabdruck: 52f7656cd4b061e26ade944e76b637412a731d2051fe1659ac50a46269e0c3c9
✦ 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: Konzeptionelles Datenfluss- und Speicherarchitektur-Diagramm (Pufferzuweisungs- und Verknüpfungsmodell / Queueing-Mechanismus).
  • Funktionale Einordnung: AUTOSAR Classic Platform, BSW-Sicherheitsarchitektur, Intrusion Detection System Manager (IdsM).
  • Technischer Zweck: Visualisierung des deterministischen Speicher- und Entkopplungsmodells zwischen synchronem Empfang von Security Events (SEv via API) und deren asynchroner Weiterverarbeitung im zyklischen Taskkontext (IdsM_MainFunction). Zeigt die Trennung von fest dimensionierten Event-Metadaten und variabel dimensionierten Kontextdaten (Context Data) zur Vermeidung dynamischer Speicherallokation im automobilen Steuergerät.

2. Komponenten, Entitäten & Schnittstellen

  • Event Buffer Pool (Links):
    • Pufferpool für Event-Deskriptoren/Metadaten fester Größe (z. B. Event-ID, Zeitstempel, Zähler, Filterstatus).
    • Verwaltet als Freispeicherliste/Ringpuffer mit fester Elementanzahl (statisch konfiguriert).
  • Context Data Buffer Pool (Mitte):
    • Mehrstufiger Pufferpool mit statisch partitionierten Speicherblöcken unterschiedlicher Größe (Size, diskrete Blockgrößen) und Belegungsstatus (Status: Unused vs. In Use).
    • Realisiert ein deterministisches Best-Fit-/First-Fit-Verfahren („most adequate size“) ohne Heap-Fragmentierung (malloc-Verbot).
  • Event Data Buffer Filled (Unten, blau):
    • Konkrete Instanz eines aus dem Event-Pool allozierten und mit SEv-Basisdaten beschriebenen Pufferelements.
  • Optional Context Data Buffer Linked (Mitte-Unten, orange):
    • Zugewiesener Kontextdatenpuffer aus dem Context-Pool; über Pointer bidirektional bzw. referentiell fest an den Event Data Buffer gekoppelt (Linked).
    • Nur aktiv, wenn das gemeldete SEv Nutzdaten/Payload (z. B. CAN-Frame-Dump, PDU-Fragmente) mitführt.
  • Collection of events to be processed asynchronously (Rechts):
    • Asynchrone FIFO-Queue/Event-Warteschlange zur Übergabe an die interne Filter- und Qualifizierungs-Pipeline der MainFunction.

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger / API-Aufruf (Synchroner Pfad):
    • Ein Software-Sensor (BSW-Modul wie CanSM, SecOC oder SW-C via RTE) meldet ein Security Event über IdsM_SetSecurityEvent().
  2. Event-Pufferallokation:
    • Entnahme eines freien Blocks aus dem Event Buffer Pool. Tritt ein Pufferüberlauf auf (Pool erschöpft), greift die konfigurierte Pufferüberlaufstrategie (Drop Event, Logging via Det/Dem).
  3. Kontextdaten-Allokation & Modifikation (Optional):
    • Führt das SEv Kontextdaten mit, ermittelt der IdsM im Context Data Buffer Pool den kleinstmöglichen Block, dessen Kapazität mindestens contextDataSize entspricht.
    • Gemäß [SWS_IdsM_00750] (Upstream: RS_Ids_00200): Ist ein Context Data Modifier konfiguriert (IdsMContextDataModifierCallout) und der Reporting-Modus DETAILED oder DETAILED_BYPASSING_FILTERS, wird der Callout synchron unmittelbar nach Meldung des SEv ausgeführt, um Kontextdaten vor Pufferung zu modifizieren/anzupassen.
    • Markierung des gewählten Kontextblocks als In Use und logische Verknüpfung mit dem Event-Puffer.
  4. Einreihung in asynchrone Queue:
    • Übergabe des verknüpften Pufferpaars (Event Data Buffer + optionaler Context Data Buffer) in die Collection of events to be processed asynchronously.
  5. Asynchrone Abarbeitung (IdsM_MainFunction):
    • Zyklisches Auslesen der Queue im Task-Kontext.
    • Ausführung der IdsM-Filterketten (Stateful-, Threshold-, Frequency-Filter) und PDU-Aggregation (QvIs-PDU-Generierung).
    • Nach Verarbeitung oder Filter-Verwerfung: Rückgabe beider Puffer in ihre jeweiligen Freispeicher-Pools (Status wechselt wieder auf Unused).

4. Normative Relevanz & Entwickler-Hinweise

  • Speicherdimensionierung (BSW-Konfiguration):
    • Die Größenklassen und Instanzanzahlen beider Pools müssen zur Generierungszeit über die Parameter IdsMEventBufferPool und IdsMContextDataBufferPool im AUTOSAR-Toolchain-Editor präzise dimensioniert werden.
    • Eine Fehlkonfiguration der Puffergrößenklassen führt zu Fragmentierungsverschnitt oder zu Pufferabwürfen unter Last.
  • Interrupt-Sicherheit & Kritische Abschnitte:
    • Da IdsM_SetSecurityEvent() aus ISR- oder preemptiven Task-Kontexten aufgerufen werden kann, müssen die Puffer-Zuweisung und der Statuswechsel (Unused → In Use) durch Schollsperren (SchM_Enter_IdsM_... / SchM_Exit_IdsM_...) vor Race Conditions geschützt sein.
  • Zero-Copy & Effizienz:
    • Der Entwickler von IdsMContextDataModifierCallout muss sicherstellen, dass die Modifikation in-place bzw. mit minimaler Latenz erfolgt, da dieser Callout den synchronen Pfad des meldenden Treibers/der SW-C blockiert.
  • Lebenszyklus von Zeigern:
    • Die an IdsM_SetSecurityEvent() übergebenen Kontextdaten-Zeiger dürfen vom Aufrufer nach Rückkehr der Funktion verworfen werden; der IdsM kopiert die Daten zwingend in den reservierten Context-Puffer, bevor die API zurückkehrt.

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

R23-11 → R24-11 keine inhaltliche Änderung Vorgänger: FIG-33f5411f5baf4e35

Keine inhaltlichen Änderungen erkennbar.

R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-33f5411f5baf4e35

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Optional Context Data Buffer Linked | Unused | Unused | In Use | Unused | Unused

Begleitender Spezifikationstext:

Specification of Intrusion Detection System Manager AUTOSAR CP R24-11 [SWS_IdsM_00712] Configuration Drop Latest ⌈Where IdsMEventDisplacementStrategy is IDSM_BUFFER_DISPLACEMENT_DROP_LATEST, when a new SEv is received and no suitable IdsMEventBuffers is found, IdsM shall drop the newly received SEv.⌋ Event Data Buffer Filled Optional Context Data Buffer Linked Event Buffer Pool Context Data Buffer Pool Collection of events to be processed asynchronously Unused Unused In Use Unused Unused Size Status Figure 7.4: Use of Event Buffers and Context Data Buffers Figure 7.4 shows how event buffers and context buffers are used when security events are set via the IdsM API as this chapter explains. Upon reception of a SEv, the event is stored in a buffer from the event buffer pool and its corresponding context data is stored in a buffered of the most adequate size from the context data buffer pool. These two buffers are linked and processed together asynchronously in the IdsM_MainFunction service. 7.3.4 Context Data Modifier An application shall be able to change the content of the originally reported context data of incoming SEvs. If context data is to be modified, a combination of a IdsMContextDataModifierCallout and a IdsMContextDataModifierOptions can be configured. The IdsMContextDataModifierCallout function is used to modify the context data and the contextDataSize is used to find a context data buffer of the adequate size. 26 of 156 Document ID 977: AUTOSAR_CP_SWS_Intrusion

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_IntrusionDetectionSystemManager S. 26 7.4 Figure 7.4: Use of Event Buffers and Context Data Buffers