AUTOSAR_SWS_PlatformHealthManagement
FIG-dcf9854bbb76951e
932 × 307 px
1 Release(s)
Figure 7.1: Health Channel configuration
SHA-256 Inhalts-Fingerabdruck:
dcf9854bbb76951ed3629ff308203062f78b07cd89dcbeca58dc3e2ee1db3545
✦
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: UML-Klassendiagramm (Metamodell- / Konfigurationsausschnitt, Paketrahmen
HM_HealthChannel). - Architektur-Kontext: AUTOSAR Adaptive Platform (Release R20-11), Spezifikation Platform Health Management (PHM).
- Technischer Zweck: Definition der Metamodell-Struktur für die Health-Channel-Supervision. Im Gegensatz zu kontrollflussbasierten Mechanismen (Alive-, Deadline- und Logical-Supervision über Checkpoints) dient der Health Channel der statischen und zustandsbasierten Überwachung diskreter System-, Hardware- oder Applikationszustände (z. B. Sensorausfall, Speicherfehler, interne Degradation).
2. Komponenten, Entitäten & Schnittstellen
HealthChannel(Klasse):- Repräsentiert einen logischen Überwachungskanal innerhalb des PHM.
- Attribute:
Name: Eindeutiger Bezeichner des Überwachungskanals.ID: Numerische Kennung zur internen Adressierung und Laufzeit-Identifikation bei IPC-/API-Aufrufen.HealthStatusInitValue: Initialer Gesundheitszustand, der dem Kanal beim Systemstart bzw. vor dem Eintreffen der ersten Statusmeldung zugewiesen wird.
HealthStatus(Klasse):- Repräsentiert einen diskreten, gültigen Zustandswert, den der zugehörige Kanal annehmen kann (z. B.
OK,DEGRADED,FATAL_ERROR). - Attribute:
Name: Symbolischer Bezeichner des Zustands.ID: Numerischer Enumerate-Wert, der über die Laufzeitschnittstelle übertragen wird.
- Repräsentiert einen diskreten, gültigen Zustandswert, den der zugehörige Kanal annehmen kann (z. B.
- Beziehungen & Kardinalitäten:
- Komposition (
HealthChannel◆---HealthStatus): EinHealthChannelbesitzt die vollständige Existenzabhängigkeit (Lebenszyklus-Hoheit) über seine zugeordnetenHealthStatus-Instanzen. Ein Zustandswert existiert nur im Kontext seines Kanals (1 zu $1..\ast$).
- Komposition (
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung: Beim Hochfahren der Adaptive Application und des PHM-Daemons befindet sich der Kanal im Zustand
HealthStatusInitValue. - Laufzeit-Trigger (Meldung): Eine überwachte Entität (Applikation, Treiber oder HW-Monitor) meldet ihren Status via IPC/API (
ReportHealthStatus(HealthChannelId, HealthStatusId)) synchron an die lokale PHM-Laufzeitbibliothek. - Validierung & Zustandsübergang: Der PHM-Daemon prüft, ob die gemeldete
HealthStatusIdTeil der für den Kanal konfiguriertenHealthStatus-Menge ist. Bei Übereinstimmung wechselt der Kanalzustand. - Auswertung & Recovery: Der aktuelle Zustand speist die PHM-Regel-Engine (Supervision Condition / Logical Expression):
- Verlässt der Kanal den Normalzustand oder nimmt einen definierten Fehlerstatus ein, wird die zugeordnete Recovery Action getriggert (z. B. Prozessneustart über Execution Management, Transition über State Management oder Fehlereintrag via Diagnostic Management).
- Bei Meldung unkonfigurierter IDs greift die Fehlerbehandlung des PHM (z. B. Reporting an die Logging/Security-Infrastruktur).
4. Normative Relevanz & Entwickler-Hinweise
- Konfigurationsvertrag (ARXML):
- Für jeden Kanal müssen alle erwarteten Statuswerte inklusive Initialzustand (
HealthStatusInitValue) lückenlos im Manifest modelliert werden. Nicht deklarierte IDs zur Laufzeit führen zu API-Fehlern (ara::phm-Fehlercodes) und verwerfen die Meldung.
- Für jeden Kanal müssen alle erwarteten Statuswerte inklusive Initialzustand (
- API & Applikations-Entwicklung (
ara::phm):- Applikationen instanziieren ein kanalbezogenes Interface-Objekt (z. B.
ara::phm::HealthChannel). - Die Aufrufe sollten zustandsändernd oder bei Erreichen kritischer Degradationsstufen erfolgen; sie erfordern deterministische Zuordnung der im Manifest definierten numerischen IDs zu lokalen Enums.
- Applikationen instanziieren ein kanalbezogenes Interface-Objekt (z. B.
- Stack- & Plattform-Integration:
- Der PHM-Daemon muss threadsicher und nicht-blockierend ausgelegt sein, um Meldungen mehrerer Channels aus verschiedenen Prozessen/Kernen ohne Priority-Inversion zu konsolidieren.