DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_ARARustApplications FIG-a9e7669da1254646 185 × 294 px 1 Release(s)

Figure 6.4: Type alias

SHA-256 Inhalts-Fingerabdruck: a9e7669da1254646532dfd44b6a382ff961c40ea5d97dc8a1f26f7e422ff806d
✦ 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-Klassendiagramm / Strukturdiagramm (UML-Profilierung für die Rust-Sprachbindung in AUTOSAR AP).
  • Technischer Zweck & Einordnung: Spezifiziert die formale UML-Notation für ein Rust-Typ-Alias-Sprachkonstrukt im Rahmen des Schnittstellen- und API-Designs für AUTOSAR Adaptive Platform Rust-Applikationen (AUTOSAR_AP_EXP_ARARustApplications, Kapitel 6). Das Diagramm definiert den Standard für Modellierungs- und Codegenerierungswerkzeuge (ARXML-to-Rust), um typdefinitorische Verweise auf Basisstrukturen konsistent abzubilden.

2. Komponenten, Entitäten & Schnittstellen

  • module1::MyStruct2 (Stereotyp: «Struct»):
    • Repräsentiert die konkrete Ziel-Datenstruktur (struct MyStruct2) innerhalb des Modul-Namespace module1.
    • Dient als definierender Basistyp.
  • module1::TypeAlias (Stereotyp: «type»):
    • Repräsentiert das deklarierte Typ-Alias (type TypeAlias = MyStruct2;) innerhalb desselben Moduls module1.
  • Beziehung («type_alias»):
    • Gerichtete gestrichelte Abhängigkeitskante mit offener Pfeilspitze, annotiert mit dem Stereotyp «type_alias».
    • Verläuft von der Alias-Entität (module1::TypeAlias) zur Ziel-Entität (module1::MyStruct2).
    • Semantik: Formalisiert ein reines Typsynonym; es wird kein neuer Nominaltyp und keine Vererbungshierarchie begründet.

3. Dynamisches Verhalten & Sequenzablauf

  • Dynamik: Nicht zutreffend (reines statisches Metamodell- und Typstruktur-Diagramm).
  • Kompilierzeit-Auflösung: Die Zuordnung erfolgt vollständig zur Übersetzungszeit durch den Rust-Compiler (rustc). Es existieren weder Laufzeit-Instanziierungen, Dispatch-Overheads (kein VTable-Lookup) noch Callbacks oder Zustandsübergänge.

4. Normative Relevanz & Entwickler-Hinweise

  • Code-Generierung (ARXML-Mapping):
    • Modellierungswerkzeuge und Generatoren müssen für Entitäten mit dem Stereotyp «type» und einer eingehenden «type_alias»-Kante die Rust-Syntax pub type TypeAlias = MyStruct2; emittieren.
  • Keine starke Typisierung (Kein Newtype-Pattern):
    • Ein Typ-Alias erzeugt in Rust keine strikte Typentrennung. TypeAlias und MyStruct2 sind vollständig austauschbar. Entwickler erhalten keinen Schutz gegen unbeabsichtigtes Zuweisen oder Verwechseln semantisch unterschiedlicher Werte. Soll strikte Typsicherheit auf API-Ebene erzwungen werden, ist normativ ein Newtype (struct TypeAlias(pub MyStruct2);) anstelle eines Typ-Alias erforderlich.
  • Sichtbarkeit und Modul-Scoping:
    • Beide Entitäten unterliegen der Modul-Kapselung module1. Das exportierte Alias erfordert, dass die zugrunde liegende Struktur MyStruct2 mindestens die gleiche Sichtbarkeitsstufe besitzt (pub bzw. pub(crate)), um Compilerfehler (E0446: private type in public interface) zu verhindern.
  • Zero-Cost Abstraction:
    • Im Memory-Layout und ABI-Verhalten entspricht das Typ-Alias bitgenau der Zielstruktur MyStruct2; es entsteht keinerlei Allokations- oder Laufzeit-Overhead für sicherheitskritische Adaptive-Applikationen.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R24-11 → R25-11 keine inhaltliche Änderung Vorgänger: FIG-d33b7bd96c588a8f

Keine inhaltlichen Änderungen erkennbar.

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_EXP_ARARustApplications S. 31 6.4 Figure 6.4: Type alias