AUTOSAR_AP_EXP_InterfacesGuidelines
FIG-b71232a939d57586
478 × 244 px
1 Release(s)
Figure 5.3: Extended StateMachine TransitionRequestTable
SHA-256 Inhalts-Fingerabdruck:
b71232a939d57586c05c537aa1201321d25746b6cc9160502aee666ea1976ed6
✦
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: Tabellarische Zustandsübergangstabelle / Zustandsübergangsmatrix (Transition Request Table bzw. State Transition Table) zur Spezifikation eines erweiterten endlichen Zustandsautomaten (Extended Finite State Machine, EFSM).
- Funktionale Einordnung: Entwurfsmuster und Richtlinie innerhalb der AUTOSAR Adaptive Platform (
AUTOSAR_AP_EXP_InterfacesGuidelines, R23-11) zur standardisierten, deklarativen Implementierung von Zustandsübergängen auf Applikations- und Service-Ebene. Es modelliert das Verhalten zustandsbehafteter Komponenten (z. B. Subsysteme wie Kamerasysteme), deren Betriebsmodi deterministisch von externen Netzwerk- oder Systemtriggern (z. B. Network Management / State Management) abhängen.
2. Komponenten, Entitäten & Schnittstellen
- Tabellenstruktur / Datenmodell:
Trigger Value: Eingangsvektor / Stimulus, welcher den Zustandswechsel anfordert.Current State: Vorbedingung / Quellzustand vor Eintreffen des Triggers.Next State: Folgezustand / Zielzustand nach erfolgreicher Transition.
- **Zustände (States):**
Off: Inaktiver Ruhezustand des Subsystems.Camera Active: Aktiver Betriebsmodus des Kamerasystems.- Metamodell-Entsprechung: Abgebildet über
ModeDeclarationGroupbzw.ModeDeclarationoder anwendungsspezifische Aufzählungstypen (enum class).
- Trigger-Entitäten:
Nh1_NoCom: Trigger-Wert für „Network Handle 1 – No Communication“.Nh1_FullCom: Trigger-Wert für „Network Handle 1 – Full Communication“.- Schnittstellenbezug: Eintreffende Anforderung über Service-Schnittstellen (
ara::comField-Set, Event oder Method Call) oder Network-Management-/State-Management-Signale.
- Beziehungen & Kardinalitäten:
- Eindeutige deterministische Relation: Jedes Tupel aus
(Trigger Value, Current State)wird auf genau einenNext Stategemappt (1:1-Zuordnung).
- Eindeutige deterministische Relation: Jedes Tupel aus
3. Dynamisches Verhalten & Sequenzablauf
- Auslöser (Trigger) & Pfade:
- Transition 1: Befindet sich das System im Zustand
Offund empfängt den TriggerNh1_NoCom, erfolgt der Zustandswechsel nachCamera Active. - Transition 2: Befindet sich das System im Zustand
Camera Activeund empfängt den TriggerNh1_FullCom, wechselt es zurück in den ZustandOff.
- Transition 1: Befindet sich das System im Zustand
- Synchronisations- & Ausführungscharakteristik:
- Asynchroner Empfang: Trigger treffen ereignisgesteuert (asynchron) über die Middleware-Schicht ein.
- Synchrone Transition: Die TransitionRequestTable wird tabellenbasiert (z. B. Look-up) ausgewertet.
- Undefinierte Zustände / Discard-Pfade: Trifft ein Trigger ein, der für den aktuellen Zustand nicht in der Tabelle definiert ist (z. B.
Nh1_FullComim ZustandOff), liegt ein ungültiger Übergang vor. Dieser erfordert einen definierten Fallback (Ignorieren, Reject-Meldung oder Exception/Logging).
4. Normative Relevanz & Entwickler-Hinweise
- Dokumentenstatus: Als Bestandteil der
EXP-Serie (Explanation/Guidelines) ist das Pattern nicht unmittelbar funktional zwingend über SWS-Requirements normiert, definiert jedoch die empfohlene Architektur-Best-Practice für adaptive Applikationen und Service-Interfaces. - Implementierungs-Empfehlung (C++14/C++17):
- Bevorzugung tabellengesteuerter Implementierungen (
std::array, flache Lookup-Tabellen oderconstexpr-Hashtabellen) gegenüber tief verschachteltenswitch-case-Strukturen zur Gewährleistung von O(1)-Laufzeitverhalten, Determinisierung und Testbarkeit.
- Bevorzugung tabellengesteuerter Implementierungen (
- Vollständigkeit & Robustheit:
- Embedded-Entwickler müssen für fehlende Tupel
(Trigger, State)eine explizite Fehlerbehandlungsstrategie implementieren (z. B. Rückgabe eines Fehlercodes, Logging viaara::logoder Meldung an das Diagnosesystem / PHM).
- Embedded-Entwickler müssen für fehlende Tupel
- Zusammenspiel mit Adaptive State Management:
- Soll der Zustandsübergang Prozesse oder Ressourcengruppen aktivieren/deaktivieren, muss die Tabelle direkt an
ara::sm(State Management) bzw.ara::exec(Execution Management) angebunden werden, um Funktionsgruppen (Function Groups) konsistent umzuschalten.
- Soll der Zustandsübergang Prozesse oder Ressourcengruppen aktivieren/deaktivieren, muss die Tabelle direkt an
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.