AUTOSAR_AP_EXP_SWArchitecture
FIG-df738153d9b1aab9
279 × 298 px
1 Release(s)
Figure 9.67: Interfaces for supervision
SHA-256 Inhalts-Fingerabdruck:
df738153d9b1aab9505da42b65b167630599c1f88b5687e8d67fec7a512e3199
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Komponentendiagramm / Schnittstellendiagramm gemäß AUTOSAR Adaptive Platform (AAP) Softwarearchitektur.
- Architektur-Kontext: Spezifiziert im Dokument
AUTOSAR_EXP_SWArchitecture(Kapitel 9, Functional Cluster Platform Health Management, PHM). Es definiert die strukturelle Entkopplung und Interaktion zwischen einer Nutzer-Applikation (Adaptive Application) und dem zentralen, prozessbasierten PHM-Daemon (daemon-based) zur Laufzeitüberwachung der Kontrollfluss- und Zeitintegrität.
2. Komponenten, Entitäten & Schnittstellen
- «aapFunctionalCluster» Platform Health Management daemon-based:
- Architekturelle Komponente / Server-Cluster der AUTOSAR Adaptive Platform.
- Läuft als eigenständiger Hintergrundprozess (Daemon) im POSIX-Betriebssystem.
- Implementiert die Überwachungsalgorithmen (Alive-, Deadline- und Logical Supervision) sowie das Health-Monitoring.
- Adaptive Application:
- UML-Komponente, die einen Anwendungs- bzw. Plattformprozess darstellt.
- Agiert als überwachte Einheit (Supervised Entity bzw. Host der Entität).
- «aapAPI, aapPortInterface» SupervisedEntity:
- Formale Schnittstelle, die sowohl als plattformspezifisches Port-Interface als auch als C++-Klassen-API (
ara::phm::SupervisedEntity) typisiert ist. - Operationen:
+ ReportCheckpoint()(parametrisiert über eine eindeutige Checkpoint-ID).
- Formale Schnittstelle, die sowohl als plattformspezifisches Port-Interface als auch als C++-Klassen-API (
- Beziehungen & Stereotypen:
- Schnittstellen-Realisierung: Gestrichelter Pfeil mit geschlossener Spitze von
Platform Health Management daemon-basedzuSupervisedEntity– der PHM-Daemon implementiert das Backend für den Schnittstellenvertrag. - Nutzungsbeziehung: Gestrichelter Pfeil mit offener Spitze und Annotation
«use»/«aapProvidedPort»vonAdaptive ApplicationzuSupervisedEntity– die Applikation greift clientseitig auf diese Schnittstelle zu, um ihren Ausführungsfortschritt mitzuteilen.
- Schnittstellen-Realisierung: Gestrichelter Pfeil mit geschlossener Spitze von
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung: Die
Adaptive Applicationinstanziiert lokal das API-Objektara::phm::SupervisedEntity(gebunden an die im ARXML konfigurierte Instanz-Referenz). - Trigger (Normalpfad): Erreichen eines definierten Programmpunkts im Code der
Adaptive Application. - Synchroner API-Aufruf: Die Anwendung ruft
ReportCheckpoint(checkpointId)auf. - IPC-Transport: Der Aufruf wird über eine optimierte, nicht-blockierende Interprozesskommunikation (IPC, z. B. POSIX Shared Memory oder Domain Sockets) aus dem Adressraum der Anwendung in den
Platform Health Management-Daemon übermittelt. - Supervision-Auswertung (Daemon-seitig):
- Alive Supervision: Prüfung, ob Checkpoints innerhalb definierter Toleranzfenster in vorgegebener Häufigkeit eintreffen.
- Deadline Supervision: Validierung von Mindest- und Höchstlaufzeiten zwischen zwei korrelierten Checkpoints.
- Logical Supervision: Prüfung der Transitionen im Kontrollflussgraphen gegen definierte Vorgänger-/Nachfolger-Relationen.
- Eskalation / Fehlerbehandlung: Bei Verletzung der Überwachungsbedingungen triggert der PHM-Daemon konfigurierte Recovery Actions (z. B. Meldung an den Execution Management (EM) Cluster zur Prozess-Restrukturierung/Neustart oder Eintrag in den Fehlerspeicher via Diagnostic Management).
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag (
ara::phm):- Aufrufe von
ReportCheckpoint()müssen strikt deterministisch und thread-sicher sein. Sie dürfen im Applikations-Thread keinen blockierenden I/O auslösen, um Echtzeitanforderungen nicht zu verletzen.
- Aufrufe von
- Daemon-basierte Latenz & Timing-Budget:
- Die Kennzeichnung
daemon-basedbedingt IPC-Overhead. Entwickler dürfen Deadlines nicht feingranularer als die System-IPC-Latenz und den Scheduling-Jitter des Zielbetriebssystems auslegen.
- Die Kennzeichnung
- Modellierung im Adaptive Manifest:
- Jede
SupervisedEntityund deren zugehörigeCheckpoint-IDs müssen im ARXML (Execution- / Service-Instance-Manifest) lückenlos deklariert und den Prozessen zugeordnet werden. - Diskrepanzen zwischen statisch generierten/konfigurierten IDs und im C++-Code gemeldeten Werten führen zur Verletzung der Logical Supervision und lösen automatische Schutzmaßnahmen aus.
- Jede
- Prozessisolation:
- Durch die Entkopplung in einen eigenen Daemon bleibt die Überwachungsinstanz auch bei Segfaults oder Hängern der
Adaptive Applicationvoll funktionsfähig und kann den Ausfall deterministisch melden.
- Durch die Entkopplung in einen eigenen Daemon bleibt die Überwachungsinstanz auch bei Segfaults oder Hängern der
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.