Dient zur Bereitstellung des DoIP-Gruppenidentifikationsstatus für den Diagnostic Manager.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: dea27beb11bbHerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Dient zur Bereitstellung des DoIP-Gruppenidentifikationsstatus für den Diagnostic Manager.
Die Klasse ara::diag::DoIPGroupIdentification dient als abstrakte Schnittstelle für Adaptive-Anwendungen, um dem Diagnostic Management den aktuellen Status der DoIP-Gruppenidentifikation bereitzustellen [SWS_DM_00724]. Nach der portspezifischen Instanziierung aktiviert die Anwendung die Weiterleitung von Anfragen über Offer() und beendet diese vor der Objektzerstörung mittels StopOffer()[SWS_DM_00725]. Die Handler-Instanz ist unikat, weder kopier- noch verschiebbar und beantwortet Abfragen asynchron über ein ara::core::Future.
Kontext
Die Klasse ara::diag::DoIPGroupIdentification stellt die funktionale Schnittstelle des Diagnose-Managements (AUTOSAR AP SWS Diagnostics S. 73) zur Verfügung, über welche eine adaptive Anwendung den aktuellen Gruppenidentifikations-Status (GID-Status) für das DoIP-Protokoll bereitstellt [SWS_DM_00724]. Innerhalb der Plattformarchitektur agiert die Klasse als Vermittler zwischen zwei primären Interaktionspartnern: dem internen Diagnostic Management Daemon (DM), der standardisierte Fahrzeugidentifikations- und DoIP-Nachrichten über das Netzwerk abwickelt, und der anwendungsspezifischen Implementierung, welche die reine virtuelle Methode GetGidStatus() konkretisiert. Die Bereitstellung und das Entgegennehmen von Anfragen wird über explizite Dienstangebote gesteuert [SWS_DM_00725].
Lebenszyklus
Eine Instanz von DoIPGroupIdentification repräsentiert einen eindeutigen Diagnose-Port. Aus diesem Grund ist die Klasse als unikat verwaltetes Objekt ausgelegt: Sowohl Kopierkonstruktor [SWS_DM_01641] und Move-Konstruktor [SWS_DM_01642] als auch die entsprechenden Zuweisungsoperatoren [SWS_DM_01639], [SWS_DM_01640] sind explizit gelöscht (=delete).
Die Erzeugung erfolgt zwingend über den parametrisierten Konstruktor unter Angabe eines ara::core::InstanceSpecifier sowie des Nebenläufigkeitsmodus ConcurrencyType[SWS_DM_00722]. Der Lebenszyklus gliedert sich in folgende Phasen:
Nicht angeboten (Not Offered): Nach der Konstruktion existiert das Objekt im Adressraum des Prozesses, empfängt jedoch noch keine Anfragen vom DM.
Angeboten (Offered): Durch den synchronen Aufruf von Offer()[SWS_DM_00725] wird der Handler beim DM aktiviert, sodass eingehende DoIP-Statusanfragen weitergeleitet werden.
Gestoppt (Stopped): Der Aufruf von StopOffer()[SWS_DM_00726] entzieht dem DM die Weiterleitungsberechtigung und überführt das Objekt zurück in den inaktiven Zustand.
Die Zerstörung erfolgt über den virtuellen Destruktor ~DoIPGroupIdentification()[SWS_DM_00723]. Hinsichtlich der Nebenläufigkeit ist der Konstruktor threadsicher, während Offer(), StopOffer() sowie der Destruktor nicht threadsicher sind [SWS_DM_00722], [SWS_DM_00723], [SWS_DM_00725], [SWS_DM_00726]. Die Threadsicherheit der Abfragefunktion GetGidStatus() wird bedingt durch den im Konstruktor gewählten ConcurrencyType definiert [SWS_DM_00724]. Interpretation: Der Destruktor dürfte laufende Weiterleitungen implizit beenden, falls StopOffer() zuvor nicht aufgerufen wurde. Frage Q-50d70fb679462321 (offen)
Nutzungspfad
Die typische Verwendung umfasst die Initialisierung, Aktivierung, asynchrone Bearbeitung und Deaktivierung:
Eine konkrete Diagnoseklasse erbt von ara::diag::DoIPGroupIdentification und implementiert die Methode GetGidStatus()[SWS_DM_00724].
Die Anwendung erzeugt das Objekt mit dem InstanceSpecifier des konfigurierten Port-Prototypes und legt fest, ob GetGidStatus() nebenläufig aufgerufen werden darf (kConcurrent) oder nicht (kNotConcurrent) [SWS_DM_00722].
Mittels Offer() schaltet die Anwendung den Handler für das Diagnostic Management scharf [SWS_DM_00725].
Sobald DoIP-Anfragen eintreffen, ruft der DM GetGidStatus() auf; die Anwendung liefert den GID-Zustand asynchron über ara::core::Future<GidStatus> zurück [SWS_DM_00724].
Vor dem Beenden des Dienstes oder Herunterfahren der Komponente ruft die Anwendung StopOffer() auf [SWS_DM_00726], gefolgt von der Zerstörung des Objekts [SWS_DM_00723].
Beim Einsatz von DoIPGroupIdentification sind Fehlerbedingungen in der Konstruktions- und Bereitstellungsphase definiert:
Modell- und Zuordnungsfehler (Konstruktor): Schlägt die Instanziierung fehl, werden standardisierte Verletzungen gemeldet [SWS_DM_00722]:
InstanceSpecifierMappingIntegrityViolation: Der Bezeichner lässt sich nicht auflösen oder verweist nicht auf einen Port-Prototyp.
PortInterfaceMappingViolation: Der referenzierte Port ist nicht als DiagnosticDoIPGroupIdentificationInterface typisiert.
ProcessMappingViolation: Dem Ausführungskontext ist im Modell kein passender Prozess zugeordnet.
InstanceSpecifierAlreadyInUseViolation: Der angegebene Port-Bezeichner wird im laufenden Prozess bereits von einer anderen Instanz genutzt.
Dienstbereitstellungsfehler (Offer()): Die Methode gibt ein ara::core::Result<void> zurück. Wurde der Dienst für diesen Handler bereits erfolgreich angeboten, schlägt der erneute Aufruf mit dem Fehlercode DiagOfferErrc::kAlreadyOffered fehl [SWS_DM_00725].
Fehler bei der Statusabfrage: Die Schnittstelle GetGidStatus() spezifiziert keine standardisierten Fehlercodes [SWS_DM_00724]; anwendungsinterne Fehler müssen über das Ergebnisobjekt des zurückgegebenen Futures abgebildet werden.
Dieser Leitfaden basiert ausschließlich auf der AUTOSAR-Adaptive-Spezifikation R25-11.
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 DiagnosticDoIpGroupIdentificationPortMapping needs to be typed by a DiagnosticDoIPGroupIdentificationInterface. 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 DiagnosticDoIPGroupIdentificationInterface.
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: c580e08dd024Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die synchrone Member-Funktion Offer der Klasse ara::diag::DoIPGroupIdentification signalisiert dem Diagnostic Management (DM), dass die bereitstellende Adaptive Application bereit ist und Anfragen für die DoIP-Gruppenidentifikation verarbeitet werden können [SWS_DM_00725]. Erst nach diesem Aufruf kann der DM die Gruppen-ID bei Bedarf über die Methode GetGidStatus abrufen, sofern keine feste Konfiguration vorliegt [SWS_DM_00813].
Hinsichtlich des Aufrufkontexts und der Nebenläufigkeit gelten folgende Bedingungen:
Signatur und Semantik: Der Aufruf erfolgt parameterlos und gibt synchron ein ara::core::Result<void> zurück [SWS_DM_00725]. Die Methode ist als noexcept deklariert und ausnahmesicher (exception safe) [SWS_DM_00725].
Thread-Sicherheit: Die Operation ist als nicht thread-sicher (not thread-safe) spezifiziert [SWS_DM_00725]. Aufrufe auf derselben Instanz dürfen nicht ungeschützt aus konkurrierenden Threads erfolgen.
Im Fehlerfall liefert das resultierende Objekt den Fehlercode DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik, falls der Dienst für diese Schnittstelle bereits angeboten wurde [SWS_DM_00725].
Solange die Anwendung Offer noch nicht ausgeführt hat und der DM eine DoIP-Gruppenidentifikation versenden muss, greift das Fallback-Verhalten: Der DM übermittelt als GID-Wert entweder 0x00 0x00 0x00 0x00 0x00 0x00 oder 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF gemäß ISO 13400-2 als Kennzeichnung für „value not set“ [SWS_DM_01527].
Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation generiert.
This StopOffer will disable the forwarding of request messages from DM to this handler.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: da4bfe9455e6HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode StopOffer der Klasse ara::diag::DoIPGroupIdentification beendet die Bereitstellung des Handlers und deaktiviert die Weiterleitung eingehender Anfrage-Nachrichten (request messages) vom Diagnostic Management (DM) an diese Instanz [SWS_DM_00726].
Verwendung und Fehlerbehandlung
Die im Header ara/diag/doip_group_identification.h deklarierte Operation besitzt die Signatur void StopOffer () noexcept;[SWS_DM_00726]. Sie nimmt keine Parameter entgegen, liefert keinen Rückgabewert und wird synchron ausgeführt [SWS_DM_00726]. Die Methode ist als ausnahmesicher (exception safe) spezifiziert und wirft keine C++-Exceptions; gesonderte Fehlercodes oder Fehlermeldungen sind für diesen Vorgang nicht vorgesehen [SWS_DM_00726].
Nebenläufigkeit und Einschränkungen
Hinsichtlich der Nebenläufigkeit ist StopOffer explizit als nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_00726]. Aufrufende Applikationen müssen daher vermutlich eigenständig sicherstellen, dass keine konkurrierenden Aufrufe auf derselben Instanz stattfinden. Frage Q-3ac810ffb08cb197 (offen)
Zusammenspiel
Das Diagnosemodul verwendet das Muster StopOffer einheitlich über funktionale Schnittstellen hinweg, beispielsweise bei generischen Routinen [SWS_DM_00558], der Kommunikationssteuerung [SWS_DM_00810] sowie Authentifizierungsdiensten [SWS_DM_01131]. Obwohl die Bezeichnungen funktionsgleich an die Dienstverwaltung in ara::com angelehnt sind, handelt es sich um eine eigenständige Implementierung der Diagnosearchitektur AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.
Dieser Nutzungshinweis wurde von einer KI generiert und stützt sich ausschließlich auf die AUTOSAR-Spezifikation für R25-11.
gemini-3.8-flash-medium· 2026-10-13