DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_TcpIp FIG-1b28097e83d944b5 932 × 1237 px 1 Release(s)

Figure 10.27: TcpIpSocketOwnerConfig

SHA-256 Inhalts-Fingerabdruck: 1b28097e83d944b54212d321c3eb27e758bbdbc6c862cd3a74c6658d32873d12
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07

1. Diagrammtyp & Architektur-Kontext

  • Klassifikation: AUTOSAR BSW-Modul-Konfigurationsdiagramm (UML-Klassendiagramm auf Metamodell-Ebene / ECUC-Parameterdefinition).
  • Technischer Zweck: Definition des Konfigurations-Containers TcpIpSocketOwner zur statischen Registrierung überlagerter BSW-Module (Upper Layer) am TcpIp-Stack.
  • Funktionale Einordnung: Verankert im AUTOSAR Communication Stack (ComStack). Das Modul TcpIp nutzt diese Parameter zur Compile-Zeit (Pre-compile time, scope: ECU, alle Varianten), um Callback-Schnittstellen (Upward Callouts/Indications) generisch an standardisierte Empfänger wie SoAd (Socket Adaptor) oder herstellerspezifische CDD (Complex Device Driver) zu routen.

2. Komponenten, Entitäten & Schnittstellen

Metamodell-Container
  • TcpIpSocketOwner (EcucParamConfContainerDef):
    • Kardinalität: Multiplizität [1..\*] (mindestens ein Socket-Owner muss konfiguriert sein).
    • Enthaltene Sub-Container: Keine (No Included Containers).
Parameter & Literale (+parameter / Kompositions-Beziehungen)
  1. TcpIpSocketOwnerUpperLayerType (EcucEnumerationParamDef, Multiplizität [1..1]):
    • +literal CDD (EcucEnumerationLiteralDef): Socket-Owner ist ein Complex Device Driver mit benutzerdefinierten Funktionssignaturen.
    • +literal SOAD (EcucEnumerationLiteralDef): Standard-Upper-Layer ist der AUTOSAR Socket Adaptor.
  2. TcpIpSocketOwnerId (EcucIntegerParamDef):
    • Wertebereich: [0 .. 65535], Default: 0, Multiplizität [1..1].
    • Eigenschaft: symbolicNameValue = true (dient als Makro-Identifikator/Handle für Socket-Zuweisungen).
  3. TcpIpSocketOwnerHeaderFileName (EcucStringParamDef, Multiplizität [0..1]):
    • Inkludiert die C-Header-Datei des Socket-Owners mit den externen Funktionsdeklarationen.
  4. Callback-Funktionsnamen / Upward Interface Callouts (alle EcucStringParamDef bzw. EcucFunctionNameDef, Multiplizität jeweils [0..1]):
    • TcpIpSocketOwnerRxIndicationName: Name der Rx-Indikations-Funktion bei Dateneingang.
    • TcpIpSocketOwnerTxConfirmationName: Bestätigung für gesendete Daten / TCP-ACK.
    • TcpIpSocketOwnerCopyTxDataName: Callback zum Puffer-Abruf für Sendedaten (ComStack Zero-Copy / Direct-Copy Pattern).
    • TcpIpSocketOwnerTcpAcceptedName: Benachrichtigung über neu angenommene TCP-Verbindungen (Server-Socket Listen-State).
    • TcpIpSocketOwnerTcpConnectedName: Bestätigung des TCP-Handshakes (Client-Socket Connect-State).
    • TcpIpSocketOwnerLocalIpAddrAssignmentChgName: Signalisierung von IP-Zustandsänderungen (z. B. DHCP-Lease, Auto-IP/Link-Local, Statisch).
    • TcpIpSocketOwnerTcpIpEventName (EcucFunctionNameDef): Benachrichtigung über asynchrone Socket-Fehler, Connection-Resets (TCP_RESET), FIN/Closed-Events.

3. Dynamisches Verhalten & Sequenzablauf

Da es sich um ein Konfigurationsmetamodell handelt, bildet das Diagramm die statische Verdrahtung ab, aus der der Pre-Compile-Codegenerator Funktionszeiger-Tabellen oder direkte Aufrufe für folgende Laufzeitabläufe ableitet:

[Netzwerk / EthIf / TcpIp]             [TcpIp Core]                    [Socket Owner (SoAd / CDD)]
          │                                 │                                       │
          │── Frame Rx ────────────────────>│                                       │
          │                                 │── <RxIndicationName>() ──────────────>│
          │                                 │                                       │
          │<── TcpIp_TcpConnect() ──────────│<── Trigger Connection ────────────────│
          │── TCP SYN-ACK ─────────────────>│                                       │
          │                                 │── <TcpConnectedName>() ──────────────>│
          │                                 │                                       │
          │                                 │── <CopyTxDataName>() ────────────────>│
          │                                 │<── Data Copied ───────────────────────│
          │<── Send Packet ─────────────────│                                       │
          │── TCP ACK (Peer) ──────────────>│                                       │
          │                                 │── <TxConfirmationName>() ────────────>│
          │                                 │                                       │
          │── Reset / Link Down ───────────>│                                       │
          │                                 │── <TcpIpEventName>() ────────────────>│
  • Asynchrone Event-Verarbeitung: Verbindungsaufbau, Verbindungsabbruch und IP-Zuweisung erfolgen asynchron im Kontext der TcpIp_MainFunction(). Der Stack ruft den konfigurierten Funktionsbezeichner (<EventName>, <TcpConnectedName>, <LocalIpAddrAssignmentChgName>) des jeweiligen Owners auf.
  • Transmitter Data-Path: Sendebefehle via TcpIp_Transmit() fordern Nutzdaten asynchron über den konfigurierten Callback <CopyTxDataName> an, gefolgt von <TxConfirmationName>.

4. Normative Relevanz & Entwickler-Hinweise

  • Bindungszeitpunkt (Pre-compile time):
    • Alle Parameter werden ausschließlich zur Pre-compile-Zeit ausgewertet (Value Configuration Class: Pre-compile time = X, Link- und Post-build-Time sind nicht unterstützt).
    • Nachträgliches Ändern von Callbacks oder Hinzufügen von Socket-Ownern zur Laufzeit (Post-Build) ist architekturbedingt ausgeschlossen.
  • Code-Generierung & Header-Inklusion:
    • Wird ein Socket-Owner als CDD parametriert, muss TcpIpSocketOwnerHeaderFileName zwingend konfiguriert werden, damit der C-Compiler die Prototypen der konfigurierten Funktionsnamen auflösen kann (extern FuncName(...)).
    • Für SOAD bindet die BSW-Codegenerierung standardmäßig SoAd_Cbk.h ein; abweichende Namen sind nur zulässig, wenn der SoAd entsprechende Wrapper-APIs bereitstellt.
  • Multiplizität & Socket-Referenzierung:
    • Jede Socket-Instanz (TcpIpSocket) im Stack referenziert genau einen TcpIpSocketOwnerId.
    • Ist ein optionaler Callback (Multiplizität 0..1, z. B. TcpIpSocketOwnerTcpAcceptedName für reine UDP-Clients) nicht konfiguriert, generiert die BSW-Toolchain entweder ein Leer-Makro (NULL_PTR) oder optimiert die Verzweigung per Präprozessor (#ifdef) vollständig heraus.

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

R23-11 → R24-11 redaktionell Nachfolger: FIG-5cfa8686395baeb2
  • Kopf-Tabelle mit Konfigurationsklasse (Value Configuration Class), Gültigkeitsbereich (Scope / Dependency) und Behälter-Hierarchie (No Included Containers) oberhalb von TcpIpSocketOwner entfernt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Pre-compile time X All Variants | Link time – | Value Configuration Class | Post-build time – | Scope / Dependency scope: ECU | No Included Containers | TcpIpSocketOwner: EcucParamConfContainerDef | lowerMultiplicity = 1 upperMultiplicity = * | TcpIpSocketOwnerUpperLayerType: | EcucEnumerationParamDef | CDD: EcucEnumerationLiteralDef | SOAD: EcucEnumerationLiteralDef | TcpIpSocketOwnerRxIndicationName: | EcucStringParamDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpSocketOwnerTxConfirmationName: | EcucStringParamDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpSocketOwnerTcpAcceptedName: | EcucStringParamDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpSocketOwnerTcpConnectedName: | EcucStringParamDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpSocketOwnerCopyTxDataName: | EcucStringParamDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpSocketOwnerLocalIpAddrAssignmentChgName: | EcucStringParamDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpSocketOwnerTcpIpEventName: | EcucFunctionNameDef | lowerMultiplicity = 0 upperMultiplicity = 1 | TcpIpSocketOwnerId: EcucIntegerParamDef | min = 0 max = 65535 defaultValue = 0 symbolicNameValue = true | TcpIpSocketOwnerHeaderFileName: | EcucStringParamDef | lowerMultiplicity = 0 upperMultiplicity = 1 | +parameter | +parameter | +parameter | +parameter | +parameter | +parameter | +literal | +parameter | +literal | +parameter | +parameter | +parameter

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R23-11 AUTOSAR_CP_SWS_TcpIp S. 188 10.27 Figure 10.27: TcpIpSocketOwnerConfig