AUTOSAR_AP_SWS_StateManagement
FIG-a481fd2ca3509290
796 × 1326 px
2 Release(s)
Figure 7.36: Reset machine handling within StateMachine approach
SHA-256 Inhalts-Fingerabdruck:
a481fd2ca35092909a51f47c45932ffbed6c829b38d19c8b8cd33bfafeeb338b
✦
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 Zustandswächtern (
alt-Fragmente) und Systemzustandsübergängen über einen Maschinen-Reboot hinweg. - Architektur-Kontext: AUTOSAR Adaptive Platform (ARA), Spezifikation State Management (SWS StateManagement, Releases R24-11 / R25-11).
- Funktionaler Zweck: Modellierung des kontrollierten ECU-/Maschinen-Resets im Rahmen eines Update-Vorgangs (UCM-Interaktion). Das Diagramm spezifiziert die koordinierte Interaktion zwischen dem Service-Interface
UpdateRequestund der internen Steuerlogik des State Management (SM) sowie das Wiederaufnehmen der Update-Session nach dem Kalt-/Warmstart über das Execution Management (EM).
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lebenslinien:
«Service» UpdateRequest: Service-Instanz bzw. ara::com-Schnittstelle (ara::sm::UpdateRequest), über die UCM (Update and Configuration Management) oder externe Update-Clients SM-Funktionen triggern und überwachen.State Management: Kernkomponente der Adaptive Platform zur Orchestrierung von Funktionsgruppen (Function Groups) und Ausführungszuständen.- Implizit beteiligte Subsysteme: Execution Management (
EM), Host-OS/Bootloader, persistenter Speicher für Session-Flags.
- Schnittstellen-Elemente & Felder:
- Methode:
ResetMachine()– parameterloser Aufruf zur Einleitung des Shutdown- und Neustartzyklus der Maschine. - Field / Notifier:
ResetMachineNotifier(Field mit Getter/Notifier) mit den Zustandswerten:kIdle: Ruhezustand / Default nach Boot.kSuccessful: Bestätigung des erfolgreichen Übergangs in den StateMachine-ZustandContinueUpdate.kFailed: Fehler beim Erreichen des ZustandsContinueUpdate.
- Methode:
- Beziehungen & Abhängigkeiten:
- SM steuert über EM die Function Group
MachineFG(TransitionMachineFG::Startup). - Zustandsbehaftete Persistenz: Der Indikator
"active update session"muss über den Power-Cycle/Reboot hinweg nicht-flüchtig erhalten bleiben.
- SM steuert über EM die Function Group
3. Dynamisches Verhalten & Sequenzablauf
- Vorbedingung: Eine Update-Session ist aktiv (
"active update session" == true) undResetMachineNotifiersteht aufkIdle. - Trigger: Client ruft synchron/asynchron
ResetMachine()amUpdateRequest-Service auf. - Shutdown-Vorbereitung ([SWS_SM_00658]): SM leitet den Übergang in den Zustand
Restartdes internen Zustandsautomaten ein; Function Groups werden deterministisch heruntergefahren. - Maschinen-Reboot:
- Plattform führt OS-Shutdown und Hardware-/Software-Reset durch.
- Bootloader startet OS und Execution Management (EM).
- EM aktiviert die Baseline-Funktionsgruppe
MachineFG::Startup.
- Initialisierung nach Neustart ([SWS_SM_00212] & [SWS_SM_00204]):
- SM initialisiert das Feld
ResetMachineNotifier::Set(kIdle). - SM liest den persistenten Session-Status aus (
check if active update session).
- SM initialisiert das Feld
- Bedingte Verzweigung (
alt):- Pfad A (
"active update session" == true):- [SWS_SM_00657]: SM initiiert die Transition in den Zustand
ContinueUpdateder StateMachine. - Sub-Pfad A1 (
[transition to ContinueUpdate OK]/ [SWS_SM_00662]): State Machine erreicht den Zustand fehlerfrei;ResetMachineNotifierwird viaSet(kSuccessful)aktualisiert. Die Update-Session wird fortgesetzt, verbleibende Validierungsprozesse laufen an. - Sub-Pfad A2 (
[transition to ContinueUpdate NOK]/ [SWS_SM_00663]): Transition schlägt fehl (z. B. Timeout, Prozessstart-Fehler in EM); SM setztResetMachineNotifier::Set(kFailed).
- [SWS_SM_00657]: SM initiiert die Transition in den Zustand
- Pfad B (
"active update session" == false):- Regulärer Kaltstart; SM führt Standard-Startup durch und wechselt in den Initialzustand des Applikations-Controllers.
- Pfad A (
4. Normative Relevanz & Entwickler-Hinweise
- Service-Design (UCM / Client): Der Aufrufer darf nach
ResetMachine()keine sofortige synchrone Erfolgsmeldung erwarten, die den Abschluss des Updates quittiert. Der finale Status (kSuccessful/kFailed) wird nach dem Wiederanlauf der Plattform über das FieldResetMachineNotifierpubliziert; Clients müssen dieses Field abonnieren (Subscribe) und nach dem Reconnect auswerten. - Persistenzanforderung: Der Status
"active update session"unterliegt strikter Persistenzgarantie (z. B. viaara::peroder Early-NVRAM-Flags). Geht dieses Flag beim Reboot verloren, fällt SM unzulässig in den Pfad normal startup zurück, was zu unvollständigen Rollouts oder hängenden UCM-Transaktionen führt. - Execution Management & Timeout-Budget: Der Übergang nach
ContinueUpdateerfordert, dass alle für den Update-Modus definierten Prozesse der jeweiligen Function Group innerhalb der inMachineFGkonfigurierten Startup-Timeouts fehlerfrei starten. Schlägt ein einziger abhängiger Prozess fehl, greift zwingendSWS_SM_00663(kFailed). - Fehlerbehandlung: Empfängt UCM
kFailed, muss der Rollback-Mechanismus (z. B. Revert auf redundante A/B-Partition oder Aktivierung des vorherigen Software-Clusters) initiiert werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.