DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_StateManagement FIG-6f60dd7185302f5a 932 × 1027 px 1 Release(s)

Figure 7.13: StateMachine change

SHA-256 Inhalts-Fingerabdruck: 6f60dd7185302f5a3163b82c518e264e0b80c6fb4d1310c6af89fff61c28a1bc
✦ 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.x Sequenzdiagramm (Interaktionsdiagramm) mit kombinierten Fragmenten (alt-Operatoren) und Zustandsinvarianten (State Invariants: Current State: Off, Current State: On).
  • Funktionale Einordnung: AUTOSAR Adaptive Platform (AP), Spezifikation AUTOSAR_AP_SWS_StateManagement (Release R25-11).
  • Technischer Zweck: Normative Modellierung des Protokolls für Zustandsübergänge (State Transitions) innerhalb des Functional Clusters State Management (SM) gemäß RS_SM_00001 und RS_SM_00005. Das Diagramm spezifiziert die Request-Validierung gegen statisch konfigurierte Tabellen, die asynchrone Zustandsbenachrichtigung an Observer sowie die Ausführung gekoppelter Aktionen (ActionLists) inklusive strukturierter Fehlerpfade (SWS_SM_00607, SWS_SM_00650).

2. Komponenten, Entitäten & Schnittstellen

  • Beteiligte Instanzen & Stereotypen:
    • «Service» StateMachineService: Service-Interface (Provided Port des SM, Consumed Port von Client-Applikationen / Funktionsträgern). Bietet die Steuerungsschnittstelle RequestTransition(TransitionRequest).
    • «Service» StateMachineNotification: Service-Interface (Provided Port des SM, Event-/Field-Notifier). Informiert Observer über Zwischen- (InTransition) und Endzustände (State On).
    • State Management: Zentraler Functional Cluster (Daemon/Runtime-Entität), der die interne State Machine betreibt und Aktionen orchestriert.
  • Datenstrukturen & Artefakte:
    • TransitionRequest: Formaler Übergangsparameter (Enumeration/Identifier).
    • TransitionRequestTable: Im ARXML-Manifest hinterlegte Übergangstabelle, welche Paare aus Quellzustand und Trigger auf Zielzustände abbildet.
    • ActionListItems: Konfigurierte atomare Ausführungsbefehle des Zielzustands (z. B. Prozessstarts/-stopps via Execution Management, Schnittstellen-Konfigurationen).
  • Rückgabe-/Fehlercodes (ara::core::ErrorCode):
    • kInvalidValue: Der übergebene TransitionRequest existiert nicht im Systemmodell.
    • kTransitionNotAllowed: Der Trigger ist zwar global bekannt, aus dem aktuellen Zustand (Current State: Off) jedoch unzulässig.
    • kTransitionFailed: Fehler während der sequentiellen Abarbeitung der ActionListItems.

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger & Vorbedingung:
    • Invariante: Zustand ist Current State: Off.
    • Aufruf von RequestTransition(TransitionRequest) via StateMachineService an das State Management.
  2. Validierung (alt-Fragment 1):
    • Prüfung: SM führt Lookup in TransitionRequestTable aus.
    • Pfad 1 (Ungültiger Trigger): [Invalid: TransitionRequest not in table] → Direkte Fehlerrückgabe kInvalidValue.
    • Pfad 2 (Unzulässiger Übergang): [Invalid: TransitionRequest not allowed from the current state] → Direkte Fehlerrückgabe kTransitionNotAllowed.
    • Pfad 3 (Erfolg / Validiert): [Request valid]:
      • SM emittiert Event InTransition über StateMachineNotification.
      • Zustandswechsel auf Folgezustand (Current State: On) basierend auf Tabellen-Lookup.
  3. Aktionsausführung & Abschluss (alt-Fragment 2):
    • Invariante: Zustand wechselt auf Current State: On.
    • SM startet die Abarbeitung aller zugeordneten ActionListItems.
    • Pfad 1 (Aktionsfehler): [Error during processing] → Rückgabe von kTransitionFailed an StateMachineService. Übergang in gesonderte Error-Handling-Routine.
    • Pfad 2 (Erfolg): [Success]:
      • SM sendet Statusmeldung State On über StateMachineNotification.
      • Erfolgreiche Bestätigung (Return) des ursprünglichen RequestTransition-Aufrufs.

4. Normative Relevanz & Entwickler-Hinweise

  • Synchronisations- & Threading-Modell: RequestTransition() besitzt synchrone Blockier- bzw. Future-Charakteristik (ara::core::Future<void>). Die Operation schließt erst ab, nachdem sämtliche ActionListItems des Zielzustands abgearbeitet oder auf Fehler gelaufen sind. Aufrufer müssen entsprechende Timeouts und Latenzen für Aktionsketten einplanen.
  • Entkopplung über Notification-Services: Zustandsabhängige Applikationen dürfen den Abschluss einer Transition nicht durch zyklisches Polling abfragen, sondern müssen StateMachineNotification abonnieren, um auf InTransition (Vorbereitungsphase) und State On (Betriebsbereitschaft) zu reagieren.
  • ARXML-Konfigurationsanforderung: Die TransitionRequestTable muss vollständig und deterministisch spezifiziert sein. Jeder nicht explizit erlaubte Übergang führt deterministisch zu kTransitionNotAllowed oder kInvalidValue (Fail-Fast nach SWS_SM_00607).
  • Fehlerbehandlung: Der Empfang von kTransitionFailed signalisiert einen partiellen oder vollständigen Fehlschlag bei der Aktivierung der Ziel-Aktionsliste. Das System verbleibt in einem potenziell inkonsistenten Zwischenzustand, der über definierte Fallback-/Recovery-Mechanismen (Safe State) aufgelöst werden muss.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_SWS_StateManagement S. 51 7.13 Figure 7.13: StateMachine change