AUTOSAR_AP_SWS_StateManagement
FIG-0c24ee417b54ec44
932 × 991 px
1 Release(s)
Figure 7.12: Error Recovery
SHA-256 Inhalts-Fingerabdruck:
0c24ee417b54ec44332159c1bac0f26584915517765f50f312fded1df07a20af
✦
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-Sequenzdiagramm (Interaktionsdiagramm) mit kombinierten Fragmenten (
alt,opt), State-Invariants (Current State: On,Current State: Recovery) und Annotationsblöcken. - Technischer Zweck: Spezifikation des standardisierten Fehlerbehebungsmechanismus (Error Recovery) im AUTOSAR Adaptive Platform Functional Cluster State Management (SM).
- Funktionale Einordnung: Dargestellt ist die Koordination zwischen dem Platform Health Management (
ara::phm), dem Execution Management (ara::exec) und dem State Management (SM), wenn Laufzeit- oder Transitionsfehler auftreten. Das Diagramm modelliert das Verriegeln externer Zustandsanforderungen, das Ermitteln des Fehlerkontexts, die Überführung in einen definierten Wiederherstellungszustand (Recovery State) viaErrorRecoveryTableund die Abarbeitung assoziierter Aktionen (ActionLists).
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lifelines:
«Service» StateMachineService: Service-Interface (Skeleton/Proxy-Muster inara::com) für externe funktionale Cluster oder Applikationen zur Initiierung von Zustandsübergängen viaRequestTransition(TransitionRequest).«Service» StateMachineNotification: Service-Interface für Zustands-Broadcasts/Events (z. B.InTransition, Zieldatenmeldungen).State Management: Zentraler logischer Orchestrator (Adaptive Core FC).ara::exec::StateClient: C++-API des Execution Management (EM) zur Funktionsgruppen-Steuerung (FunctionGroup) und Fehlerabfrage.ara::phm::RecoveryAction: Schnittstelle des Platform Health Management (PHM) zur Weiterleitung überwachter Health-Fehler an SM.
- Datenstrukturen & Parameter:
ExecutionErrorEvent: Datenstruktur enthaltend Kontextdaten, mindestensFunctionGroupundExecutionError(Fehlercode/ID).ErrorRecoveryTable: Konfigurierte Nachschlagetabelle zur Zuordnung von(FunctionGroup, ExecutionError) -> StateMachineState (Recovery).ActionListItems: Konfigurierte Aktionen, die an den ZustandRecoverygebunden sind (z. B. Prozessneustart, Plattform-Reset).- Fehlercode
kRecoveryTransitionOngoing: Rückgabewert zur Signalisierung abgewiesener Anfragen während aktiver Fehlerbehandlung.
3. Dynamisches Verhalten & Sequenzablauf
- Fehlererkennung & Trigger (Initiale Invariante:
Current State: On):- Alternative 1 (PHM-Trigger):
ara::phm::RecoveryActionmeldet viaRecoveryHandler(ExecutionErrorEvent)einen Alive-/Deadline-/Logical-Supervision-Fehler. - Alternative 2 (EM-Trigger, asynchron/außerhalb Transition):
ara::exec::StateClientmeldet viaundefinedStateCallback(ExecutionErrorEvent)einen Prozessabsturz oder unerwarteten Prozessausstieg. - Alternative 3 (EM-Trigger, Transitionsfehler):
ara::exec::StateClientliefert synchron/asynchron einen Fehlerstatus (z. B.kFailed) bei einer laufenden Funktionsgruppen-Transition.
- Alternative 1 (PHM-Trigger):
- Verriegelung externer Transitionsanfragen (Sperrphase):
- Ab Eingang der Fehlermeldung sperrt SM die Annahme neuer Transitionen.
- Optionaler Parallelpfad (
opt): EintreffendeRequestTransition(...)-Aufrufe anStateMachineServicewerden unmittelbar abgewiesen und synchron mitkRecoveryTransitionOngoingbeantwortet.
- Fehlerkontext-Auflösung & Notifikation:
- Optionaler Zweig (
optbei Transitionsfehler EM): SM fragt viaGetExecutionError(FG)beiara::exec::StateClientden genauenExecutionErrorEventab. - SM sendet
InTransitionan Abonnenten von«Service» StateMachineNotification. - SM bestimmt anhand von
ExecutionErrorEvent.FunctionGroupdie betroffene State Machine und liest den Zielzustand (Recovery) aus derErrorRecoveryTablebasierend aufExecutionErrorEvent.ExecutionErroraus.
- Optionaler Zweig (
- Wiederherstellung & Abarbeitung (Invariante:
Current State: Recovery):- SM führt die mit dem Zustand
RecoverykonfiguriertenActionListItemsaus. - Alternative (
alt):- Zweig 1 [Fehler während ActionListItems-Abarbeitung]: Tritt erneut ein Fehler via PHM oder EM auf, wird die Recovery-Kaskade reentrant/rekursiv neu durchlaufen (Basis-Zustand ist nun
Recovery). - Zweig 2 [Erfolg]: Nach vollständiger Abarbeitung öffnet SM das Interface
StateMachineServicewieder für reguläreRequestTransition-Aufrufe und publiziert das EventState Recoveryüber«Service» StateMachineNotification.
- Zweig 1 [Fehler während ActionListItems-Abarbeitung]: Tritt erneut ein Fehler via PHM oder EM auf, wird die Recovery-Kaskade reentrant/rekursiv neu durchlaufen (Basis-Zustand ist nun
- SM führt die mit dem Zustand
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag (
StateMachineService):- Applikationen und Koordinatoren müssen auf den Return-Code
kRecoveryTransitionOngoingvorbereitet sein. Anfragen dürfen nicht ungeprüft als erfolgreich angenommen werden; geeignete Retry-Mechanismen oder Fallbacks sind applikativ vorzusehen.
- Applikationen und Koordinatoren müssen auf den Return-Code
- Konfigurationspflichten (Manifest / ARXML):
- Vollständige Definition der
ErrorRecoveryTable: Für jeden von PHM oder EM emittierbarenExecutionErrorin einer Funktionsgruppe muss eine deterministische Abbildung auf einen Zielzustand existieren. Undefinierte Fehler führen zu undefiniertem Systemverhalten. - Korrekte Deklaration von
ActionListItems: Die inRecoveryausgeführten Aktionen müssen deterministisch terminieren, um Deadlocks zu vermeiden, da externe Transitionen währenddessen gesperrt bleiben.
- Vollständige Definition der
- Stack- & Integrator-Implementierung:
- Der Callback
undefinedStateCallbackvon EM muss thread-sicher und reentrant implementiert sein. - SM muss sicherstellen, dass bei aufeinanderfolgenden Fehlern (Kaskadierungsfall im zweiten
alt-Block) keine Endlosschleifen zwischen Fehlerzuständen entstehen (Überwachung der Recovery-Rekursionstiefe).
- Der Callback
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.