AUTOSAR_EXP_SWArchitecture
FIG-50dfac6659d3895c
691 × 778 px
1 Release(s)
Figure 12.2: Exemplary Software Cluster during application design
SHA-256 Inhalts-Fingerabdruck:
50dfac6659d3895c0ad974df551733ace52619ab4533c2fa98117ddb42c80c5e
✦
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-Objekt- bzw. Instanzendiagramm (M1-Ebene des AUTOSAR-Metamodells) mit Schachtelungs-/Containment-Semantik.
- Architektur-Kontext: AUTOSAR Adaptive Platform (Release R20-11), Spezifikation
AUTOSAR_EXP_SWArchitecture(Kapitel 12: Software Cluster). - Technischer Zweck: Darstellung der Entwurfs- und Kapselungsstrukturen von Software-Clustern (
SoftwareCluster) während der Anwendungsentwurfsphase (Application Design). Es illustriert, wie funktionale Softwareeinheiten inklusive ihrer Binärdateien (Executable), Prozessdefinitionen (Process), Manifeste (ExecutionManifest) und Zustandssteuerungen (FunctionGroup) in autarke, modular austauschbare Einheiten segmentiert werden – in Abgrenzung zum Basis-System (platform: Software Cluster).
2. Komponenten, Entitäten & Schnittstellen
- Entitäten und Rollen:
SoftwareCluster(a,b,platform): Oberste logische Aggregations- und Bereitstellungseinheit (Deployable/Updatable Unit) für das Update and Configuration Management (UCM).a,b: Anwendungs-Cluster (Application Software Clusters).platform: Basisplattform-Cluster (Platform Software Cluster), der die Core-Plattformdienste hostet.
Executable(e1,e2): Physische Binärdateien/Kompilate (POSIX-ELF), die auf dem Zielbetriebssystem instanziiert werden.Manifest/ExecutionManifest(executionManifest,:Manifest): Formales ARXML-Beschreibungsartefakt, das die Deployment- und Ausführungsparameter auf dem Zielsystem deklariert.Process(p1,p2,EM): Laufzeitinstanz einesExecutable.p1,p2: Anwendungs-Prozesse.EM: Der zentrale Prozess des Execution Management (implatform: Software Cluster).
Startup Configuration(cfg1,cfg2,:Startup Configuration): Spezifiziert prozessspezifische Startparameter (Kommandozeilenargumente, Umgebungsvariablen, Resource-Limits, Scheduling-Policies wie SCHED_FIFO/SCHED_OTHER).Function Group(fg1,fg2): Orthogonale Steuerungsdomäne für Zustände innerhalb des Execution Managements.Function Group State: Diskrete Zustände einer Funktionsgruppe:fg1: Zuständeoff,normal,degraded.fg2: Zuständeoff,normal.
- Beziehungen und Assoziationen:
Process→Executable(Referenzpfeil): Jeder Prozess referenziert exakt ein ausführbares Artefakt (Process.executableRef).Startup Configuration→Function Group State(Abhängigkeitspfeil):cfg1bindetp1an den Zustandnormalder Gruppefg1.cfg2bindetp2an den Zustandnormalder Gruppefg2.
- Metamodell-Containment: Während des Application Designs sind die
FunctionGroup-Definitionen sowie dieExecutionManifest-Instanzen den jeweiligenSoftwareCluster-Entitäten zugeordnet.
3. Dynamisches Verhalten & Sequenzablauf
Das Diagramm bildet die statische Konfiguration ab, aus der das deterministische Laufzeitverhalten des Execution Managements resultiert:
- Plattform-Bootstrap: Der Prozess
EM: Processwird implatform: Software Clusterdurch den OS-Init-Prozess (z. B. init/systemd) gestartet und initialisiert die interne Zustandsverwaltung. - State Transition Triggern: Eine Zustandsänderung (z. B. via
ara::exec::StateClient::SetState) schaltet eine Funktionsgruppe (z. B.fg1) in den Zielzustandnormal. - Auswertungs- und Startphase:
- EM parst das zugehörige
ExecutionManifestvonp1. - Die Übereinstimmung von aktuellem State (
fg1.normal) mit derStartup Configuration(cfg1) triggert die Instanziierung vone1als OS-Prozessp1viafork()/execve().
- EM parst das zugehörige
- Zustandsrückmeldung (Execution Client Contract):
p1initialisiert die ARA-Laufzeitumgebung und muss synchronara::exec::ExecutionClient::ReportExecutionState(ExecutionState::kRunning)an EM melden.
- Abschaltung / Degradierung:
- Wechselt
fg1vonnormalnachoffoderdegraded(sofern fürdegradedkeine eigene Startup Configuration hinterlegt ist), sendet EM standardmäßigSIGTERManp1. Nach Ablauf des konfiguriertenterminationTimeouterzwingt EM das Beenden viaSIGKILL.
- Wechselt
4. Normative Relevanz & Entwickler-Hinweise
- Kapselung & Unabhängiges Lifecycle-Management (OTA / UCM):
- Durch die Separierung in
SoftwareClusterkönnen Applikationaundbüber UCM (ara::ucm) unabhängig voneinander aktualisiert, paketiert, gestoppt oder deinstalliert werden, ohne den Platform-Cluster oder Nachbarcluster zu modifizieren.
- Durch die Separierung in
- Gültigkeitsbereich von Funktionsgruppen (Scope of Function Groups):
- Werden Funktionsgruppen auf Cluster-Ebene modelliert (wie
fg1in Clusteraundfg2in Clusterb), muss das State Management clusterübergreifend synchronisiert werden, falls globale Abhängigkeiten bestehen. Vermeidung zirkulärer Abhängigkeiten bei Zustandswechseln ist zwingend.
- Werden Funktionsgruppen auf Cluster-Ebene modelliert (wie
- Konfigurationspflicht im Execution Manifest:
- Entwickler müssen sicherstellen, dass für jeden geforderten
FunctionGroupStateeine valideStartupConfigurationvorliegt. Befindet sich eine Funktionsgruppe in einem State, für den ein Prozess keine Zuordnung besitzt, bleibt dieser inaktiv bzw. wird terminiert.
- Entwickler müssen sicherstellen, dass für jeden geforderten
- Plattform-Minimierung:
- Der
platform: Software Clusterbleibt frei von Applikationslogik und enthält ausschließlich Basistreiber, OS-spezifische Konfigurationen sowie Kern-Dienste (EM, UCM, SM, DLT, etc.).
- Der
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.