AUTOSAR_EXP_SWArchitecture
FIG-7f8cfbfad5181ed2
891 × 1072 px
1 Release(s)
Figure 10.1: Startup of the AUTOSAR Runtime for Adaptive Applications
SHA-256 Inhalts-Fingerabdruck:
7f8cfbfad5181ed28f881252191a5d35edfe1a1619ef4ca07c20802a029a955a
✦
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: UML 2.0 Sequenzdiagramm (Interaktionsdiagramm) mit kombinierten Fragmenten (
reffür Sub-Szenarien, verschachtelteloop-Operatoren für Iterationen). - Technischer Zweck: Spezifikation des sequenziellen Bootstrapping- und Aktivierungsablaufs der AUTOSAR Adaptive Platform (ARA – AUTOSAR Runtime for Adaptive Applications).
- Architektur-Kontext: Das Diagramm bildet den Phasenübergang vom POSIX-Betriebssystem-Kernel (Machine Boot) über die Foundation Functional Clusters (Execution Management
EM, Platform Health ManagementPHM, State ManagementSM) bis hin zur geregelten Funktionsgruppen- und Applikationsinitialisierung (ara::core::Initialize()) ab.
2. Komponenten, Entitäten & Schnittstellen
Akteure & Lebenslinien
:Operating System: POSIX-konformes Betriebssystem (Prozessverwaltung, Kernel-/Init-Ebene, Prozess-Spawn viaStartProcess()).EM: Execution Management(ara::exec): Zentraler Lifecycle-Manager; instanziiert Prozesse gemäß Execution Manifest, überwacht Ausführungszustände (ExecutionState) und führt Zustandswechsel von Funktionsgruppen aus.PHM: Platform Health Monitor(ara::phm): Sicherheitsrelevanter Funktionscluster für Alive-, Deadline- und Logical-Supervision; kontrolliert den Watchdog.:Watchdog Driver: Hardware-nahe Treiberschicht / Watchdog-Entity (zur Absicherung gegen System-Hang/Deadlocks).SM: State Management(ara::sm): Zustandsentscheidungsinstanz für Plattform- und Maschinenmodi; steuert Funktionsgruppen über das EM.:Core(ara::core): Basislaufzeitbibliothek der Adaptive Platform (Bereitstellung von Basistypen wieResult,Futuresowie Initialisierungsroutinen).app: Adaptive Application: Betriebssystemprozess einer nutzer- oder plattformspezifischen Applikation, instanziiert im User Space.
Schnittstellen & Interaktionsprimitive
StartProcess(): Schnittstelle zwischen EM und OS (POSIXfork/execbzw.posix_spawn).ReportExecutionState(state): IPC-API (ara::exec::ExecutionClient), typisiert mit Rückgabewertara::core::Result<void>.Enable(): Treiber-Aktivierungsaufruf des PHM an den Watchdog Driver.SetState(FunctionGroupState): Asynchroner Funktionsaufruf von SM an EM zur Anforderung eines Funktionsgruppen-Zustandswechsels; liefertara::core::Future<void>.Initialize(): Prozesslokaler synchroner Initialisierungsaufruf (ara::core::Initialize()).GetProcessStates()/GetFunctionGroupStates(): Abfrage-APIs von SM an EM zur Verifikation der Zielzustände.
3. Dynamisches Verhalten & Sequenzablauf
- Phase 1: Bootstrapping des Execution Managements (EM)
- Das OS startet als ersten User-Space-Prozess das
EM: Execution Management. - Architektur-Hinweis (TBC): Es besteht zu diesem Zeitpunkt eine funktionale Sicherheitslücke (Watchdog Gap), da die Watchdog-Überwachung erst nachgelagert aktiviert wird.
- Das OS startet als ersten User-Space-Prozess das
- Phase 2: Initialisierung der Überwachungsinfrastruktur (PHM)
EMbeauftragt das OS viaStartProcess()mit dem Start desPHM: Platform Health Monitor.PHMmeldetReportExecutionState(running)an dasEMzurück.PHMschärft die Sicherheitsüberwachung über:Watchdog Driver.Enable().- Entwurfsnotiz: EM selbst muss nachträglich über ein
ProcessChanged-Event in die PHM-Supervision eingebunden werden.
- Phase 3: Instanziierung des State Managements (SM)
EMfordert viaStartProcess()den Start vonSM: State Managementan.SMbestätigt seine Betriebsbereitschaft perReportExecutionState(running).
- Phase 4: Machine State Übergang („Startup“)
- Ausführung der Referenzsequenz
ref: Function Group State Transition(Startup). - Aktiviert den Zustand
"Startup"der Machine State-Funktionsgruppe und startet die verbleibenden Plattform-Cluster.
- Ausführung der Referenzsequenz
- Phase 5: Gestaffelter Applikations-Startup (Iterative Abarbeitung)
- Outer Loop (
loop all Function Groups):SMfordert viaSetState(FunctionGroupState)asynchron (Future) den Zustandswechsel einer Funktionsgruppe beimEMan.
- Inner Loop (
loop all Processes):EMiteriert über alle Prozesse, die für diesen Zustand im Execution Manifest konfiguriert sind, und stößtStartProcess()am OS an.- Der Prozess
app: Adaptive Applicationstartet und führt zwingend als ersten Schritt synchronInitialize()an:Coreaus. - Nach erfolgreicher Basisinitialisierung meldet der Prozess
ReportExecutionState(running)anEM. SMsynchronisiert den Status fortlaufend überGetProcessStates().
- Nach Durchlauf aller Prozesse validiert
SMden Gesamtzustand der Gruppe viaGetFunctionGroupStates().
- Outer Loop (
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag für Applikations-Entwickler (
main()-Lifecycle):- Vor jedem Zugriff auf funktionale Cluster (
ara::com,ara::log,ara::diagetc.) muss zwingendara::core::Initialize()aufgerufen werden. Vor Verlassen vonmain()ist korrespondierendara::core::Deinitialize()erforderlich. - Unmittelbar nach der Initialisierung muss die Applikation über eine Instanz von
ara::exec::ExecutionClientzwingendReportExecutionState(ExecutionState::kRunning)absetzen. - Erfolgt dieser Aufruf nicht innerhalb des im Execution Manifest definierten Startup-Timeouts, deklariert das EM den Prozess als fehlerhaft und leitet die konfigurierte Recovery-Aktion (z. B. Prozess-Restart oder Transition in einen Safe State) ein.
- Vor jedem Zugriff auf funktionale Cluster (
- Asynchronitäts- und Concurrency-Handling:
- SM-Zustandsänderungen (
SetState) sind nicht-blockierend ausgelegt (ara::core::Future). Applikations- und Stack-Entwickler dürfen keine blockierenden Synchronisationen auf dem Main-Thread ausführen, sondern müssen Statusprüfungen asynchron handhaben.
- SM-Zustandsänderungen (
- Safety & Timing (ISO 26262 Relevanz):
- Die im Schaubild dokumentierte Lücke (Watchdog Gap) zwischen OS-/EM-Start und
PHM.Enable()erfordert auf Systemebene (Safety Case) zwingend Kompensationsmaßnahmen: z. B. einen Hardware-Boot-Watchdog mit großzügigem Timeout im Bootloader oder eine Initialüberwachung durch einen Classic-AUTOSAR-Safety-Controller.
- Die im Schaubild dokumentierte Lücke (Watchdog Gap) zwischen OS-/EM-Start und
- Manifest-Konfiguration:
- Die Startreihenfolge der Prozesse und deren Zuordnung zu Funktionsgruppen sind statisch im Execution Manifest (
StartupConfig,ProcessExecutionScope,FunctionGroup) festgelegt. Laufzeit-Prozessstarts abseits dieser Konfiguration sind im Standard-AP-Paradigma unzulässig.
- Die Startreihenfolge der Prozesse und deren Zuordnung zu Funktionsgruppen sind statisch im Execution Manifest (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.