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
TcpIpSocketOwnerzur statischen Registrierung überlagerter BSW-Module (Upper Layer) amTcpIp-Stack. - Funktionale Einordnung: Verankert im AUTOSAR Communication Stack (ComStack). Das Modul
TcpIpnutzt diese Parameter zur Compile-Zeit (Pre-compile time,scope: ECU, alle Varianten), um Callback-Schnittstellen (Upward Callouts/Indications) generisch an standardisierte Empfänger wieSoAd(Socket Adaptor) oder herstellerspezifischeCDD(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)
TcpIpSocketOwnerUpperLayerType(EcucEnumerationParamDef, Multiplizität [1..1]):+literalCDD(EcucEnumerationLiteralDef): Socket-Owner ist ein Complex Device Driver mit benutzerdefinierten Funktionssignaturen.+literalSOAD(EcucEnumerationLiteralDef): Standard-Upper-Layer ist der AUTOSAR Socket Adaptor.
TcpIpSocketOwnerId(EcucIntegerParamDef):- Wertebereich: [0 .. 65535], Default:
0, Multiplizität [1..1]. - Eigenschaft:
symbolicNameValue = true(dient als Makro-Identifikator/Handle für Socket-Zuweisungen).
- Wertebereich: [0 .. 65535], Default:
TcpIpSocketOwnerHeaderFileName(EcucStringParamDef, Multiplizität [0..1]):- Inkludiert die C-Header-Datei des Socket-Owners mit den externen Funktionsdeklarationen.
- Callback-Funktionsnamen / Upward Interface Callouts (alle
EcucStringParamDefbzw.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.
- Alle Parameter werden ausschließlich zur Pre-compile-Zeit ausgewertet (
- Code-Generierung & Header-Inklusion:
- Wird ein Socket-Owner als
CDDparametriert, mussTcpIpSocketOwnerHeaderFileNamezwingend konfiguriert werden, damit der C-Compiler die Prototypen der konfigurierten Funktionsnamen auflösen kann (extern FuncName(...)). - Für
SOADbindet die BSW-Codegenerierung standardmäßigSoAd_Cbk.hein; abweichende Namen sind nur zulässig, wenn der SoAd entsprechende Wrapper-APIs bereitstellt.
- Wird ein Socket-Owner als
- Multiplizität & Socket-Referenzierung:
- Jede Socket-Instanz (
TcpIpSocket) im Stack referenziert genau einenTcpIpSocketOwnerId. - Ist ein optionaler Callback (Multiplizität
0..1, z. B.TcpIpSocketOwnerTcpAcceptedNamefü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.
- Jede Socket-Instanz (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.