DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_PDURouter FIG-065e93cfac0337a9 932 × 1207 px 1 Release(s)

Figure 10.2: PduRBswModules

SHA-256 Inhalts-Fingerabdruck: 065e93cfac0337a94ca994df58b116a27d8c90d04ca635ad0089d45950387abf
✦ 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: UML-Klassendiagramm / Metamodell-Ausschnitt der AUTOSAR ECU Configuration Parameter Definition (EcucParameterDefinition) gemäß ECU Configuration Description Template.
  • Technischer Zweck: Formale Definition des Konfigurationscontainers PduRBswModules im PDU Router (PduR).
  • Funktionale Einordnung: Der PDU Router agiert im AUTOSAR Communication Stack als zentraler Switch auf PDU-Ebene zwischen oberen Schichten (z. B. Com, Dcm, J1939Dcm), unteren Schichten (z. B. CanIf, LinIf, FrIf) und Transportprotokollen (z. B. CanTp, FrTp, LinTp, SoAd). Über PduRBswModules werden die Eigenschaften, Schnittstellenverträge und Fähigkeiten (Capabilities) jedes angebundenen BSW-Moduls deklariert. Dies steuert direkt die Codegenerierung der Routing-Tabellen, Wrapper-Funktionen und Pre-Compile-Optimierungen.

2. Komponenten, Entitäten & Schnittstellen

  • PduR (:EcucModuleDef):
    • Wurzelknoten der PduR-Moduldefinition.
    • Kardinalität: lowerMultiplicity = 0, upperMultiplicity = 1.
    • Hält per Komposition (+container) die BSW-Modul-Konfigurationen.
  • PduRBswModules (:EcucParamConfContainerDef):
    • Konfigurationscontainer für jeweils genau ein angebundenes BSW-Modul.
    • Kardinalität: lowerMultiplicity = 0, upperMultiplicity = * (beliebig viele BSW-Module registrierbar).
  • PduRBswModuleRef (:EcucForeignReferenceDef):
    • Komposition (+reference), Kardinalität: 1..1.
    • Typ: ECUC-FOREIGN-REFERENCE-DEF mit destinationType = ECUC-MODULE-CONFIGURATION-VALUES.
    • Referenziert extern ein ARElement vom Typ EcucModuleConfigurationValues im Paket Ecu Configuration Description Template (die konkrete EcuC-Instanz des angebundenen BSW-Moduls, z. B. /Com/Com oder /CanIf/CanIf).
  • Parameterliste (+parameter, alle vom Typ :EcucBooleanParamDef):
    • Rollen- & Schnittstellen-Klassifikation:
      • PduRUpperModule: Modul agiert als obere Schicht (Nutzer von Transmit-APIs; Ziel von Rx-Indication und Tx-Confirmation).
      • PduRLowerModule: Modul agiert als untere Schicht (Schnittstelle zu Bus-Interfaces oder TPs; stellt Transmit-APIs bereit).
      • PduRCommunicationInterface: Aktiviert IF-Schnittstellen (Standard-PDU-Routing, unsegmentiert, PduInfoType-basiert).
      • PduRTransportProtocol: Aktiviert TP-Schnittstellen (segmentierter Transfer, Pufferbereitstellung).
    • API- & Feature-Capabilities (Spalte 1):
      • PduRRetransmission: Aktiviert PduR-interne Pufferung/Wiederholungsmechanismen für das Modul (z. B. bei TT-Kommunikation).
      • PduRCancelReceive: Modul unterstützt den Abbruch laufender TP-Empfangsvorgänge (<Mod>_CancelReceive).
      • PduRTxConfirmation: Modul stellt Tx-Bestätigungen bereit bzw. erwartet diese (<Mod>_TxConfirmation).
      • PduRCancelTransmit: Modul unterstützt den Abbruch laufender Sendeaufträge (<Mod>_CancelTransmit).
      • PduRTriggertransmit: Modul unterstützt Pull-basierte PDU-Bereitstellung (<Mod>_TriggerTransmit).
    • Granulare API-Capabilities (Spalte 2):
      • PduRTransmit: Aktiviert Unterstützung für die Transmit-API (<Mod>_Transmit).
      • PduRRxIndication: Aktiviert Empfangsindikationen (<Mod>_RxIndication).
      • PduRStartOfReception: Aktiviert TP-Empfangsstart-Benachrichtigung (<Mod>_StartOfReception).
      • PduRCopyRxData: Aktiviert Pufferbereitstellung für TP-Empfangsdaten (<Mod>_CopyRxData).
      • PduRTpTransmit: Aktiviert TP-Sende-API (<Mod>_TpTransmit).
      • PduRCopyTxData: Aktiviert Pufferbereitstellung für TP-Sendedaten (<Mod>_CopyTxData).
      • PduRTpTxConfirmation: Aktiviert TP-Sendebestätigungen (<Mod>_TpTxConfirmation).
      • PduRTpRxIndication: Aktiviert TP-Empfangsbestätigungen (<Mod>_TpRxIndication).

3. Dynamisches Verhalten & Sequenzablauf

Da es sich um ein statisches Metamodell handelt, existiert kein dynamischer Laufzeitablauf im Diagramm selbst. Es determiniert jedoch die Codegenerierungs- und Ausführungslogik im BSW-Stack:

[Generator-Phase / EcuC Validation]
  PduRBswModuleRef (1..1) aufgelöst?
     ├── Nein -> Generator-Error (Referenz fehlt)
     └── Ja   -> Evaluiere Boolean-Flags pro referenziertem Modul
                  ├── PduRUpperModule == TRUE  -> Generiere PduR_<User>Transmit(), PduR_<User>CancelTransmit()
                  ├── PduRLowerModule == TRUE  -> Binde <Lo>_Transmit(), <Lo>_CancelReceive() in Routing-Tabellen ein
                  ├── PduRTransportProtocol    -> Generiere Forwarding für CopyTxData / CopyRxData / TpRxIndication
                  └── PduRCommunicationInterface -> Generiere Forwarding für RxIndication / TxConfirmation / TriggerTransmit

[Laufzeit-Routing: Pfadselektion abhängig von Flags]
  Obere Schicht ruft PduR_<User>Transmit()
     └── PduR prüft konfigurierte Routing-Route zur Ziel-Unterschicht (<Lo>):
           ├── PduRCancelTransmit == FALSE: PduR blockt Abbruchversuche frühzeitig ab
           └── PduRTriggertransmit == TRUE: PduR leitet TriggerTransmit an oberen Layer weiter
  • Synchroner vs. Asynchroner Pfad:
    • Synchron: Transmit-Aufruf von oberer Schicht via PduR direkt an untere Schicht.
    • Asynchron: Rx-Events (<Lo>_RxIndication) oder Bestätigungen (<Lo>_TxConfirmation) triggern Callbacks durch den PduR aufwärts zum oberen Modul.
    • Pufferung: Ist PduRRetransmission aktiv, verwaltet der PduR Zwischenpuffer (FIFO/Last-Is-Best), um Daten bei Übertragungsfehlern ohne Rückgriff auf die Applikation erneut zu senden.

4. Normative Relevanz & Entwickler-Hinweise

  • Kompilierzeit-Optimierung & Memory-Footprint:
    • Jedes Flag auf FALSE schließt die entsprechenden API-Signaturen und Funktionszeiger aus der generierten Link-Time/Post-Build-Tabelle (PduR_PBConfigType) aus.
    • Dies verhindert ungenutzten Code (Dead Code Elimination) und spart RAM/ROM im Mikrocontroller ein.
  • API-Vertrag (Header-Inclusion & Funktionsprototypen):
    • Wird ein Modul als PduRUpperModule = TRUE deklariert, muss der PduR-Codegenerator die Header des referenzierten Moduls (#include "<Module>.h") einbinden und erwartet normierte API-Namen gemäß AUTOSAR-Namenskonvention (z. B. <Mod>_RxIndication, <Mod>_TxConfirmation).
    • Fehlt die Implementierung eines per Boolean aktivierten Parameters im referenzierten Modul, führt dies zu undefinierten Symbolen beim Linken.
  • Hybride Modulrollen (Gateway / Zwischenschichten):
    • Module wie IpduM, SecOC oder Gateway-Konfigurationen können gleichzeitig PduRUpperModule = TRUE und PduRLowerModule = TRUE sein. In diesem Fall müssen beide API-Schnittstellenmengen vollständig erfüllt und im Generator konsistent gehalten werden.
  • Referenzintegrität (PduRBswModuleRef):
    • Durch lowerMultiplicity = 1 ist ein leerer PduRBswModules-Container ungültig. Jede Container-Instanz erfordert zwingend eine gültige Modulkonfiguration im EcuC-Tree.

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

R21-11 → R22-11 redaktionell Vorgänger: FIG-1997db425b54a756
  • Layout: Oberhalb des Klassendiagramms wurde die Spezifikationstabelle des Parameters PDUR_ROUTING_PATH_BUFFER_OVERFLOW (SWS Item [ECUC_PduR_00366] aus Container PduRDemEventParameterRefs) in den Bildausschnitt aufgenommen.
  • PduRBswModules: Das UML-Klassendiagramm selbst weist keine fachlichen Änderungen auf.
R23-11 → R24-11 normative Änderung Nachfolger: FIG-d7bb5b94140e56e5
  • PduRBswModules: Neuer Parameter PduRReleaseRxBuffer (EcucBooleanParamDef) am Ende der zweiten Parameterspalte hinzugefügt.
  • Layout: Die zuvor im oberen Bereich dargestellte Spezifikationstabelle zu PDUR_ROUTING_PATH_BUFFER_OVERFLOW ([ECUC_PduR_00366]) wurde entfernt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

SWS Item [ECUC_PduR_00366] | Parameter Name PDUR_ROUTING_PATH_BUFFER_OVERFLOW | Parent Container PduRDemEventParameterRefs | Description A Reference to DemEventParameter element which shall be invoked using the API Dem_SetEventStatus in case PDUR_ROUTING_PATH_BUFFER_OVERFLOW error occurs. The EventId is taken from the referenced DemEventParameter’s DemEventId symbolic value. | Multiplicity 0..1 | Type Symbolic name reference to DemEventParameter | Post-Build Variant Multiplicity false | Post-Build Variant Value false | Pre-compile time X All Variants | Link time – | Multiplicity Configuration Class | Post-build time – | Pre-compile time X All Variants | Link time – | Value Configuration Class | Post-build time – | Scope / Dependency scope: ECU | No Included Containers | Ecu Configuration Description Template | PduR: EcucModuleDef | upperMultiplicity = 1 lowerMultiplicity = 0 | PduRBswModules: EcucParamConfContainerDef | lowerMultiplicity = 0 upperMultiplicity = * | PduRTxConfirmation: EcucBooleanParamDef | PduRBswModuleRef: EcucForeignReferenceDef | destinationType = ECUC-MODULE-CONFIGURATION-VALUES lowerMultiplicity = 1 upperMultiplicity = 1 | PduRCancelTransmit: EcucBooleanParamDef | PduRCommunicationInterface: | EcucBooleanParamDef | PduRTransportProtocol: EcucBooleanParamDef | PduRUpperModule: EcucBooleanParamDef | PduRLowerModule: EcucBooleanParamDef | PduRTriggertransmit: EcucBooleanParamDef | ARElement | EcucModuleConfigurationValues | PduRRetransmission: EcucBooleanParamDef | PduRCancelReceive: EcucBooleanParamDef | PduRTransmit: EcucBooleanParamDef | PduRRxIndication: EcucBooleanParamDef | PduRStartOfReception: | EcucBooleanParamDef | PduRCopyRxData: EcucBooleanParamDef | PduRTpTransmit: EcucBooleanParamDef | PduRCopyTxData: EcucBooleanParamDef | PduRTpTxConfirmation: | EcucBooleanParamDef | PduRTpRxIndication: EcucBooleanParamDef | +reference | +parameter | +container | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R22-11 AUTOSAR_SWS_PDURouter S. 109 10.2 Figure 10.2: PduRBswModules