AUTOSAR_AP_SWS_LanguageBindingForModeledAPdatatypes
FIG-aff388e80d427843
808 × 145 px
5 Release(s)
Figure 1.2: Methodology: Generic Language Binding generation
SHA-256 Inhalts-Fingerabdruck:
aff388e80d427843420a86ba5197890167ea9fef351aeea2d442f42f999a72ba
✦
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: AUTOSAR Methodology Workflow- / Toolketten-Transformationsdiagramm (Black-Box-Generierungsschritt).
- Architektonische Einordnung: Design- und Build-Time-Phase der AUTOSAR Adaptive Platform (AP). Es spezifiziert den Übergang von der technologieagnostischen, formalen Systemspezifikation (Metamodell-Ebene) zur konkreten Zielsprachen-Projektion (C++ Source-/Header-Ebene) für Adaptive Applications und Plattformmodule.
- Funktionaler Zweck: Visualisierung des durch [SWS_LBAP_00037] (Upstream-Requirement RS_AP_00111) normierten Grundprinzips des ARA Language Binding Generators. Dieser transformiert abstrakte Schnittstellen- und Datentyp-Modelle in standardisierte, zielsprachenspezifische Deklarationen und Serialisierungsstrukturen.
2. Komponenten, Entitäten & Schnittstellen
- Eingangsartefakt:
Adaptive Platform Interface (.arxml)- Formales ARXML-Dokument gemäß AUTOSAR AP Metamodell.
- Enthält u. a.
ServiceInterface-Definitionen (Events, Methods, Fields) und referenzierte Typ-Deskriptoren (insbesondereAbstractImplementationDataType,StdCppImplementationDataType, Primitive, Arrays, Records/Structs).
- Verarbeitungseinheit:
ARA Language Binding Generator- Deterministisches Tooling der AP-Entwicklungsumgebung.
- Enthält die Abbildungslogik für Datentypprojektionen, Namespace-Auflösungen und Serialisierungs-/Deserialisierungsvorschriften gemäß der Spezifikation AUTOSAR_AP_SWS_LanguageBindingForModeledAPdatatypes.
- Ausgangsartefakt:
(Pre-)compilable generated code/Language specific output- Generierte Quellcode-Dateien (z. B. C++-Header
.h/.hppund Übersetzungseinheiten.cpp). - Umfasst vollständige C++-Typdefinitionen (z. B.
struct,enum class,ara::core::Vector,ara::core::Array,ara::core::Optional, Type-Aliases), Namespace-Hierarchien sowie typspezifische Meta-/Serialisierungstrakte fürara::com.
- Generierte Quellcode-Dateien (z. B. C++-Header
- Kardinalität & Datenfluss:
- 1:n-Projektion: Ein ARXML-Schnittstellenmodell generiert typischerweise mehrere Header und Modulspezifische Bindings.
- Unidirektionaler Datenfluss von der formalen Modellspezifikation zur Build-Kette.
3. Dynamisches Verhalten & Sequenzablauf
- Phasen-Klassifikation: Reine Build-Time / Design-Time. Keine Ausführung von Laufzeitdynamik, Callbacks oder Dem/Det-Fehlermeldungen im Zielsystem.
- Sequenzschritte der Codegenerierung:
- Model Ingestion & Metamodell-Validierung: Einlesen der
.arxml-Dateien, syntaktische Prüfung und Auflösung der typisierten Referenzen (AbstractImplementationDataType). - Typ-Mapping & Namensraum-Ableitung: Projektion der ARXML-Package-Hierarchien auf Zielsprachen-Namespaces. Abbildung der modellierten Datentypen auf primitive C++-Typen (
std::uint32_t,booletc.) oder Typen der AUTOSAR Adaptive Core Library (ara::core::*). - Code-Emission: Synthetisieren der C++-Header mit Include-Guards, Struct-Definitionen und sprachspezifischen Typmerkmalen (Type Traits / Serialization Hooks).
- Model Ingestion & Metamodell-Validierung: Einlesen der
- Abbruchkriterien: Nicht auflösbare Typ-Referenzen, verletzte Metamodell-Constraints, zirkuläre Datentypstrukturen ohne Zeigersemantik oder unzulässige Wertebereichsgrenzen im ARXML führen zum sofortigen Fehlerabbruch des Generators im Build-System.
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag & Unidirektionalität:
- Der generierte Code ist Read-Only. Manuelle Modifikationen sind unzulässig, da jede Modelländerung die Artefakte überschreibt.
- Applikationsentwickler binden ausschließlich die generierten Header ein; Typänderungen müssen auf ARXML-Ebene initiiert werden.
- Typgarantien nach [SWS_LBAP_00037]:
- Der Generator muss sicherstellen, dass die generierten Typen unmittelbar (pre-)kompilierbar sind, ohne dass nachgelagerte manuelle Eingriffe oder Dritt-Header (außerhalb der standardisierten Laufzeitumgebung wie
ara::core) erforderlich sind.
- Der Generator muss sicherstellen, dass die generierten Typen unmittelbar (pre-)kompilierbar sind, ohne dass nachgelagerte manuelle Eingriffe oder Dritt-Header (außerhalb der standardisierten Laufzeitumgebung wie
- Konformität & Build-Integration:
- Integratoren müssen den Generator deterministisch vor der Compiler-Phase (z. B. in CMake/Meson) einbinden.
- Tool-Hersteller müssen gewährleisten, dass der emittierte C++-Code den AUTOSAR C++14/C++17 Coding Guidelines und MISRA C++ entspricht.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.