AUTOSAR_AP_EXP_SWArchitecture
FIG-f31e87cb62d7de06
712 × 571 px
4 Release(s)
Figure 13.3: Impact of exemplary Software Cluster during runtime
SHA-256 Inhalts-Fingerabdruck:
f31e87cb62d7de0664bb1ab04f2efedd9dcd2c5e788f31aa1d20bbaa0f1985b1
✦
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-Objekt- und Deployment-Architekturdiagramm zur Laufzeit (Laufzeitinstanzen, OS-Prozesse, Konfigurationsartefakte und Zustandszuordnungen).
- Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Release R20-11, AUTOSAR_EXP_SWArchitecture (Kapitel 12: Cross-cutting Concepts, Abschnitt 12.4: Software Cluster).
- Technischer Zweck: Visualisierung des Einflusses modularer Software-Cluster (SWCL) auf die Systemlaufzeit (Runtime Impact). Das Diagramm veranschaulicht, wie die im Entwurf (
ExecutionManifest) definierten Software-Einheiten (Executable,Process,StartupConfig,FunctionGroup) über separate Konfigurationsfragmente (fg1 EM Configuration,fg2 EM Configuration,Platform EM Configuration) in den Laufzeitkontext des zentralen Daemons Execution Management (EM) eingespeist und dort zustandsabhängig instanziiert werden.
2. Komponenten, Entitäten & Schnittstellen
- Laufzeit-Akteure & Komponenten:
:Execution Management(UML-Komponenteninstanz): Zentraler POSIX-Plattform-Dienst (Functional Cluster) für Prozess-Lifecycle-Management, Start-/Stopp-Sequenzierung und OS-Ressourceninitialisierung.
- Dateibasierte Konfigurationsartefakte (Manifest-Projektionen):
Platform EM Configuration(Dokumenten-Artefakt): Maschinenweite Basiskonfiguration des EM (Initialisierung, System-Core, Plattform-States).fg1 EM Configuration/fg2 EM Configuration: Aus den Software-Clustern (SoftwareCluster) abgeleitete, modulare Konfigurationsdateien zur Laufzeitparametrisierung der Function Groupsfg1undfg2.
- Entitäten & Metamodell-Klassen:
e1: Executable,e2: Executable: Ausführbare Binärdateien im POSIX-Dateisystem (Kompilate).p1: Process,p2: Process: Laufzeit-Instanzen (Betriebssystemprozesse mit eigenem virtuellem Adressraum und PID), die jeweils genau einerExecutablezugeordnet sind (+executable: 1).cfg1: Startup Configuration,cfg2: Startup Configuration(StartupConfig): Gekapselte Parameter innerhalb der Prozesse (CLI-Argumente, Umgebungsvariablen, Scheduling-Policy wieSCHED_FIFO, Prioritäten, Core-Affinities).fg1: Function Group,fg2: Function Group(ModeDeclarationGroup/FunctionGroup): Orthogonale Zustandsmaschinen zur logischen Bündelung von Prozessen.- Zustände (
FunctionGroupState):fg1: Zuständeoff,normal,degraded.fg2: Zuständeoff,normal.
- Relationen & Kardinalitäten:
Process→Executable(1:1): Ein Prozess instanziiert genau ein Executable.Process$\diamondsuit\rightarrow$StartupConfig(1:1..*): Komposition von Startparametern innerhalb des Prozesses.StartupConfig→FunctionGroupState(Assoziation):cfg1bindetp1anfg1::normal;cfg2bindetp2anfg2::normal.:Execution Management⇢ Konfigurations-Artefakte: Asynchrone/Initialisierende Lese-Abhängigkeit.* EM Configuration⇢Process,Executable,FunctionGroupState: Steuernde Zuordnungs- und Bindungssemantik für das EM.
3. Dynamisches Verhalten & Sequenzablauf
- Konfigurationsaufnahme (Initialization Phase):
- Nach dem Kernel-Boot startet das
:Execution Managementals initialer Plattform-Daemon. - EM lädt die maschinenweite
Platform EM Configurationsowie alle cluster-spezifischen Konfigurationen (fg1 EM Configuration,fg2 EM Configuration). - Alle Function Groups befinden sich initial im Default-Zustand
off.
- Nach dem Kernel-Boot startet das
- Zustandsgesteuerte Prozess-Instanziierung (Mode Switch Trigger):
- Das
State Management(SM) fordert via Interprozesskommunikation (IPC /ara::exec-Schnittstelle) einen Zustandswechsel für eine Function Group an (z. B. Übergang vonfg1nachnormal). - EM parst die für
fg1registrierte Konfiguration (fg1 EM Configuration): $$\text{Request: } fg1 == \text{normal} \implies \text{Start } e1 \text{ als } p1 \text{ mit Parametern } cfg1$$ - EM führt den Prozessstart aus (
posix_spawnbzw.fork/execve), wendet Ressourcen- und Scheduling-Vorgaben auscfg1an und überwacht den Prozesskontext.
- Das
- Laufzeit-Rückmeldung & Fehlerüberwachung:
- Nach erfolgreicher Initialisierung muss
p1über dieara::exec::ApplicationClient-API den ZustandkRunningan das EM zurückmelden (ReportApplicationState). - Bleibt die Rückmeldung innerhalb des in
cfg1definierten Start-Timeouts aus, leitet das EM Recovery-Maßnahmen ein (Reporting anPlatform Health Management(PHM) /State Management).
- Nach erfolgreicher Initialisierung muss
- Inaktiver Zweig (
fg2im Schaubild):- Solange
fg2im Zustandoffverharrt (durch den Pfeil vonfg2 EM Configurationaufoffsymbolisiert), verbleibtp2im inaktiven Zustand (nicht gestartet). - Erst bei Anforderung von
fg2::normalwirde2übercfg2analog alsp2instanziiert.
- Solange
4. Normative Relevanz & Entwickler-Hinweise
- Granulare Update-Fähigkeit via Software Cluster (SWCL):
- Software Cluster sind die kleinsten unabhängig über das Update and Configuration Management (UCM) austauschbaren Deployment-Einheiten.
- Änderungen an Applikationen (z. B. Update von
e1/cfg1) modifizieren ausschließlich das zugehörige Fragmentfg1 EM Configuration. Eine Neukonfiguration oder Rekompilierung der restlichen Plattform-Manifeste ist nicht erforderlich.
- Manifest-Modellierung (
ExecutionManifest.arxml):- Applikations- und Integrationsentwickler konfigurieren keine nativen Init-Skripte (wie systemd-Units), sondern modellieren
ProcessToMachineMappingInstance,StartupConfigundModeDeclarationGroupPrototypesformal im ARXML-Manifest. Die Codegeneratoren der Toolchain erzeugen daraus die cluster-spezifischen EM-Laufzeitdateien.
- Applikations- und Integrationsentwickler konfigurieren keine nativen Init-Skripte (wie systemd-Units), sondern modellieren
- API-Vertrag (
ApplicationClient):- Jedes Executable muss zwingend
ara::core::Initialize()durchlaufen und zeitnahara::exec::ApplicationClient::ReportApplicationState(ara::exec::ApplicationState::kRunning)aufrufen. Ein Verfehlen führt zum SIGTERM/SIGKILL-Zyklus durch das EM.
- Jedes Executable muss zwingend
- Einschränkungen im deterministischen Scheduling:
- Werden Echtzeitprioritäten in
cfg1/cfg2konfiguriert, muss das zugrundeliegende POSIX-OS die entsprechenden Scheduling-Klassen (SCHED_FIFO/SCHED_RR) und Privilegien für den User-Context des Prozesses bereitstellen; andernfalls schlägt die Prozess-Instanziierung durch EM fehl.
- Werden Echtzeitprioritäten in
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.