AUTOSAR_SWS_ExecutionManagement
FIG-0aa2fd424bf4a2f8
569 × 125 px
1 Release(s)
Figure 7.23: Library Mode with multiple DeterministicSyncMasters
SHA-256 Inhalts-Fingerabdruck:
0aa2fd424bf4a2f804c856560118a228232cafd0dd1dc1eb28b540f181b84201
✦
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: Konzeptionelles Architektur- und Deployment-Diagramm (Prozess- und Subsystem-Ebene).
- Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Execution Management (EM), Subsystem Deterministic Execution / Redundant Execution (gemäß AUTOSAR_SWS_ExecutionManagement, Release R20-11, Kapitel 7.5).
- Technischer Zweck: Darstellung des Integrationsmusters Library Mode für redundante Ausführungsdomänen mit mehreren Instanzen des
DeterministicSyncMaster. Es adressiert fehlertolerante High-Performance-Architekturen (bis ASIL D), bei denen Hardware-Lockstep durch Software-Lockstep substituiert oder ergänzt wird, indem der Software-Lockstep-Mechanismus direkt als Bibliothek in den Prozesskontext desDeterministicSyncMastereingebunden ist.
2. Komponenten, Entitäten & Schnittstellen
- Software Lockstep 1 & 2 (Gelbe Systemblöcke):
Software Lockstep 1(durchgezogener Rahmen): Primäre bzw. lokale Lockstep-Ausführungseinheit / Host-Prozess.Software Lockstep 2(gestrichelter Rahmen): Redundante Lockstep-Ausführungseinheit (z. B. auf separatem Rechenkern oder separater ECU/Maschine). Die gestrichelte Kontur kennzeichnet die redundante/gespiegelte Natur der Entität.
- DeterministicSyncMaster 1 & 2 (Rote Umrandung):
- Zentrale Steuerinstanzen für die Zyklus- und Zeitsynchronisation innerhalb der jeweiligen Lockstep-Domäne.
- Library Mode-Eigenschaft: Das Software-Lockstep-Framework läuft in-process mit dem
DeterministicSyncMaster. Dies eliminiert IPC- undara::com-Overhead zwischen Lockstep-Überwachung und Master-Zyklussteuerung.
- TimeSync Slave 1 & 2 (Innere Entitäten):
- Lokale Zeitnehmer-Komponenten (Anbindung an den Time Synchronization Stack, z. B. IEEE 802.1AS / gPTP /
ara::tsyn). - Stellen für den jeweiligen
DeterministicSyncMasterdie hochgenaue, global synchronisierte Zeitbasis bereit.
- Lokale Zeitnehmer-Komponenten (Anbindung an den Time Synchronization Stack, z. B. IEEE 802.1AS / gPTP /
- Synchronisationskanal (Roter Doppelpfeil):
- Bidirektionale Inter-Master-Kommunikationsverbindung zwischen
DeterministicSyncMaster 1undDeterministicSyncMaster 2. - Ermöglicht Zyklusabgleich, Barriere-Synchronisation und Konsensbildung über Redundanzgrenzen hinweg.
- Bidirektionale Inter-Master-Kommunikationsverbindung zwischen
3. Dynamisches Verhalten & Sequenzablauf
- Aktivierungsanforderung (
SWS_EM_01325):- Redundant ausgeführte Applikationsprozesse (
DeterministicClients) rufen am Zyklusende synchronara::exec::DeterministicClient::WaitForActivation()auf. - Ein Synchronization Request Message-Frame (beinhaltet Client-ID, Aktivierungszeitstempel des Vorzyklus, Cycle Code und Loop Count) wird an den zugeordneten lokalen
DeterministicSyncMasterübermittelt.
- Redundant ausgeführte Applikationsprozesse (
- Master-to-Master-Barriere (Roter bidirektionaler Pfad):
- Die beiden Instanzen
DeterministicSyncMaster 1undDeterministicSyncMaster 2erfassen die Requests ihrer lokalen Clients. - Über den Synchronisationskanal tauschen die Masters ihren Zyklusstatus und die aktuellen Fortschritte aus.
- Auf Basis der gemeinsamen Zeitreferenz (
TimeSync Slave 1 & 2) treffen beide Master eine abgestimmte Entscheidung über den nächsten globalen Ausführungszeitpunkt und Zykluscode (z. B. M-aus-N-Voting).
- Die beiden Instanzen
- Aktivierungsantwort & Zyklusfreigabe (
SWS_EM_01326):- Jeder
DeterministicSyncMastersendet eine Synchronization Response Message mit dem berechneten Aktivierungszeitstempel und Cycle Code an die Clients zurück. WaitForActivation()kehrt zeitgleich auf beiden redundanten Seiten zurück; der nächste deterministische Zyklus startet synchron.
- Jeder
- Lockstep-Ergebnisabgleich:
- Die in den Master-Prozess eingebettete Lockstep-Bibliothek verifiziert die Ausführungsergebnisse beider Pfade auf bitgenaue Identität. Bei Abweichungen (Inkonsistenz, Deadlock, Timeout) greift die Fehlerbehandlung (Dem/Recovery Action).
4. Normative Relevanz & Entwickler-Hinweise
- Normenbezug:
- RS_EM_00053: Verpflichtet das Execution Management zur Bereitstellung deterministischer Redundanzmechanismen auf Standard-Mikroprozessoren.
- SWS_EM_01325 & SWS_EM_01326: Spezifizieren das strikte Anforderungs-/Antwort-Protokoll der Zyklussynchronisation.
- Entwickler- & Integrationshinweise:
- Latenzvorteil vs. Process Mode: Im Vergleich zum Process Mode (getrennter Lockstep-Daemon) reduziert der Library Mode Kontextwechsel und IPC-Latenzen drastisch, da der Lockstep-Algorithmus direkt im Adressraum des SyncMasters ausgeführt wird.
- Anforderung an den Sync-Kanal: Der Master-zu-Master-Kanal muss deterministisch, echtzeitfähig und jitterarm ausgelegt sein (z. B. deterministisches Shared-Memory oder deterministisches Ethernet TSN).
- Abhängigkeit von TimeSync: Fehlerhafte oder jitterbehaftete Zeitdaten der
TimeSync Slavesführen unmittelbar zu Zyklusversatz und Rückgabefehlern inWaitForActivation()(RückgabewertExecErrc::kFailed). - Deterministischer Code: Applikationen dürfen keine nicht-deterministischen OS-Primitives (unkoordinierte Threads, freie Zeitgeber, undefiniertes Pointer-Aliasing) nutzen, da der Software-Lockstep sonst fälschlicherweise Divergenzen detektiert.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.