Ermöglicht adaptiven Anwendungen die Bereitstellung der DoIP-Entity-Identifikation für das Diagnosemanagement.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 73f8b2cf1d2eHerkunftOffene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Ermöglicht adaptiven Anwendungen die Bereitstellung der DoIP-Entity-Identifikation für das Diagnosemanagement.
Die Klasse ara::diag::DoIPEntityIdentification ermöglicht adaptiven Anwendungen die dynamische Bereitstellung der Entity-Identifikation (EID) für das DoIP-Diagnoseprotokoll [SWS_DM_01361]. Nach der Instanziierung aktiviert die Anwendung die Weiterleitung mittels Offer() und beantwortet Abfragen des Diagnostic Managements über die rein virtuelle Methode GetEntityId() asynchron mittels Future [SWS_DM_01366], [SWS_DM_01367]. Ist die Schnittstelle bei einer Abfrage noch nicht bereitgestellt, versendet das Diagnosemanagement ersatzweise einen standardisierten 0xFF-Wert [SWS_DM_01528].
Kontext
Die Klasse ara::diag::DoIPEntityIdentification dient der dynamischen Bereitstellung der Entity-Identifikation (EID) für das DoIP-Protokoll (Diagnostic over IP) [SWS_DM_01361]. In einer AUTOSAR-Adaptive-Umgebung bildet sie die funktionale Brücke zwischen einer individuellen adaptiven Anwendung und dem Diagnostic Management (DM) AUTOSAR_AP_SWS_Diagnostics, S. 107. Ist in der Konfiguration DoIpNetworkConfiguration.eidRetrieval auf den Modus DoIpEidRetrievalEnum.eidUseApi eingestellt, fordert das Diagnostic Management die EID über diese Programmierschnittstelle an [SWS_DM_01361]. Die Bindung an die Software-Architektur erfolgt über einen ara::core::InstanceSpecifier, der auf einen PortPrototype eines DiagnosticDoIPEntityIdentificationInterface verweist [SWS_DM_01364].
Lebenszyklus
Die Erzeugung erfolgt über den expliziten Konstruktor, dem neben dem InstanceSpecifier der Parameter ConcurrencyType (kConcurrent oder kNotConcurrent) übergeben wird [SWS_DM_01364]. Letzterer legt fest, ob nachfolgende Abrufe an die Schnittstelle threadsicher abgewickelt werden müssen [SWS_DM_01364], [SWS_DM_01366]. Nach der Konstruktion verbleibt das Objekt zunächst im inaktiven Zustand. Durch den Aufruf von Offer() wird die Schnittstelle für das Diagnostic Management freigeschaltet und die Weiterleitung von Anfragen an den Handler aktiviert [SWS_DM_01367]. Vor der Zerstörung des Objekts oder bei Beendigung des Betriebs unterbindet StopOffer() die Weiterleitung wieder [SWS_DM_01368]. Die Zerstörung erfolgt schließlich über den virtuellen Destruktor [SWS_DM_01365]. Weder Offer(), StopOffer() noch der Destruktor sind threadsicher und erfordern daher eine koordinierte Synchronisation im Anwendungscode [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].
Im typischen Nutzungsszenario leitet die adaptive Anwendung eine eigene Implementierungsklasse von ara::diag::DoIPEntityIdentification ab und überschreibt die rein virtuelle Methode GetEntityId()[SWS_DM_01366]. Nach Instanziierung mit gültigem Bezeichner meldet die Anwendung den Handler mittels Offer() an [SWS_DM_01367]. Sobald das Diagnostic Management zur Zusammenstellung von DoIP-Nachrichten die Entity-ID benötigt, ruft es GetEntityId() auf [SWS_DM_01361], [SWS_DM_01366]. Die Methode liefert ein ara::core::Future<EntityId> zurück, wodurch die Identifikationsdaten asynchron ermittelt und bereitgestellt werden können [SWS_DM_01366]. Endet der Funktionsbetrieb, nimmt die Anwendung das Angebot über StopOffer() zurück [SWS_DM_01368].
Fehlerhafte Modellkonfigurationen bei der Konstruktion führen zu spezifischen Laufzeitverletzungen: Kann der InstanceSpecifier im Modell nicht aufgelöst werden oder verweist nicht auf einen PortPrototype, resultiert eine InstanceSpecifierMappingIntegrityViolation[SWS_DM_01364]. Verweist das Port-Mapping nicht auf ein DiagnosticDoIPEntityIdentificationInterface, liegt eine PortInterfaceMappingViolation vor, während ein fehlender Prozessabgleich eine ProcessMappingViolation auslöst [SWS_DM_01364]. Wird derselbe Bezeichner im Prozess mehrfach verwendet, folgt eine InstanceSpecifierAlreadyInUseViolation[SWS_DM_01364].
Wird Offer() aufgerufen, wenn der Dienst bereits aktiv offeriert wird, liefert die Methode ein ara::core::Result mit dem Fehlercode DiagOfferErrc::kAlreadyOffered zurück [SWS_DM_01367]. Kann das Diagnostic Management die EID nicht abfragen – etwa weil die Schnittstelle zum Anfragezeitpunkt noch nicht offeriert wurde –, greift ein definierter Protokoll-Fallback: Das Diagnostic Management versendet in DoIP-Nachrichten ersatzweise einen 6-Byte-EID-Wert von 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF[SWS_DM_01528].
Dieser Leitfaden wurde durch einen KI-Assistenten auf Basis der AUTOSAR-Adaptive-Spezifikation R25-11 generiert.
InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype.
PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticDoIpEntityIdentificationPortMapping needs to be typed by a DiagnosticDoIPEntityIdentificationInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.
Parameter (in)
Parameter
Beschreibung
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticDoIPEntityIdentificationInterface.
concurrencyType
Specifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent)..
Request a governed re-review of this record. The record is not changed immediately.
This Offer will enable the DM to forward request messages to this handler.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 60c723a50d6cHerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode Offer der Klasse ara::diag::DoIPEntityIdentification schaltet die Weiterleitung eingehender DoIP-Anfragen durch den Diagnostic Management Daemon (DM) an den registrierten Handler frei ([SWS_DM_01367]). Erst nach dem erfolgreichen Aufruf werden Nachrichten an den Handler weitergereicht. Interpretation: Der Aufruf erfolgt typischerweise in der Initialisierungsphase der Adaptive Application, bevor Diagnosebotschaften empfangen werden sollen. Frage Q-4b78d4f80bda63a4 (offen)
Verwendung und Semantik:
Aufrufkontext: Die Operation wird synchron ausgeführt und ist als noexcept deklariert; sie wirft keine Exceptions ([SWS_DM_01367]).
Rückgabewert: Sie liefert ein ara::core::Result<void> zurück, welches im Erfolgsfall keinen Wert enthält ([SWS_DM_01367]).
Fehlerbehandlung:
Wurde die Schnittstelle für die Instanz bereits angeboten, schlägt der Aufruf fehl und liefert mit Rollback-Semantik den Fehlercode DiagOfferErrc::kAlreadyOffered ([SWS_DM_01367]).
Nebenläufigkeit und Einschränkungen:
Die Schnittstelle ist als not thread-safe spezifiziert ([SWS_DM_01367]). Gleichzeitige Aufrufe auf derselben Instanz müssen durch die aufrufende Anwendung synchronisiert werden.
Zusammenspiel:
Das Registrierungsmuster entspricht der Vorgehensweise anderer DoIP-Dienste wie DoIPGroupIdentification ([SWS_DM_00725]) und DoIPPowerMode ([SWS_DM_00735]) sowie generischer UDS-Handler ([SWS_DM_00619]). Die Namensgebung folgt dem aus ara::com bekannten Muster, stellt jedoch eine eigenständige Registrierung gegenüber dem DM dar (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“).
Dieser Text wurde von einer KI basierend auf der Spezifikation AUTOSAR R25-11 generiert.
This StopOffer will disable the forwarding of request messages from DM.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 2e0edce0b8e6HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwendung
Die Methode ara::diag::DoIPEntityIdentification::StopOffer beendet das Anbieten des Dienstes zur DoIP-Entitätsidentifikation und deaktiviert die Weiterleitung von Anfragenachrichten aus dem Diagnostic Management (DM) an die Anwendung [SWS_DM_01368]. Die Schnittstelle wird über die Header-Datei ara/diag/doip_entity_identification.h bereitgestellt. Sie nimmt keine Parameter entgegen und liefert keinen Rückgabewert (void) [SWS_DM_01368]. Interpretation: Da die Signatur weder ein Future-Objekt noch eine Benachrichtigung per Callback vorsieht, dürfte der Aufruf synchron blockierend ausgeführt werden, bis die Weiterleitung im DM beendet ist. Frage Q-75f67df3a003b08f (offen)
Fehlerbehandlung und Ausnahmesicherheit
Die Operation ist mit dem Spezifizierer noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_DM_01368]. Es werden keine spezifischen Fehlercodes zurückgegeben und keine Ausnahmen ausgelöst.
Nebenläufigkeit und Einschränkungen
In Bezug auf die Ausführungsumgebung ist die Methode als nicht threadsicher (not thread-safe) eingestuft [SWS_DM_01368]. Erfolgen parallele Aufrufe oder Zugriffe auf dieselbe Instanz von ara::diag::DoIPEntityIdentification, müssen diese anwendungsseitig synchronisiert werden.
Zusammenspiel
Das Verhalten fügt sich in das einheitliche Lebenszyklusmuster des AUTOSAR Adaptive Diagnostic Management ein. Eine vergleichbare Deaktivierung der Nachrichtenweiterleitung erfolgt beispielsweise bei der Gruppenidentifikation über [SWS_DM_00726] sowie bei Diagnoseschaltern und Monitoren über [SWS_DM_01089]. Wie in AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“ hervorgehoben wird, orientiert sich die Namensgebung von Offer und StopOffer an den Mustern von ara::com, stellt jedoch eine eigenständige Implementierung für Diagnoseschnittstellen dar.
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.
gemini-3.8-flash-medium· 2026-10-13