DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_LogAndTrace FIG-7ad6a1eec82a1a98 932 × 375 px 1 Release(s)

Figure 7.2: ara::log Modeled Message Generator

SHA-256 Inhalts-Fingerabdruck: 7ad6a1eec82a1a98dead30b2a7abcc7a0dca53536893427fcb0c613718076d9a
✦ 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: Generatormodell / Werkzeugfluss-Diagramm (Build-time Artifact Transformation Pipeline).
  • Technischer Zweck & funktionale Einordnung: Veranschaulicht den Codegenerierungsprozess für typisierte, modellierte DLT-Nachrichten (Modeled Messages) innerhalb von AUTOSAR Adaptive Platform (ara::log). Es bildet ARXML-Modellbeschreibungen (LogAndTraceMessageCollectionSet, LogAndTraceInterface) deterministisch auf C++-Headerdateien (messages.h), Namensräume und Message-Instanzen ab, um standardisiertes, nicht-verboses DLT-Logging zur Compile-Zeit typsicher bereitzustellen.

2. Komponenten, Entitäten & Schnittstellen

  • Eingangsartefakt (x_messages.arxml):
    • LogAndTraceInterface: Definiert den Basis-Namespace der Applikation über eine geordnete Sequenz von Symbol-Attributen (.symbol[1] = Apd, .symbol[2] = MyApp → apd::myapp).
    • LogAndTraceMessageCollectionSet: Gruppierungscontainer für logisch zusammengehörige Log-Nachrichten (hier Instanzen DltMsgs1 und DltMsgs2).
    • DltMessage: Repräsentiert die einzelne modellierte Log-PDU bzw. DLT-Nachricht mit spezifischen Parametern, Payload-Definitionen und 32-Bit Message-ID (.shortName = SpeedMsg1, SpeedMsg2).
  • Generator-Komponente:
    • ARA Log Modeled Message Generator: Transformator, der die ARXML-Metadaten verarbeitet und die plattformspezifischen C++14/C++17-Header erzeugt.
  • Ausgangsartefakte & Dateisystem-Struktur:
    • Getrennte Verzeichnispfade basierend auf Modell-Hierarchie: apd/myapp/.../dltmsgs1/ und apd/myapp/.../dltmsgs2/.
    • Generierte Header messages.h mit vollqualifizierten Include-Guards (APD_MYAPP_DLTMSGS1_H_, APD_MYAPP_DLTMSGS2_H_).
    • Typisierte Symbole im Ziel-Namespace:
      • Typdefinitionen: <Namespace>::<CollectionName>::<MessageName>Type (z. B. apd::myapp::dltmsgs1::SpeedMsg1Type).
      • Vorinstanziierte Nachrichtenobjekte: <MessageName> (z. B. SpeedMsg1, SpeedMsg2).

3. Dynamisches Verhalten & Sequenzablauf

Da es sich um einen statischen Codegenerierungsschritt zur Entwurfs-/Build-Zeit handelt, existiert kein dynamischer Laufzeit-Kontrollfluss. Der Generierungsablauf erfolgt linear:

  1. Parsing: Einlesen der LogAndTraceInterface- und LogAndTraceMessageCollectionSet-Pakete aus der Manifest-Konfiguration (*.arxml).
  2. Namensraum-Auflösung: Verkettung von LogAndTraceInterface.symbol[] mit dem shortName des jeweiligen LogAndTraceMessageCollectionSet zu eindeutigen C++-Namespaces (apd::myapp::dltmsgs1).
  3. Kollisionsvermeidung: Identische DltMessage.shortName-Bezeichner (SpeedMsg1, SpeedMsg2) in unterschiedlichen CollectionSets werden durch isolierte Sub-Namespaces und separate Verzeichnispfade konfliktfrei gekapselt.
  4. Code-Emittierung: Erzeugen der Header messages.h inklusive typsicherer Structs/Klassen für die serialisierbaren DLT-Payloads sowie statischer Instanzen.

4. Normative Relevanz & Entwickler-Hinweise

  • SWS-Konformität (SWS_LOG_00244, SWS_LOG_00245): Der Generator setzt die vertraglichen Namensraum- und Header-Generierungsregeln für modelliertes Logging um. Entwickler binden die generierten Header dateipfadgenau ein (#include "apd/myapp/.../dltmsgs1/messages.h").
  • Non-Verbose Mode Logging (RS_LT_00003, RS_LT_00049): Durch modellierte Nachrichten entfällt das Parsen von ASCII-Strings zur Laufzeit. Die Payload-Serialisierung erfolgt direkt über die generierten Datentypen; auf dem Bus (DLT-Daemon/Logging-Socket) werden kompakte Message-IDs anstelle von Textstrings übertragen. Dies minimiert Buslast und CPU-Overhead auf dem Zielsystem.
  • Applikations-API: Entwickler übergeben die generierten Instanzen (SpeedMsg1) typisiert an den Stream-Operator von ara::log::Logger::LogVerbose() bzw. die dedizierten Modeled-Message-Log-Methoden (logger.Log(SpeedMsg1, ...)); Typüberprüfungen für Argumente erfolgen vollständig zur Compile-Zeit.

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

R23-11 → R24-11 keine inhaltliche Änderung Vorgänger: FIG-e936b52439fd5ee5

Keine inhaltlichen Änderungen erkennbar.

R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-236924649919c822

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_AP_SWS_LogAndTrace S. 32 7.2 Figure 7.2: ara::log Modeled Message Generator