DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_ECUStateManager FIG-47c4c656e200089f 866 × 780 px 1 Release(s)

Figure 21: Master Core StartPostOS Sequence

SHA-256 Inhalts-Fingerabdruck: 47c4c656e200089f7061420d8df9147cc297fe5b339e7c33dda0e0f6201cb570
✦ 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 standardisierten Bootstrap-Ablaufs der AUTOSAR Classic Platform (Release R4.0.3) in der Phase StartPostOS auf dem Master Core (EcuM_StartupTwo()). Es definiert die minimale, zwingend synchrone Übergabesequenz vom Betriebssystemstart (StartOS()) über die Basisdienste (SchM) bis zur Aktivierung des regelbasierten Zustandsmanagements (BswM).

2. Komponenten, Entitäten & Schnittstellen

  • Teilnehmer (Lifelines mit Stereotyp «module»):
    • EcuM: ECU State Manager – Hauptinitiator und sequenzieller Koordinator der Boot-Phasen.
    • McOs: Multicore Operating System – AUTOSAR-OS-Laufzeitumgebung mit Multicore-Unterstützung.
    • SchM: Basic Software Scheduler – Laufzeitinfrastruktur zur Verwaltung von BSW-Hauptfunktionen und Exklusivbereichen.
    • BswM: Basic Software Mode Manager – Regelbasierte Zustandsmaschine zur weiteren Orchestrierung von BSW- und RTE-Zuständen.
  • Interaktionsrahmen:
    • loop: Kombiniertes Fragment mit Bedingung loop over every BswM running in this core um den Aufruf von BswM_Init.
  • Schnittstellen & Parameter:
    • GetCoreID(CoreIdType): OS-Systemaufruf zur Identifikation des physischen Ausführungskerns. Rückgabe/Typ: CoreIdType.
    • SchM_Start(): Initialer Scheduler-Startaufruf (parameterlos), ausgeführt vor der BswM-Initialisierung.
    • BswM_Init(const BswM_ConfigType *): Initialisierungs-API des BswM innerhalb der Schleife mit typisiertem Konfigurationszeiger.
    • SchM_Init(const SchM_ConfigType*): Scheduler-Initialisierung (nachgelagert nach der BswM-Schleife) mit typisiertem Zeiger const SchM_ConfigType*.
    • SchM_StartTiming(const SchM_ConfigType*): Aktivierungsfunktion für das SchM-Timing mit typisiertem Konfigurationszeiger const SchM_ConfigType*.
  • Beziehungscharakter: Synchrone Punkt-zu-Punkt-Aufrufe von EcuM an McOs, SchM und BswM mit expliziten Return-Pfeilen; BswM_Init gekapselt im Schleifenrahmen.

3. Dynamisches Verhalten & Sequenzablauf

Der Ablauf erfolgt im Kontext eines OS-Autostart-Tasks oder des OS-Startup-Hooks auf dem Master-Core:

  1. Core-Validierung (EcuM → McOs): Aufruf von GetCoreID(CoreIdType) zur Verifikation des Master-Cores.
  2. Scheduler-Start (EcuM → SchM): Aufruf von SchM_Start() zur Aktivierung grundlegender Scheduler-Funktionen vor der BswM-Initialisierung.
  3. Modus-Manager-Initialisierung (EcuM → BswM): Schleife über alle BswM-Instanzen auf dem Kern (loop over every BswM running in this core): Aufruf von BswM_Init(const BswM_ConfigType *).
  4. Scheduler-Initialisierung (EcuM → SchM): Aufruf von SchM_Init(const SchM_ConfigType*) nach Abschluss der BswM-Initialisierung.
  5. Scheduler-Timing-Start (EcuM → SchM): Aufruf von SchM_StartTiming(const SchM_ConfigType*) zur Aktivierung der zeitgesteuerten Task- und Event-Mechanismen des Schedulers.
  6. Phasenabschluss: Mit Rückkehr von SchM_StartTiming() endet die StartPostOS-Initialisierungssequenz des Master-Cores.

4. Normative Relevanz & Entwickler-Hinweise

  • Strikte Aufrufreihenfolge: Die geänderte Sequenz ist normativ. SchM_Start() erfolgt vor BswM_Init. Die eigentliche Scheduler-Initialisierung SchM_Init(...) sowie SchM_StartTiming(...) dürfen erst nach der vollständigen Initialisierung aller BswM-Instanzen des Cores aufgerufen werden.
  • Mehrstufiger Scheduler-Bootstrap: Die SchM-Inbetriebnahme ist dreistufig gegliedert in Start (SchM_Start), Konfigurationsinitialisierung (SchM_Init) und Timing-Aktivierung (SchM_StartTiming).
  • Konfigurationsverknüpfung: Sowohl SchM_Init als auch SchM_StartTiming erhalten dieselbe Konfigurationsstruktur (const SchM_ConfigType*), während SchM_Start() parameterlos aufgerufen wird.
  • Multicore-Spezifikum: Gilt ausschließlich für den Master-Core; die BswM-Initialisierung verbleibt in der kernspezifischen Iterationsschleife.

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

R4.2.2 → R4.3.1 normative Änderung Vorgänger: FIG-617c7f99ae8536a6
  • SchM_Start(): Neuer synchroner Aufruf von EcuM an SchM vor der BswM-Initialisierungsschleife eingefügt.
  • SchM_Init(const SchM_ConfigType*): Aufruf von vor der BswM-Initialisierungsschleife an die Position nach der Schleife verschoben.
  • SchM_StartTiming(const SchM_ConfigType*): Neuer synchroner Aufruf von EcuM an SchM nach SchM_Init eingefügt.
R4.3.1 → R18-10_R4.4.0_R1.5.0 keine inhaltliche Änderung Nachfolger: FIG-abacfc4eee43a877

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | SchM | «module» | EcuM | «module» | BswM | «module» | McOs | loop over every BswM running in this core | GetCoreID(CoreIdType) | SchM_Start() | BswM_Init(const BswM_ConfigType *) | SchM_Init(const SchM_ConfigType*) | SchM_StartTiming(const SchM_ConfigType*)

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.3.1 AUTOSAR_SWS_ECUStateManager S. 78 21 Figure 21: Master Core StartPostOS Sequence