Dient voor het beschikbaar stellen van de DoIP-groepsidentificatiestatus voor de Diagnostic Manager.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: dea27beb11bbHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient voor het beschikbaar stellen van de DoIP-groepsidentificatiestatus voor de Diagnostic Manager.
De klasse ara::diag::DoIPGroupIdentification dient als abstracte interface voor Adaptive-applicaties om het Diagnostic Management te voorzien van de actuele status van de DoIP-groepsidentificatie [SWS_DM_00724]. Na de poortspecifieke instantiëring activeert de applicatie het doorsturen van verzoeken via Offer() en beëindigt dit vóór de objectvernietiging met StopOffer()[SWS_DM_00725]. De handler-instantie is uniek, noch kopieerbaar noch verplaatsbaar, en beantwoordt aanvragen asynchroon via een ara::core::Future.
Context
De klasse ara::diag::DoIPGroupIdentification stelt de functionele interface van het Diagnostic Management (AUTOSAR AP SWS Diagnostics p. 73) ter beschikking, waarmee een adaptive applicatie de actuele groepsidentificatiestatus (GID-status) voor het DoIP-protocol beschikbaar stelt [SWS_DM_00724]. Binnen de platformarchitectuur fungeert de klasse als bemiddelaar tussen twee primaire interactiepartners: de interne Diagnostic Management Daemon (DM), die gestandaardiseerde voertuigidentificatie- en DoIP-berichten via het netwerk afhandelt, en de applicatiespecifieke implementatie, die de zuiver virtuele methode GetGidStatus() concretiseert. Het beschikbaar stellen en in ontvangst nemen van verzoeken wordt gestuurd via expliciete service-aanbiedingen [SWS_DM_00725].
Levenscyclus
Een instantie van DoIPGroupIdentification representeert een unieke diagnosepoort. Daarom is de klasse ontworpen als een uniek beheerd object: zowel copy constructor [SWS_DM_01641] en move constructor [SWS_DM_01642] als de bijbehorende toewijzingsoperatoren [SWS_DM_01639], [SWS_DM_01640] zijn expliciet verwijderd (=delete).
Het aanmaken gebeurt verplicht via de geparametriseerde constructor onder opgave van een ara::core::InstanceSpecifier en de gelijktijdigheidsmodus ConcurrencyType[SWS_DM_00722]. De levenscyclus is onderverdeeld in de volgende fasen:
Niet aangeboden (Not Offered): Na de constructie bestaat het object in de adresruimte van het proces, maar ontvangt het nog geen verzoeken van het DM.
Aangeboden (Offered): Door de synchrone aanroep van Offer()[SWS_DM_00725] wordt de handler bij het DM geactiveerd, zodat inkomende DoIP-statusverzoeken worden doorgestuurd.
Gestopt (Stopped): De aanroep van StopOffer()[SWS_DM_00726] ontneemt het DM de doorstuurbevoegdheid en brengt het object terug naar de inactieve toestand.
De vernietiging gebeurt via de virtuele destructor ~DoIPGroupIdentification()[SWS_DM_00723]. Wat betreft gelijktijdigheid is de constructor thread-safe, terwijl Offer(), StopOffer() en de destructor niet thread-safe zijn [SWS_DM_00722], [SWS_DM_00723], [SWS_DM_00725], [SWS_DM_00726]. De thread-safety van de opvraagfunctie GetGidStatus() wordt gedefinieerd door de in de constructor gekozen ConcurrencyType[SWS_DM_00724]. Interpretatie: De destructor beëindigt lopende doorsturingen vermoedelijk impliciet als StopOffer() vooraf niet werd aangeroepen. Vraag Q-50d70fb679462321 (open)
Gebruikspad
Het typische gebruik omvat de initialisatie, activering, asynchrone verwerking en deactivering:
Een concrete diagnoseklasse erft over van ara::diag::DoIPGroupIdentification en implementeert de methode GetGidStatus()[SWS_DM_00724].
De applicatie maakt het object aan met de InstanceSpecifier van het geconfigureerde PortPrototype en legt vast of GetGidStatus() gelijktijdig mag worden aangeroepen (kConcurrent) of niet (kNotConcurrent) [SWS_DM_00722].
Middels Offer() activeert de applicatie de handler voor Diagnostic Management [SWS_DM_00725].
Zodra DoIP-verzoeken binnenkomen, roept het DM GetGidStatus() aan; de applicatie levert de GID-status asynchroon terug via ara::core::Future<GidStatus>[SWS_DM_00724].
Voor het beëindigen van de service of het afsluiten van de component roept de applicatie StopOffer() aan [SWS_DM_00726], gevolgd door de vernietiging van het object [SWS_DM_00723].
Bij het gebruik van DoIPGroupIdentification zijn foutcondities in de constructie- en implementatiefase gedefinieerd:
Model- en toewijzingsfouten (constructor): Als de instantiëring mislukt, worden gestandaardiseerde schendingen gemeld [SWS_DM_00722]:
InstanceSpecifierMappingIntegrityViolation: De identifier kan niet worden opgelost of verwijst niet naar een PortPrototype.
PortInterfaceMappingViolation: De gerefereerde poort is niet getypeerd als DiagnosticDoIPGroupIdentificationInterface.
ProcessMappingViolation: Aan de uitvoeringscontext is in het model geen passend proces toegewezen.
InstanceSpecifierAlreadyInUseViolation: De opgegeven poortidentifier wordt in het lopende proces al door een andere instantie gebruikt.
Service-aanbiedingsfout (Offer()): De methode retourneert een ara::core::Result<void>. Als de service voor deze handler al met succes is aangeboden, mislukt de hernieuwde aanroep met de foutcode DiagOfferErrc::kAlreadyOffered[SWS_DM_00725].
Fout bij statusopvraag: De interface GetGidStatus() specificeert geen gestandaardiseerde foutcodes [SWS_DM_00724]; applicatie-interne fouten moeten worden afgebeeld via het resultaatobject van de geretourneerde future.
Deze handleiding is uitsluitend gebaseerd op de AUTOSAR Adaptive-specificatie 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.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: c580e08dd024Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone memberfunctie Offer van de klasse ara::diag::DoIPGroupIdentification signaleert aan Diagnostic Management (DM) dat de aanbiedende Adaptive Application gereed is en dat verzoeken voor de DoIP-groepsidentificatie kunnen worden verwerkt [SWS_DM_00725]. Pas na deze aanroep kan de DM de groeps-ID indien nodig via de methode GetGidStatus ophalen, mits er geen vaste configuratie aanwezig is [SWS_DM_00813].
Ten aanzien van de aanroepcontext en gelijktijdigheid gelden de volgende voorwaarden:
Signatuur en semantiek: De aanroep vindt plaats zonder parameters en retourneert synchroon een ara::core::Result<void>[SWS_DM_00725]. De methode is gedeclareerd als noexcept en uitzonderingsveilig (exception safe) [SWS_DM_00725].
Thread-safety: De operatie is gespecificeerd als niet-thread-safe (not thread-safe) [SWS_DM_00725]. Aanroepen op dezelfde instantie mogen niet onbeschermd vanuit concurrerende threads plaatsvinden.
In geval van een fout levert het resulterende object de foutcode DiagOfferErrc::kAlreadyOffered met rollback-semantiek op, indien de service voor deze interface reeds is aangeboden [SWS_DM_00725].
Zolang de applicatie Offer nog niet heeft uitgevoerd en de DM een DoIP-groepsidentificatie moet verzenden, treedt het fallback-gedrag in werking: de DM verzendt als GID-waarde ofwel 0x00 0x00 0x00 0x00 0x00 0x00 ofwel 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF conform ISO 13400-2 ter aanduiding van “value not set” [SWS_DM_01527].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie.
This StopOffer will disable the forwarding of request messages from DM to this handler.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: da4bfe9455e6HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De methode StopOffer van de klasse ara::diag::DoIPGroupIdentification beëindigt de beschikbaarstelling van de handler en deactiveert het doorsturen van inkomende verzoekberichten (request messages) van Diagnostic Management (DM) naar deze instantie [SWS_DM_00726].
Gebruik en foutafhandeling
De in de header ara/diag/doip_group_identification.h gedeclareerde bewerking heeft de signatuur void StopOffer () noexcept;[SWS_DM_00726]. Zij accepteert geen parameters, levert geen retourwaarde op en wordt synchroon uitgevoerd [SWS_DM_00726]. De methode is gespecificeerd als uitzonderingsveilig (exception safe) en werpt geen C++-exceptions op; afzonderlijke foutcodes of foutmeldingen zijn voor dit proces niet voorzien [SWS_DM_00726].
Gelijktijdigheid en beperkingen
Wat betreft concurrency is StopOffer expliciet gespecificeerd als niet-thread-safe (not thread-safe) [SWS_DM_00726]. Aanroepende applicaties moeten daarom vermoedelijk zelfstandig garanderen dat er geen conflicterende aanroepen op dezelfde instantie plaatsvinden. Vraag Q-3ac810ffb08cb197 (open)
Samenspel
De diagnosemodule hanteert het patroon StopOffer uniform over functionele interfaces heen, bijvoorbeeld bij generieke routines [SWS_DM_00558], de communicatiesturing [SWS_DM_00810] en authenticatiediensten [SWS_DM_01131]. Hoewel de aanduidingen qua functionaliteit zijn ontleend aan het servicebeheer in ara::com, betreft het een zelfstandige implementatie van de diagnose-architectuur AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”.
Deze gebruiksinstructie is gegenereerd door een AI en baseert zich uitsluitend op de AUTOSAR-specificatie voor R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel