DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_SynchronizedTimeBaseManager FIG-a488ec8c48ce2b79 865 × 560 px 1 Release(s)

Figure 15: Explicit synchronization of OS Schedule Table

SHA-256 Inhalts-Fingerabdruck: a488ec8c48ce2b796aeb58de7178f23a1619d09fa82e6dfb72eca2888bb72e23
✦ 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

  • Diagrammtyp: UML-Sequenzdiagramm (Interaktionsdiagramm).
  • Architektur-Kontext: AUTOSAR Classic Platform (CP), Schicht der Basissoftware (BSW), System Services.
  • Technischer Zweck: Darstellung des expliziten Synchronisationsmechanismus einer AUTOSAR-OS-Schedule-Table über den Synchronized Time-Base Manager (StbM). Es spezifiziert den synchronen Kontrollfluss, über den der StbM zyklisch die globale Zeitbasis abgreift und an das Betriebssystem (Os) übergibt, um eine zeitgesteuerte Task-Abarbeitung (z. B. für zeitgetriebene Busse wie FlexRay, TSN/Ethernet) an ein globales Zeitnormal anzugleichen.

2. Komponenten, Entitäten & Schnittstellen

  • Akteure & Lebenslinien:
    • BSW Task (OS task or cyclic call): Periodischer Ausführungskontext (Zyklustrigger des BSW-Schedulers bzw. der Taskebene).
    • «module» StbM: Synchronized Time-Base Manager (BSW-Servicemodul zur Verwaltung, Umrechnung und Weitergabe synchronisierter Zeitbasen).
    • «module» Os: AUTOSAR Operating System (stellt Zähler, Alarme und zeitgesteuerte Schedule Tables bereit).
  • Schnittstellen & Parameter:
    • StbM_MainFunction(): Periodische Hauptfunktion des StbM (Scheduled Function / BSW-API).
    • GetScheduleTableStatus(StatusType, ScheduleTableType, ScheduleTableStatusRefType*): Synchroner OS-Serviceaufruf zur Ermittlung des aktuellen Betriebszustands der referenzierten Schedule Table.
    • SyncScheduleTable(ScheduleTableType, GlobalTimeTickType): Normative AUTOSAR OS-API zur Synchronisation der Schedule Table mit dem aktuellen Zählerwert der globalen Zeitbasis.
  • Interaktionsoperanden & Kontrollstrukturen:
    • alt-Fragment: Bedingte Verzweigung basierend auf dem Rückgabewert von GetScheduleTableStatus.
      • Bedingung [ScheduleStatus == SCHEDULETABLE_WAITING or SCHEDULETABLE_RUNNING or SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS]: Ausführungspfad zur Synchronisation der aktiven bzw. synchronisierbaren Schedule Table via SyncScheduleTable.
      • Bedingung [else]: Leerer Ausführungspfad; unterdrückt den Synchronisationsaufruf, wenn die Schedule Table nicht aktiv ist.

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger: Der BSW-Scheduler ruft im Kontext einer periodischen Task synchron StbM_MainFunction() auf.
  2. Statusabfrage: StbM ruft synchron GetScheduleTableStatus(StatusType, ScheduleTableType, ScheduleTableStatusRefType*) beim Os auf, um den aktuellen Laufzeitzustand der konfigurierten OS-Schedule-Table abzufragen. Das Os liefert das Ergebnis an den StbM zurück.
  3. Bedingte Synchronisation (alt-Fragment):
    • Bedingung erfüllt (SCHEDULETABLE_WAITING, SCHEDULETABLE_RUNNING oder SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS): Der StbM ruft synchron SyncScheduleTable(ScheduleTableType, GlobalTimeTickType) auf dem Os auf und übergibt die berechneten globalen Zeit-Ticks. Das Betriebssystem gleicht den Stand der Schedule Table ab und bestätigt den Aufruf via SyncScheduleTable()-Rückkehr.
    • [else]: Befindet sich die Schedule Table in einem anderen Zustand (z. B. SCHEDULETABLE_STOPPED oder SCHEDULETABLE_NEXT), wird kein Synchronisationsaufruf an das OS abgesetzt.
  4. Abschluss: StbM_MainFunction() terminiert und gibt den Kontrollfluss an die aufrufende BSW-Task zurück.

4. Normative Relevanz & Entwickler-Hinweise

  • Normative Vorbedingung & Statussicherung: Vor dem Aufruf von SyncScheduleTable() muss der StbM den Zustand der Schedule Table zwingend über GetScheduleTableStatus() verifizieren. Die Synchronisation ist normativ nur in den Betriebszuständen SCHEDULETABLE_WAITING, SCHEDULETABLE_RUNNING oder SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS zulässig; ein Aufruf im Zustand SCHEDULETABLE_STOPPED würde zu OS-Fehlern (E_OS_STATE) führen.
  • Konfigurationsabhängigkeit (BSW/OS):
    • Im StbM-Konfigurationsbaum muss die explizite Synchronisation aktiviert und die Ziel-Schedule-Table über StbMOSScheduleTableRef referenziert sein.
    • Im Betriebssystem (Os) muss die betreffende Schedule Table mit OsScheduleTableSyncStrategy = EXPLICIT konfiguriert werden.
  • Granularität & Rundung: Entwickler müssen sicherstellen, dass die Tick-Auflösung (OsCounter / OsSecondsPerTick) und die Genauigkeit der StbM-Zeitbasis zueinander kompatibel sind, um Quantisierungsfehler bei der Umrechnung auf GlobalTimeTickType zu minimieren.
  • Echtzeitbedingungen & Jitter: Das Aufrufintervall der StbM_MainFunction() bestimmt maßgeblich die Nachführrate. Ein hoher Task-Jitter überträgt sich direkt auf die zeitliche Erfassung und Übergabe an das OS; SyncScheduleTable() darf nur aufgerufen werden, wenn die globale Zeitbasis gültig ist.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R19-11 → R20-11 keine inhaltliche Änderung Vorgänger: FIG-79717236a3bd384b

Keine inhaltlichen Änderungen erkennbar.

R20-11 → R21-11 keine inhaltliche Änderung Nachfolger: FIG-f18c9e87e01ec1f2

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | StbM | BSW Task (OS task | or cyclic call) | «module» | Os | alt | [ScheduleStatus == SCHEDULETABLE_WAITING or SCHEDULETABLE_RUNNING or SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS] | [else] | GetScheduleTableStatus(StatusType, ScheduleTableType, | ScheduleTableStatusRefType*) | StbM_MainFunction() | SyncScheduleTable(ScheduleTableType, GlobalTimeTickType) | StbM_MainFunction() | SyncScheduleTable()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_SynchronizedTimeBaseManager S. 164 15 Figure 15: Explicit synchronization of OS Schedule Table