AUTOSAR_AP_SWS_Diagnostics
FIG-7b21b547b0060e01
932 × 487 px
10 Release(s)
Figure 1.2: Diagnostic Managers external dependencies
SHA-256 Inhalts-Fingerabdruck:
7b21b547b0060e0149ad25b0a74bd4c6dc635720095bd8133f84a427ec0f6b85
✦
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
- Diagrammtyp: Informelles Komponenten- und Abhängigkeitsdiagramm (Functional Architecture / External Dependencies Diagram) der AUTOSAR Adaptive Platform (AP).
- Funktionaler Zweck: Dokumentiert die Systemgrenzen, externen Kopplungen und Abhängigkeiten des Functional Clusters Diagnostic Management (
ara::diag) zu Adaptive Applications, Nachbar-Clustern, Basisinfrastruktur (POSIX/Netzwerk) und den zugrunde liegenden Modellierungsmanifesten. - Architektur-Einordnung: In der AUTOSAR Adaptive Platform läuft der Diagnostic Manager typischerweise als eigenständiger Prozess (Platform Application). Er agiert als Bindeglied zwischen externen Diagnosetestern (über Ethernet/DoIP) und der internen Software-Architektur (Adaptive Applications und Systemdienste).
2. Komponenten, Entitäten & Schnittstellen
- Diagnostic Manager (Zentraler Cluster):
- DEM / DCM (Diagnostic Event Manager / Diagnostic Communication Manager): Konsolidierte Diagnoseschicht. Verarbeitet ISO-14229-1 (UDS)-Services, verwaltet Fehlerspeicher (DTCs, Status-Bits, Freeze Frames, Extended Data) und steuert Diagnosesitzungen sowie Sicherheitslevel.
- TP (Transport Protocol): Netzwerknahe Schicht zur Protokollsegmentierung und -terminierung; auf AP-Systemen primär als DoIP (Diagnostics over IP, ISO 13400-2) implementiert.
- API on ARA::Com (Schnittstellenadapter): Adaptionsschicht, die die standardisierten C++-APIs (
ara::diag) über Interprozesskommunikation (IPC viaara::com) für verteilte Applikationen bereitstellt.
- Application (Adaptive Application):
- Applikationsprozess, der als Diagnose-Provider dient (Bereitstellung von DIDs via
DataIdentifier, Ausführung vonRoutineControl, Event-Reporting für DTCs viaDiagnosticEvent).
- Applikationsprozess, der als Diagnose-Provider dient (Bereitstellung von DIDs via
- Dependencies to Functional Clusters (Plattformdienste):
- Statemanger (
ara::sm): Entgegennahme und Ausführung von Reset- und Moduswechselanforderungen (z. B. UDS-Service0x11 ECUResetoder UDS0x28 CommunicationControl). - Executionmanager (
ara::exec): Lebenszyklusüberwachung, Anbindung an Execution State Reporting und Funktionsgruppen-Statuswechsel. - Updatemanager (
ara::ucm): Abwicklung software- und firmwarebezogener Diagnosedienste (UDS Services0x34 RequestDownload,0x36 TransferData,0x37 RequestTransferExit) zur Koordination von Software-Updates. - Persistency (
ara::per): Nichtflüchtige Speicherung von Diagnosedaten (DTC-Status, Snapshot-Daten, Fehlerspeicherhistorie) über Key-Value- oder File-Storage-Mechanismen. - Security (
ara::crypto/ IAM): Authentifizierung und Autorisierung externer Tester (UDS0x29 Authentication,0x27 SecurityAccess), kryptografische Zertifikatsvalidierung sowie Policy-Durchsetzung über Identity and Access Management.
- Statemanger (
- Konfigurationsmanifeste (ARXML-Artefakte):
- Application Manifest: Definiert die Port-Schnittstellen, Prozess-Instanziierungen und das
ara::com-Service-Mapping der Applikation. - DEXT (Diagnostic Extract, ASAM MCD-2 D / ODX-Äquivalent): Spezifiziert UDS-Services, DIDs, DTCs, Entprellalgorithmen, Read/Write-Zugriffsrechte und Snapshot-Parameter.
- **Maschine Manifest (sic, Machine Manifest):** Konfiguriert die Hardware- und Netzwerktopologie (z. B. IP-Adressen, TCP/UDP-Ports für DoIP-Endpunkte) der Zielmaschine.
- Application Manifest: Definiert die Port-Schnittstellen, Prozess-Instanziierungen und das
- Plattform-Basis:
- Network / POSIX: Bereitstellung des Betriebssystem-Sockets (z. B. BSD Sockets für DoIP auf Port 13400) und der Multithreading-/IPC-Primitive gemäß POSIX PSE51/PSE52.
3. Dynamisches Verhalten & Sequenzablauf
Obwohl das Diagramm statische Abhängigkeiten zeigt, definiert die Architektur folgende dynamische Pfade:
- Externe Diagnoseanforderung (Tester → Application):
- Diagnose-Frame trifft via
Network/POSIX-Socket beimTP(DoIP) ein. TPvalidiert den DoIP-Header und übergibt die UDS-Nutzlast anDEM/DCM.DEM/DCMprüft überSecurity(IAM/Crypto) Zugriffsrechte und aktive Sitzung.- Bei service- oder datenspezifischen Anfragen (z. B.
ReadDataByIdentifier 0x22) dispatchtDEM/DCMüberAPI on ARA::Comeinen asynchronen IPC-Call an die Ziel-Application. - Die
Applicationantwortet viaara::core::Future/ara::core::Result;DEM/DCMgeneriert die UDS-Response und sendet sie überTPzurück.
- Diagnose-Frame trifft via
- Internes Event-Reporting (Application → Fehlerspeicher):
Applicationmeldet Fehlerzustand viaara::diag::DiagnosticEvent::SetEventStatus().- IPC-Übertragung an
DEM/DCM; Ausführung der Fehlerentprellung (Debouncing). - Bei Statusübergang zu confirmed erfolgt das Erfassen von Freeze Frames und das synchrone/asynchrone Persistieren via
Persistency (ara::per).
- Systemzustandsmodifikation (Tester → System):
- Eintreffen einer UDS-Steueranforderung (
0x11oder Update-Sequenz0x34). DEM/DCMdelegiert anStatemanger(Systemneustart/State Transition) bzw.Updatemanager(UCM-Paketverarbeitung).
- Eintreffen einer UDS-Steueranforderung (
4. Normative Relevanz & Entwickler-Hinweise
- Asynchrone API-Semantik (
ara::core::Future): Da Aufrufe zwischenDEM/DCMundApplicationzwingend über IPC (API on ARA::Com) laufen, dürfen Applikations-Handler (z. B. für DIDs oder RoutineControls) nicht blockieren. Entwickler müssen mit asynchronen Return-Types und strikten Timeouts (UDS P2/P2* Timer) arbeiten, um ein Session-Timeout zu verhindern. - Manifest-Konsistenz (DEXT vs. Manifests): Das DEXT definiert Diagnoseobjekte normativ, während das Machine Manifest Netzwerkressourcen (DoIP-Sockets) und das Application Manifest die Kommunikations-Bindings bindet. Diskrepanzen zwischen DEXT (z. B. erwartete DID-Byte-Länge) und der C++-Implementierung führen zu Serialisierungsfehlern in der
ara::com-Schicht. - Persistenz-Zyklen & Wearout: Schreibzugriffe auf
ara::perfür DTC-Statusbits müssen hinsichtlich Flash-Haltbarkeit (Endurance) und Crash-Sicherheit konfiguriert werden; Logging- und Entprellstrategien sollten im DEXT restriktiv gewählt werden. - Port-Isolation & Firewalling: Da
TPdirekt auf POSIX-Netzwerk-Sockets aufsetzt, muss das Routing (DoIP TCP/UDP Port 13400) im Machine Manifest und der POSIX-Firewall strikt auf autorisierte Interfaces (z. B. Diagnosestecker, interner Switched-Ethernet-Port) beschränkt werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.