AUTOSAR_AP_EXP_PlatformDesign
FIG-e149baf327dfca7a
932 × 693 px
5 Release(s)
Figure 4.6: AP development workflow
SHA-256 Inhalts-Fingerabdruck:
e149baf327dfca7abc596643a1b729716cfc9ffa02a8444850476079d9185024
✦
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: Hybrides Methoden-, Artefakt- und Deployment-Workflow-Diagramm der AUTOSAR Adaptive Platform (AP). Es kombiniert einen Modellierungs- und Build-Prozess (
offboard) mit dem Zielsystem-Laufzeitmodell (onboard / machine A). - Technischer Zweck & Einordnung: Spezifikation des durchgängigen AP-Entwicklungszyklus gemäß AUTOSAR-Methodologie:
- Entwurfszeit: Technologieunabhängige Definition von Service-Schnittstellen, maschinenspezifische Allokation, Implementierung und Paketierung.
- Laufzeit: Auslieferung über das Update & Configuration Management (UCM), Persistierung von Manifestdaten und deterministische Prozessinstanziierung sowie Überwachung durch das Execution Management (EM).
2. Komponenten, Entitäten & Schnittstellen
Offboard-Entwicklungsdomäne (Design- & Build-Artefakte)
- Aktivitäten (Engineering Steps):
Define Services: Erstellung serviceorientierter Verträge (SOA).Develop Software: Quellcode-Implementierung der Applikationslogik gegen AUTOSAR-APIs.Develop Platform and Configure Machine: Hardware-, OS- und Netzwerktopologie-Konfiguration.Integrate Software: Cross-Kompilierung/Linken sowie Bündelung von Binaries und Laufzeitparametern.Define and Configure Service Instances: Bindung von Services an Protokolle und konkrete Endpunkte.
- Modell- & Dateiartefakte (ARXML / Binär):
Service Interface Description: Formales ARXML-Modell (ServiceInterface) mit Methoden, Events und Fields.Adaptive Application: Quellcode-Artefakt (C++), basierend auf generierten Proxies/Skeletons.Machine Manifest: ARXML-Deskriptor der Ausführungsumgebung (Hardware, Network Endpoints, OS-Resourcen, Crypto-Stacks).SW Package: Standardisierter Deployment-Container (UCM-Package), aggregiert:executable: Kompiliertes und gelinktes ELF-Binary.Execution Manifest: ARXML-Spezifikation für Prozessinstanziierung, Startup-Configs, Scheduling-Policies, Resource Groups und POSIX-Berechtigungen.Service Instance Manifest: ARXML-Spezifikation für Protokollbindings (z. B. SOME/IP, IPC), Instanz-IDs und Port-Mappings.
Onboard-Domäne (machine A / Target Runtime)
- Funktionscluster & Core-Entitäten:
SW Configuration Management (UCM): Plattform-Cluster für Empfang, Signatur-/Integritätsprüfung, Entpacken und Installation von Softwarepaketen.installed executable 1: Im Ziel-Dateisystem abgelegtes ELF-Binary.processed manifests/data base: Vom UCM geparste und validierte Manifest-Datenbank.Execution Management (EM): Zentraler Bootstrapping- und Lifecycle-Manager (ara::exec); konfiguriert das OS und überwacht Prozesse.OS: POSIX-konformes Betriebssystem (Subset PSE51 oder höher mit Speicherschutz/MMU).process 1-1 (loaded executable instance): Isolierte OS-Prozessinstanz des Executables im eigenen virtuellen Adressraum.other functional clusters: Laufzeitmodule (ara::com,ara::per,ara::diag,ara::crypto,ara::phm), gekapselt hinter standardisierten C++-APIs.
Schnittstellen & Beziehungen
- ARXML-Datenfluss:
Service Interface DescriptionundMachine Manifeststeuern die Code-Generierung und Deployment-Manifeste. - Paket-Schnittstelle: Offboard
SW Package→ OnboardSW Configuration Management. - Runtime-APIs:
Execution Management API(ara::exec): Zustandsrückmeldung (State Reporting) zwischenprocess 1-1und EM.OS API: Standardisierte POSIX-Systemaufrufe (Threads, Filesystem, Signale).Cluster APIs: C++14/C++17 Klassenbibliotheken für IPC/SOME/IP (ara::com), Persistenz (ara::per) etc.
3. Dynamisches Verhalten & Sequenzablauf
- Schnittstellen- & Systemdesign (Offboard):
- Definition des
Service Interfaceentkoppelt von der Transportebene. - Festlegung der Maschinenparameter im
Machine Manifest.
- Definition des
- Generierung & Implementierung (Offboard):
- Toolgestützte Generierung typisierter C++-Klassen (Proxies/Skeletons) aus dem
Service Interface. - Implementierung der
Adaptive Application.
- Toolgestützte Generierung typisierter C++-Klassen (Proxies/Skeletons) aus dem
- Integration & Paketierung (Offboard):
- Übersetzung/Linken der Applikation zum ELF-
executable. - Auflösung von Deployments: Erstellung des
Execution Manifest(Prozessparameter) undService Instance Manifest(Zuweisung zu Netzwerkschnittstellen desMachine Manifest). - Generierung des signierten
SW Package.
- Übersetzung/Linken der Applikation zum ELF-
- Deployment & persistente Konfiguration (Onboard):
- Transfer des Pakets an
SW Configuration Management. - UCM authentifiziert das Paket, legt das
installed executable 1im Filesystem ab und überführt Manifestdaten strukturiert in die internedata base.
- Transfer des Pakets an
- Prozessinstanziierung & Lifecycle (Onboard):
- EM liest Startup-Parameter und Abhängigkeiten synchron aus der
data base. - EM parametriert OS-Ressourcengruppen (z. B. POSIX-Scheduling, CPU-Affinitäten, Limits).
- EM initiiert den Prozessstart (
fork/exec) →process 1-1entsteht. - Synchroner/asynchroner Handshake:
process 1-1meldet überara::exec::ApplicationClientseinen Status (kRunning) an das EM. - Prozess tritt über
ara::comin die Service-Kommunikation ein.
- EM liest Startup-Parameter und Abhängigkeiten synchron aus der
4. Normative Relevanz & Entwickler-Hinweise
- Strikte Entkopplung von Code und Deployment-Parametern: Der C++-Applikationscode enthält keinerlei IP-Adressen, Socket-Ports, SOME/IP-IDs oder Scheduling-Prioritäten. Jede Anpassung erfolgt ausschließlich über
Service Instance Manifestbzw.Execution Manifest. - 1:n-Instanziierung (Executable zu Process): Ein einzelnes kompiliertes
executablekann imExecution Manifestmehrfach instanziiert werden (z. B.process 1-1,process 1-2). Jede Instanz erhält individuelle Startup-Argumente, Resource Groups und POSIX-Privilegien. - Lifecycle-Vertrag (API-Pflichten):
- Jeder Prozess muss
ara::core::Initialize()zu Beginn undara::core::Deinitialize()bei Terminierung aufrufen. - Nach der Initialisierung muss der Prozess seinen Zustand zwingend via
ReportApplicationState(ApplicationState::kRunning)an das EM melden. Ein Unterlassen führt zum Timeout und terminiert den Prozess durch das EM.
- Jeder Prozess muss
- Konsistenzgarantie via UCM: Binaries dürfen auf POSIX-Ebene niemals manuell deployed oder kopiert werden. Ohne korrespondierende Einträge in den
processed manifestsder Manifest-Datenbank kann das EM den Prozess weder schedulen, absichern noch überwachen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.