AUTOSAR_CP_SWS_TcpIp
FIG-1cf9b3a19614db86
865 × 911 px
1 Release(s)
Figure 7.2: Ctrl state machine of the TcpIp
SHA-256 Inhalts-Fingerabdruck:
1cf9b3a19614db860aeebc5857b469dd1df2e5b3c89fe2db459abcd08260136a
✦
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: UML-Zustandsdiagramm (State Machine Diagram / Zustandsautomat gemäß OMG-UML- bzw. AUTOSAR-BSW-UML-Profil).
- Funktionale Einordnung: AUTOSAR Classic Platform (R25-11), Schicht: Communication Services / Communication HW Abstraction. Spezifikation:
AUTOSAR_CP_SWS_TcpIp(Schnittstellen zuEthSM,SoAd). - Technischer Zweck: Modellierung des controller-individuellen Betriebs- und Verbindungszustands (Controller State Machine,
TcpIp_StateType) eines virtuellen/physikalischen Ethernet-Controllers innerhalb des TCP/IP-Stacks. Steuert den Lebenszyklus von IP-Adressierungsmechanismen (statisch, DHCP, Auto-IP), Socket-Ressourcen und Sende-/Empfangspfaden in Abhängigkeit von den Netzwerkanforderungen des Ethernet State Managers (EthSM).
2. Komponenten, Entitäten & Schnittstellen
- Zustände (
TcpIp_StateType):TCPIP_STATE_OFFLINE: Stack-Controller ist inaktiv/dekonfiguriert, keine Kommunikation, Ressourcen sind freigegeben.TCPIP_STATE_STARTUP: IP-Zuweisungsprozess läuft; Controller bereitet Netzwerkressourcen vor.TCPIP_STATE_ONLINE: Vollständiger Kommunikationsbetrieb aktiv; IP-Adresse ist zugewiesen und gebunden.TCPIP_STATE_ONHOLD: Kommunikation ist temporär suspendiert; IP-Bindung bleibt reserviert.TCPIP_STATE_SHUTDOWN: Asynchrone Teardown-Phase; Schließen von Verbindungen, Pufferbereinigung und Ressourcenfreigabe.Initial: Start-Pseudozustand nach System-Reset.
- Entry-Aktionen:
- Jeder Hauptzustand besitzt die standardisierte Eintrittsaktion:
entry / EthSM_TcpIpModeIndication(<TARGET_STATE>)zur asynchronen Bestätigung des erreichten Betriebszustands an denEthSM.
- Jeder Hauptzustand besitzt die standardisierte Eintrittsaktion:
- API-Trigger & Steuerschnittstellen:
TcpIp_Init(): Initialisierungsaufruf durch BSW Mode Management / EcuM.TcpIp_RequestComMode(CtrlIdx, State): Steuer-API, aufgerufen durch denEthSMzur Modusumschaltung (ONLINE,OFFLINE,ONHOLD).
- Upstream-Benachrichtigungen (
<Up>_LocalIpAddrAssignmentChg):- Konfigurierbare Callback-Schnittstelle an übergeordnete Module (primär
SoAd), signalisiert den Status der IP-Adressbindung:TCPIP_IPADDR_STATE_ASSIGNED(IP verfügbar)TCPIP_IPADDR_STATE_ONHOLD(IP geparkt)TCPIP_IPADDR_STATE_UNASSIGNED(IP entzogen/freigegeben)
- Konfigurierbare Callback-Schnittstelle an übergeordnete Module (primär
3. Dynamisches Verhalten & Sequenzablauf
[Initial]
│ TcpIp_Init()
▼
[TCPIP_STATE_OFFLINE] ──TcpIp_RequestComMode(ONLINE) / enable IP assignment──► [TCPIP_STATE_STARTUP]
▲ │
│ [Ip is assigned] / │
│ Up_LocalIpAddrAssignmentChg(ASSIGNED) │
│ ▼
│ [ressources are released] ◄───────────────────────────────────────────── [TCPIP_STATE_ONLINE]
│ ▲ │ ▲
│ │ TcpIp_RequestComMode(ONHOLD) │ │ TcpIp_RequestComMode(ONLINE)
│ [TCPIP_STATE_SHUTDOWN] deactivate communication │ │ reactivate communication
│ ▲ ▼ │ AssignmentChg(ASSIGNED)
│ └──── TcpIp_RequestComMode(OFFLINE) ───────────────────────── [TCPIP_STATE_ONHOLD]
- Initialisierung:
Initial→TCPIP_STATE_OFFLINE: Getriggert durchTcpIp_Init(). LöstEthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE)aus.
- Startup & Adressauflösung (Online-Pfad):
TCPIP_STATE_OFFLINE→TCPIP_STATE_STARTUP:- Trigger:
TcpIp_RequestComMode(TCPIP_STATE_ONLINE). - Aktion:
/enable IP assignment. Startet Adressvergabe (z. B. DHCP-Request, IPv6 SLAAC, ARP-Probe).
- Trigger:
TCPIP_STATE_STARTUP→TCPIP_STATE_ONLINE:- Guard:
[Ip is assigned]. - Aktion: Callback
<Up>_LocalIpAddrAssignmentChg(..., TCPIP_IPADDR_STATE_ASSIGNED).
- Guard:
- Abbruch vor Zuweisung:
TCPIP_STATE_STARTUP→TCPIP_STATE_OFFLINEviaTcpIp_RequestComMode(TCPIP_STATE_OFFLINE)mit Aktion/abort IP assignment.
- Pausierungsbetrieb (
ONHOLD):TCPIP_STATE_ONLINE→TCPIP_STATE_ONHOLD:- Trigger:
TcpIp_RequestComMode(TCPIP_STATE_ONHOLD). - Aktionen:
<Up>_LocalIpAddrAssignmentChg(..., TCPIP_IPADDR_STATE_ONHOLD)und Kommunikationsdeaktivierung im Modul.
- Trigger:
TCPIP_STATE_ONHOLD→TCPIP_STATE_ONLINE:- Trigger:
TcpIp_RequestComMode(TCPIP_STATE_ONLINE). - Aktionen: Kommunikation reaktivieren,
<Up>_LocalIpAddrAssignmentChg(..., TCPIP_IPADDR_STATE_ASSIGNED).
- Trigger:
- Lokaler Loop-Trigger:
[Ip priority reassignment]verbleibt intern inONLINEbzw.ONHOLD(dynamischer Wechsel prioritärer Adresszuweisungen).
- Asynchroner Shutdown & Ressourcenfreigabe:
- Sowohl von
TCPIP_STATE_ONLINEals auchTCPIP_STATE_ONHOLDführtTcpIp_RequestComMode(TCPIP_STATE_OFFLINE)nachTCPIP_STATE_SHUTDOWN. - Aktionen:
<Up>_LocalIpAddrAssignmentChg(..., TCPIP_IPADDR_STATE_UNASSIGNED), Kommunikation stoppen, interne Ressourcenfreigabe anfordern (request releasing the resources). TCPIP_STATE_SHUTDOWN→TCPIP_STATE_OFFLINE: Guard[ressources are released]. Erst wenn alle Verbindungen abgebaut und Puffer frei sind, erfolgt der Wechsel nachOFFLINE.
- Sowohl von
- Preemptiver Neustart während Shutdown (Fast Recovery):
TCPIP_STATE_SHUTDOWN→TCPIP_STATE_STARTUPbei vorzeitigemTcpIp_RequestComMode(TCPIP_STATE_ONLINE):- Aktionen: Sofortige Zwangsrücknahme der Ressourcen (
immediately release the resources). - Unterdrückung der Benachrichtigung an
EthSMbeim Passieren vonOFFLINE(do not inform EthSM upon entering state TCPIP_STATE_OFFLINE). - Zuweisung neuer Ressourcen starten und direkt nach
TCPIP_STATE_STARTUPübergehen.
- Aktionen: Sofortige Zwangsrücknahme der Ressourcen (
4. Normative Relevanz & Entwickler-Hinweise
- Asynchrone Entkopplung (
Requestvs.Indication):TcpIp_RequestComMode()ist rein anfordernd und kehrt unmittelbar zurück. Der Stack darf den Statuswechsel niemals synchron blockieren. Integratoren müssen sicherstellen, dass übergeordnete Module (EthSM) erst auf den Moduswechsel reagieren, wennEthSM_TcpIpModeIndication()empfangen wurde. - Ressourcenbereinigung gemäß
SWS_TcpIp_00410/SRS_Eth_00187: Im ZustandTCPIP_STATE_SHUTDOWNmüssen alle offenen Socket-Deskriptoren, TCP-Verbindungen (FIN/RST-Handling) und PDU-Sendepuffer (LSduR_TcpIpTransmit) deterministisch freigegeben werden. PDU-Zustände fallen aufPDU_AVAILABLEzurück. - Upper-Layer-Vertrag (
SoAd/ Socket-Nutzer): Sendeanfragen dürfen nur beiTCPIP_STATE_ONLINEbzw. aktivem IP-ZustandASSIGNEDverarbeitet werden. Im ZustandTCPIP_IPADDR_STATE_ONHOLDbleiben Socket-Tabellen bestehen, der Datenverkehr auf Link- und IP-Ebene wird jedoch stummgeschaltet. - Preemption-Sonderlogik: Treiber- und Stack-Implementierer müssen die Sequenz
SHUTDOWN -> STARTUPabsichern: Werden Re-Init-Requests während eines laufenden Shutdowns empfangen, muss der Hardware-/Stack-Pufferabbruch beschleunigt erzwungen werden, ohne dassEthSMein fälschliches Zwischen-OFFLINEsignalisiert bekommt.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.