AUTOSAR_AP_SWS_Diagnostics
FIG-8e396ba445473944
184 × 350 px
1 Release(s)
Figure 5.3: Interfaces required by Diagnostic Management from State Management
SHA-256 Inhalts-Fingerabdruck:
8e396ba445473944a3f0f143f0eafe7cb29cf2e947e5a576b08d8b2d4fea3e46
✦
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-Komponenten- und Schnittstellendiagramm (Component / Interface Diagram) im Metamodell der AUTOSAR Adaptive Platform (AP).
- Technischer Zweck: Spezifikation der standardisierten Inter-Cluster-Schnittstelle zwischen den funktionalen Clustern Diagnostic Management (DM) und State Management (SM).
- Funktionale Einordnung: In der Adaptive Platform besitzt der DM-Daemon keine direkte Berechtigung oder Funktionalität, um das Betriebssystem, den Hypervisor oder die Maschinen-Hardware neu zu starten. Steuergeräte-Resets (UDS Service
0x11ECUReset) sowie Rapid-Shutdown-Abläufe erfordern koordinierte Zustandsübergänge (Herunterfahren von Prozessen, Aushängen von Dateisystemen, Maschinenstatuswechsel via Execution Management). Daher delegiert das DM Reset- und Shutdown-Anforderungen über das Service-InterfaceEcuResetRequestan das State Management.
2. Komponenten, Entitäten & Schnittstellen
- Beteiligte Komponenten (Funktionale Cluster):
«aapFunctionalCluster» Diagnostic Management daemon-based:- Client / Konsument der Schnittstelle. Führt UDS-Protokollvalidierung, Session-/Security-Prüfungen und Event-Management aus.
- Ausgestattet mit einem Required Port (
«aapRequiredPort»), markiert über die Verwendungsbeziehung«use».
«aapFunctionalCluster» State Management daemon-based:- Server / Provider der Schnittstelle. Orchestriert Function Groups, Machine States und System-Shutdowns.
- Realisiert das Interface (gekennzeichnet durch den UML-Realization-Pfeil: gestrichelte Linie mit geschlossener, nicht ausgefüllter Dreiecksspitze).
- Port-Interface & Operationen:
«aapPortInterface,aapAPI» EcuResetRequest:- Dual typisiert als Port-Interface im ARXML-Modell (
«aapPortInterface») und als standardisierte C++-Plattform-API («aapAPI»). - Methoden im Deklarationsumfang:
+ RequestReset(): Meldet einen bevorstehenden Reset beim SM an (Mapping auf UDS-Subfunktionen wieHardReset0x01,KeyOffOnReset0x02,SoftReset0x03).+ ExecuteReset(): Befiehlt dem SM die endgültige Ausführung des Resets nach erfolgreichem Versand der UDS-Positivantwort an den Tester.+ EnableRapidShutdown(): Aktiviert im SM den Schnellabschalt-Modus (UDS Subfunktion0x04enableRapidShutdown), um bei Zündungswechsel unkritische Nachlaufphasen zu überspringen.+ Offer(): Lifecycle-Methode der Service-Skeleton-Implementierung im SM zur Bereitstellung des IPC-/Service-Endpoints.+ StopOffer(): Lifecycle-Methode der Service-Skeleton-Implementierung zur De-Registrierung des Interfaces (z. B. bei kontrolliertem SM-Shutdown).
- Dual typisiert als Port-Interface im ARXML-Modell (
- Beziehungen & Abhängigkeiten:
Diagnostic Management→EcuResetRequest:«use»/«aapRequiredPort»(R-Port-Bindung).State Management→EcuResetRequest: Realisierung / Bereitstellung (P-Port-Bindung / Service Skeleton).
3. Dynamisches Verhalten & Sequenzablauf
- UDS-Request-Eingang:
- Der externe Diagnosetester sendet einen UDS-Request Service
0x11(ECUReset) über DoIP/UDS an den DM-Daemon.
- Der externe Diagnosetester sendet einen UDS-Request Service
- Vorprüfung & Vorbereitung (
RequestReset):- Das DM prüft aktive Session (Default vs. Non-Default) und Security-Level.
- Bei Erfolg ruft das DM
RequestReset()amEcuResetRequest-Interface des SM auf. - SM prüft maschinenweite Bedingungen (z. B. Fahrzeugstillstand, kritische Funktionszustände) und signalisiert die Freigabe.
- Sonderbehandlung Rapid Shutdown (
EnableRapidShutdown):- Bei Subfunktion
0x04wird vorabEnableRapidShutdown()getriggert, woraufhin das SM entsprechende Flags für die nächste Transition in den Ruhezustand setzt.
- Bei Subfunktion
- Zweiphasige Entkopplung & UDS-Antwort:
- Vor dem tatsächlichen Reset muss die positive UDS-Response (
0x51 [subFunction]) zwingend vollständig über den Netzwerkstack an den Tester übertragen werden. - Das DM wartet auf das Sendebestätigungs-Event (Tx-Confirmation via DoIP/Transport Layer).
- Vor dem tatsächlichen Reset muss die positive UDS-Response (
- Reset-Trigger (
ExecuteReset):- Nach gesicherter Übertragung ruft das DM
ExecuteReset()auf. - Das SM übernimmt die Kontrolle, initiiert das geordnete Stoppen aller Applikationen via Execution Management (
ara::exec) und leitet den Hardware-/Kernel-Neustart der Machine ein.
- Nach gesicherter Übertragung ruft das DM
- Fehler- & Abbruchpfade:
- Verweigert das SM
RequestReset()(z. B. wegen sicherheitskritischer Zustände), bricht das DM den Ablauf ab und antwortet mit NRC0x22(ConditionsNotCorrect).
- Verweigert das SM
4. Normative Relevanz & Entwickler-Hinweise
- Strikte Trennung von Diagnose- und Plattformlogik: Applikations- und BSW-Entwickler dürfen keine direkten System-Reboots (wie
reboot()oder Kernel-Syscalls) aus dem Diagnosekontext ausführen. Sämtliche Reset-Aktionen müssen zwingend über den SM-Dienst aggregiert werden, um Inkonsistenzen in Dateisystemen, nicht-flüchtigen Speichern (ara::per) und Prozessen (ara::exec) zu verhindern. - Race-Condition-Vermeidung: Die funktionale Aufteilung in
RequestReset()undExecuteReset()ist normativ bindend. Ein synchrones Durchstarten direkt bei Empfang der PDU führt zum Verlust der TCP/IP-Verbindung, bevor das ACK/die Diagnoseantwort das Steuergerät verlässt (Verletzung von ISO 14229-1). - Service-Deployment & Manifeste:
- Im Execution- und Service-Instance-Manifest muss die IPC-Verbindung zwischen dem P-Port des State Management und dem R-Port des Diagnostic Management deklariert und instanziiert sein.
- Das SM muss
Offer()vor dem Eintritt des DM in den betriebsbereiten Diagnosemodus aufgerufen haben; das DM muss auf das Vorhandensein des Proxies synchronisieren (FindServicebzw. initiales Binding).
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.