AUTOSAR_AP_EXP_InterfacesGuidelines
FIG-fd42f6405075e87d
853 × 493 px
1 Release(s)
Figure 5.1: A basic application State transition example
SHA-256 Inhalts-Fingerabdruck:
fd42f6405075e87dad6c1fee842e245e55fff3b91c8185a126627026aa36399c
✦
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
- Diagrammtyp: UML-Sequenzdiagramm (
sd Application State transition(asynchronous)). - Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Functional Cluster State Management (
ara::sm). - Funktionaler Zweck: Modellierung einer asynchronen, vollständig entkoppelten Zustandsüberführung zwischen zwei AUTOSAR Adaptive Applications (AAs) über das State Management unter Verwendung Service-orientierter Kommunikation (
ara::com).
2. Komponenten, Entitäten & Schnittstellen
Application1: Client-/Trigger-Applikation; fungiert als Initiator einer Zustandsänderung (z. B. HMI, Diagnose-Client oder externer Event-Detektor).State Management: Zentraler Plattform-Orchestrator zur Verwaltung von Maschinen-, Funktionsgruppen- und Applikationszuständen.TriggerIn: Eingehender Port/Skeleton-Endpunkt zur Entgegennahme von Zustandswechsel-Anforderungen viaara::com.- Core Logic (State Engine): Interne Zustandsmaschine zur Überprüfung von Transitionen und Systemintegrität.
TriggerOut: Ausgehender Port/Event-Publisher-Endpunkt zur Notifizierung abhängiger Prozesse über erreichte Zustände.
Application2: State-Consumer/Worker-Applikation; passt ihr Betriebsverhalten an den vom State Management gemeldeten Systemzustand an.- Kommunikationsbeziehungen:
- Loose Kopplung über Publish/Subscribe- und Event-Mechanismen (
ara::com). - Keine direkte Punkt-zu-Punkt-Abhängigkeit zwischen
Application1undApplication2.
- Loose Kopplung über Publish/Subscribe- und Event-Mechanismen (
3. Dynamisches Verhalten & Sequenzablauf
- Subscription-Phase (Prä-Kondition):
Application2registriert sich mittelssubscribe()asynchron am AusgangsportTriggerOutauf Zustandsereignisse.
- Trigger-Eingang:
Application1initiiert den Vorgang viawrite()auf die SchnittstelleTriggerIn.TriggerIndelegiert den Trigger über ein internes Signalevent()an die Kernlogik des State Managements.
- Zustandsvalidierung (Guard Evaluation):
- Das State Management führt synchron
checkGuardCondition(s)aus (Validierung von Vorbedingungen, Safety-Integrität, Abhängigkeiten und aktuellem Systemkontext).
- Das State Management führt synchron
- Transition & Zustands-Publikation:
- Bei erfolgreicher Guard-Prüfung übergibt der State-Management-Kern den neuen Zustand via
write(state)an den PortTriggerOut.
- Bei erfolgreicher Guard-Prüfung übergibt der State-Management-Kern den neuen Zustand via
- Asynchrone Notifikation & Ausführung:
TriggerOutpropagiert den Zustandswechsel überevent()an abonnierte Konsumenten.Application2empfängt das Event und initiiert die zustandsspezifische Verhaltensänderung (do something()).
4. Normative Relevanz & Entwickler-Hinweise
- API- & Architektur-Vertrag:
- Applikationen dürfen Zustände weder direkt anfordern noch untereinander aushandeln; der Kontrollfluss muss zwingend über die Guard-Logik des State Managements kanalisiert werden.
- Die Entkopplung erfordert non-blocking Event-Handler (z. B. über
ara::com::Event::SetReceiveHandleroder Event-Polling-Mechanismen).
- Guard-Condition-Design:
- Guards im State Management müssen deterministisch und zeitinvariant implementiert sein. Schlägt eine Guard-Bedingung fehl, bricht die Kette ab, ohne dass
write(state)ausgelöst wird (stilles Verwerfen oder dediziertes Error-Handling erforderlich).
- Guards im State Management müssen deterministisch und zeitinvariant implementiert sein. Schlägt eine Guard-Bedingung fehl, bricht die Kette ab, ohne dass
- Echtzeit- und Latenz-Einschränkungen:
- Der Ablauf ist vollständig asynchron. Entwickler dürfen keine Annahmen über synchrone Reaktionszeiten von
Application2relativ zum Aufruf vonApplication1treffen. Quittierungen müssen bei Bedarf als explizite Rückmelde-Events modelliert werden.
- Der Ablauf ist vollständig asynchron. Entwickler dürfen keine Annahmen über synchrone Reaktionszeiten von
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.