AUTOSAR_AP_SWS_StateManagement
FIG-979ccefd596b5b9c
932 × 1310 px
1 Release(s)
Figure 7.28: Nested recovery example
SHA-256 Inhalts-Fingerabdruck:
979ccefd596b5b9c12a49eb6f1a8f20c508491ae0cc75c67c7bffc378b6e8d19
✦
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 2.0 Sequenzdiagramm mit Interaktionsfragmenten (
alt, kombinierte Aktivierungsbalken, State-Machine-Notizen und Anforderungsankern). - Funktionale Einordnung: AUTOSAR Adaptive Platform (AP), Functional Cluster State Management (SM) in Interaktion mit Platform Health Management (PHM) und Execution Management (EM).
- Technischer Zweck: Spezifikation des deterministischen Verhaltens von SM bei geschachtelten Recovery-Aktionen (Nested Recovery), wenn während einer laufenden Zustandsüberführung infolge eines Fehlers eine weitere Recovery-Anforderung für dieselbe übergeordnete SM-Zustandsmaschine eintrifft.
2. Komponenten, Entitäten & Schnittstellen
Akteure / Prozesse («process»)
EM(Execution Management): Verantwortlich für Prozesslebenszyklus (Spawn/Terminate) und Überwachung des Prozesszustands.State Management(SM): Koordiniert Systemzustände, Function Groups (FGs) und führt konfigurierte Recovery-Aktionen aus.PHM(Platform Health Management): Führt Alive-, Deadline- und Logical-Supervision durch und fordert Recovery-Aktionen an.process1(zugeordnet zuFG1): Erster überwachter Anwendungsprozess in Funktionsgruppe 1.process2(zugeordnet zuFG2): Zweiter überwachter Anwendungsprozess in Funktionsgruppe 2.
Schnittstellen & Interaktionen
checkpoint: Kontrollpunkt-Meldungen von Prozessen an PHM zur Laufzeitüberwachung.RecoveryHandler(FunctionGroup, ErrorCode): Asynchrone/synchrone Recovery-Schnittstelle von PHM an SM (z. B.RecoveryHandler(FG1, 23),RecoveryHandler(FG2, 100)).undefinedStateCallback(FunctionGroup, ErrorCode): Callback von EM an SM bei unerwarteter Prozessbeendigung (FG2, 100).kSMCanNotHandleRecovery: Negativer Rückgabewert von SM an PHM, falls die angeforderte FG nicht verwaltet wird.ErrorRecoveryTable: Interne SM-Konfigurationsmatrix zur Abbildung von(FunctionGroup, ErrorCode) -> TargetState.
3. Dynamisches Verhalten & Sequenzablauf
Phase 1: Primäre Fehlererkennung & Erste Recovery-Aktion
process1meldet reguläre Checkpoints an PHM; nach einem internen Fehler bleibt ein Checkpoint aus (missing checkpoint).- PHM startet einen Überwachungstimer (
timeout starts) und ruftRecoveryHandler(FG1, 23)an SM auf. - Ausnahme-Zweig (
alt [FG1 does not exist]/[SWS_SM_00030]): Existiert die Ziel-FG nicht in der SM-Konfiguration, antwortet SM unmittelbar mitkSMCanNotHandleRecovery(Eskalation an PHM). - Regulärer Pfad: SM ermittelt die zuständige Zustandsmaschine (
find affected StateMachine), welche sowohlFG1als auchFG2kontrolliert. - Tabellen-Lookup:
ErrorCode 23mappt auf ZielzustandS_Recovery. - SM triggert die Transition:
transit StateMachine to S_Recovery. process1wird durch EM beendet (terminate). Im weiteren Verlauf der Recovery-Sequenz wirdprocess2gestartet (spawn) und sendet initiale Checkpoints.
Phase 2: Kaskadierter Fehler & Geschachtelte Recovery (Nested Recovery)
process2terminiert unerwartet (unexpected terminated).- EM meldet den undefinierten Zustand via
undefinedStateCallback(FG2, 100)an SM. - Zeitgleich/in Folge detektiert PHM den Ausfall, startet einen zweiten Timer (
second timeout starts) und ruftRecoveryHandler(FG2, 100)auf. - SM identifiziert, dass auch
FG2von derselben bereits aktiven StateMachine kontrolliert wird. - Neuer Lookup:
ErrorCode 100mappt auf den ZustandS_Off(höhere Priorität / finale Abschaltung). - Die laufende Transition wird überschrieben:
transit StateMachine to S_Off.
Phase 3: Quittierung geschachtelter Aufrufe ([SWS_SM_00031])
- Sobald der finale Zustand
S_Off reachedeingenommen wurde, quittiert SM beide noch offenenRecoveryHandler-Aufrufe an PHM mitvoid:RecoveryHandler(FG2, 100) -> voidRecoveryHandler(FG1, 23) -> void
- PHM stoppt beide laufenden Recovery-Timeouts.
4. Normative Relevanz & Entwickler-Hinweise
- Zustandsmaschinen-Granularität: Steuert eine StateMachine mehrere Function Groups (hier
FG1undFG2), müssen Entwickler kaskadierende Fehlerszenarien einkalkulieren. Fehlerhafte Teilkomponenten können übergeordnete Gesamtzustandsänderungen erzwingen. - Konformität zu
SWS_SM_00031(Nested Recovery Handling): Eintreffende Recovery-Anfragen an eine bereits in Transition befindliche StateMachine dürfen nicht verworfen werden. SM muss den Zustandsübergang auf das jüngste/prioritäre Ziel anpassen und alle akkumuliertenRecoveryHandler-Aufrufe erst nach Erreichen des konsolidierten Endzustands erfolgreich (void) zurückgeben. - Konformität zu
SWS_SM_00030(Fehlerpfad): Liegt keine Mapping-Regel für eine Funktionsgruppe vor, ist synchronkSMCanNotHandleRecoveryzu melden, damit PHM unverzüglich Plattform-Fallbacks (z. B. Watchdog-Reset / MCU-Reset) einleiten kann. - Timeout-Budgetierung (PHM-Integration): Der vom PHM gestartete Timeout läuft ab dem Aufruf von
RecoveryHandler. Bei geschachtelten Transitionen summiert sich die Latenz (z. B. Beenden vonprocess1+ Anlauf/Absturzprocess2+ Übergang nachS_Off). Das Timeout-Budget in den PHM-Recovery-Aktionen muss zwingend auf die Worst-Case-Transitionszeiten von SM und EM ausgelegt sein, um Fehlauslösungen von System-Resets zu verhindern.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.