AUTOSAR_SWS_ExecutionManagement
FIG-cd4ca8980207faa5
932 × 397 px
1 Release(s)
Figure 7.20: Sequence Diagram of the Synchronization Control Messages with single DeterministicSyncMaster
SHA-256 Inhalts-Fingerabdruck:
cd4ca8980207faa5cb85bf378c588e881e57fbdbe27dd796727fbbf4f9b917f9
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Sequenzdiagramm (Interaktionsdiagramm).
- Technischer Zweck & Einordnung: Spezifikation des deterministischen Synchronisationsmechanismus in der AUTOSAR Adaptive Platform (Execution Management, ara::exec, R20-11). Das Diagramm modelliert das Zusammenspiel zwischen mehreren deterministischen Applikationsprozessen (
DeterministicClient) und einer zentralen Takt-/Synchronisationsinstanz (DeterministicSyncMaster) zur Gewährleistung replizierter oder koordinierter zyklusbasierter Ausführung über servicebasierte Interprozess-/Inter-ECU-Kommunikation (ara::com).
2. Komponenten, Entitäten & Schnittstellen
- Lebenslinien & Akteure:
Application Process APP1/Application Process APP2: Adaptive Application Processes (POSIX-Prozesse), die deterministische Berechnungszyklen ausführen.APP1::DeterministicClient Client_1/APP2::DeterministicClient Client_2: Prozesslokale Instanzen der Klasseara::exec::DeterministicClient.DeterministicSyncMaster Master_1: Zentraler Synchronisationsknoten (Sync-Master-Prozess) innerhalb der deterministischen Synchronisationsdomäne.
- Schnittstellen & Interaktionspunkte:
- Prozessintern (API):
ara::exec::DeterministicClient::WaitForNextActivation()– synchrone Blockier-API des Clients zur Steuerung des Prozessfortschritts. - Prozessübergreifend (IPC / ara::com):
- Request-Channel:
ara::com::send(SyncRequest)vom Client an den Master. - Response-Channel:
ara::com::send(SyncResponse)vom Master an den Client.
- Request-Channel:
- Prozessintern (API):
- Kardinalitäten & Beziehungen:
- 1:n-Beziehung: Genau ein
DeterministicSyncMastersynchronisiert nDeterministicClients(im Diagramm exemplarisch n=2). - 1:1-Komposition: Jeder deterministische Applikationsprozess bindet exakt eine
DeterministicClient-Instanz ein.
- 1:n-Beziehung: Genau ein
3. Dynamisches Verhalten & Sequenzablauf
- Initialer Wartezustand:
Master_1befindet sich im blockierenden bzw. lauschenden Zustand (WaitForRequest()). - Zyklusabschluss & Synchronisationsanfrage APP1:
APP1beendet seinen Berechnungsabschnitt und ruft synchronWaitForNextActivation()anClient_1auf. Der Thread vonAPP1wird blockiert.Client_1generiert und sendet asynchron überara::comdie NachrichtSyncRequestanMaster_1.
- Synchronisationsanfrage APP2:
APP2ruft zeitversetztWaitForNextActivation()anClient_2auf;APP2blockiert.Client_2sendetSyncRequestviaara::comanMaster_1.
- Master-Berechnung (
CalculateNextCycle()):- Sobald die Master-Synchronisationspolicy erfüllt ist (z. B. Eintreffen aller erwarteten Requests vor einer Deadline), berechnet
Master_1die Aktivierungsparameter des Folgezyklus (insbesondere deterministischer Ziel-Timestamp).
- Sobald die Master-Synchronisationspolicy erfüllt ist (z. B. Eintreffen aller erwarteten Requests vor einer Deadline), berechnet
- Aktivierungs-Dispatch (
SyncResponse):Master_1sendet überara::comdieSyncResponse(inklusive Ziel-Aktivierungszeitstempel) anClient_1undClient_2.
- Parallele Reaktivierung:
- Gemäß Spezifikationsnotiz synchronisieren sich beide Clients lokal auf den im Payload enthaltenen absoluten Zeitstempel ("Next cycle should be triggered simultaneously based on the activation timestamp in the response message").
- Nach Ablauf bis zum Zielzeitpunkt kehrt der blockierende Aufruf
WaitForNextActivation()mit dem Status:kRun(ara::exec::ActivationReturnType::kRun) anAPP1undAPP2zurück; beide Prozesse starten deterministisch synchron ihren nächsten Rechenzyklus.
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag (SWS_EM_01304): Wenn ein
DeterministicClientfür die Verwendung einesDeterministicSyncMasterkonfiguriert ist, muss er sich bei jedem Aufruf vonWaitForNextActivation()über diesen Mechanismus abgleichen. - Transportabstraktion: Obwohl das Sequenzdiagramm
ara::comals Transportlayer zeigt, schreibt AUTOSAR dies nicht zwingend vor; proprietäre Low-Latency-IPC- oder Hardware-basierte Synchronisationskanäle sind herstellerspezifisch zulässig. - Synchronisations-Policies & Deadlines: Der Master benötigt eine definierte Quorum-/Timeout-Policy (z. B. n-von-m-Muster oder Worst-Case-Deadline). Entwickler müssen Timeouts und Fehlerzustände abfangen (z. B. wenn ein Client ausfällt oder verspätet antwortet).
- Jitter & Scheduling-Latenzen: Der berechnete Ziel-Timestamp in
SyncResponsemuss zwingend die Kommunikationslaufzeit (ara::com / SOME/IP / IPC-Stack) plus OS-Scheduling-Jitter übersteigen, damit alle Clients den gemeinsamen Zeitpunkt in der Zukunft verlässlich treffen können, ohne dasskRunverfrüht oder asynchron ausgelöst wird.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.