Diagnostic Manager के लिए DoIP समूह पहचान स्थिति प्रदान करने का कार्य करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: dea27beb11bbउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
Diagnostic Manager के लिए DoIP समूह पहचान स्थिति प्रदान करने का कार्य करता है।
वर्ग ara::diag::DoIPGroupIdentification Adaptive ऐप्लिकेशन्स के लिए एक अमूर्त इंटरफ़ेस के रूप में कार्य करता है, ताकि Diagnostic Management को DoIP समूह पहचान की वर्तमान स्थिति प्रदान की जा सके [SWS_DM_00724]। पोर्ट-विशिष्ट इंस्टैंसिएशन के बाद, ऐप्लिकेशन Offer() के माध्यम से अनुरोधों के अग्रेषण को सक्रिय करता है और ऑब्जेक्ट नष्ट करने से पहले StopOffer() का उपयोग करके इसे समाप्त करता है [SWS_DM_00725]। यह हैंडलर इंस्टैंस अद्वितीय है, न तो कॉपी करने योग्य है और न ही स्थानांतरित करने योग्य, और एक ara::core::Future के माध्यम से अतुल्यकालिक रूप से प्रश्नों का उत्तर देता है।
संदर्भ
वर्ग ara::diag::DoIPGroupIdentification डायग्नोस्टिक मैनेजमेंट (AUTOSAR AP SWS Diagnostics पृ. 73) का कार्यात्मक इंटरफ़ेस प्रदान करता है, जिसके माध्यम से एक adaptive ऐप्लिकेशन DoIP प्रोटोकॉल के लिए वर्तमान समूह पहचान स्थिति (GID स्थिति) प्रदान करता है [SWS_DM_00724]। प्लेटफ़ॉर्म आर्किटेक्चर के भीतर, यह वर्ग दो प्राथमिक इंटरैक्शन भागीदारों के बीच एक मध्यस्थ के रूप में कार्य करता है: आंतरिक Diagnostic Management Daemon (DM), जो नेटवर्क पर मानकीकृत वाहन पहचान और DoIP संदेशों को संभालता है, और ऐप्लिकेशन-विशिष्ट कार्यान्वयन, जो शुद्ध वर्चुअल मेथड GetGidStatus() को मूर्त रूप देता है। अनुरोधों का प्रावधान और उन्हें प्राप्त करना स्पष्ट सेवा प्रस्तावों के माध्यम से नियंत्रित किया जाता है [SWS_DM_00725]।
जीवनचक्र
DoIPGroupIdentification का एक इंस्टैंस एक अद्वितीय डायग्नोस्टिक पोर्ट का प्रतिनिधित्व करता है। इस कारण से, इस वर्ग को एक अद्वितीय प्रबंधित ऑब्जेक्ट के रूप में डिज़ाइन किया गया है: कॉपी कंस्ट्रक्टर [SWS_DM_01641] और मूव कंस्ट्रक्टर [SWS_DM_01642] के साथ-साथ संबंधित असाइनमेंट ऑपरेटर [SWS_DM_01639], [SWS_DM_01640] दोनों स्पष्ट रूप से हटा दिए गए हैं (=delete)।
निर्माण अनिवार्य रूप से एक ara::core::InstanceSpecifier और समवर्ती मोड ConcurrencyType[SWS_DM_00722] निर्दिष्ट करते हुए पैरामीटरयुक्त कंस्ट्रक्टर के माध्यम से होता है। जीवनचक्र निम्नलिखित चरणों में विभाजित है:
प्रस्तावित नहीं (Not Offered): निर्माण के बाद, ऑब्जेक्ट प्रक्रिया के एड्रेस स्पेस में मौजूद रहता है, लेकिन अभी तक DM से कोई अनुरोध प्राप्त नहीं करता है।
प्रस्तावित (Offered):Offer()[SWS_DM_00725] के तुल्यकालिक कॉल द्वारा, हैंडलर को DM के साथ सक्रिय किया जाता है, ताकि आने वाले DoIP स्थिति अनुरोध अग्रेषित किए जा सकें।
रोका गया (Stopped):StopOffer()[SWS_DM_00726] का कॉल DM से अग्रेषण अनुमति वापस ले लेता है और ऑब्जेक्ट को वापस निष्क्रिय स्थिति में स्थानांतरित कर देता है।
विनाश वर्चुअल डिस्ट्रक्टर ~DoIPGroupIdentification()[SWS_DM_00723] के माध्यम से होता है। समवर्तीता के संबंध में, कंस्ट्रक्टर थ्रेड-सुरक्षित है, जबकि Offer(), StopOffer() और डिस्ट्रक्टर थ्रेड-सुरक्षित नहीं हैं [SWS_DM_00722], [SWS_DM_00723], [SWS_DM_00725], [SWS_DM_00726]। क्वेरी फ़ंक्शन GetGidStatus() की थ्रेड सुरक्षा कंस्ट्रक्टर में चुने गए ConcurrencyType द्वारा सशर्त रूप से परिभाषित की जाती है [SWS_DM_00724]। व्याख्या: यदि StopOffer() को पहले कॉल नहीं किया गया था, तो डिस्ट्रक्टर संभवतः चल रहे अग्रेषण को अंतर्निहित रूप से समाप्त कर देगा। प्रश्न Q-50d70fb679462321 (खुला)
उपयोग पथ
विशिष्ट उपयोग में इनिशियलाइज़ेशन, सक्रियण, अतुल्यकालिक प्रसंस्करण और निष्क्रियण शामिल हैं:
एक ठोस डायग्नोस्टिक वर्ग ara::diag::DoIPGroupIdentification से इनहेरिट करता है और मेथड GetGidStatus()[SWS_DM_00724] को कार्यान्वित करता है।
ऐप्लिकेशन कॉन्फ़िगर किए गए Port-Prototype के InstanceSpecifier के साथ ऑब्जेक्ट बनाता है और यह निर्धारित करता है कि GetGidStatus() को समवर्ती रूप से कॉल करने की अनुमति है (kConcurrent) या नहीं (kNotConcurrent) [SWS_DM_00722]।
Offer() का उपयोग करके, ऐप्लिकेशन Diagnostic Management के लिए हैंडलर को सक्रिय करता है [SWS_DM_00725]।
जैसे ही DoIP अनुरोध आते हैं, DM GetGidStatus() को कॉल करता है; ऐप्लिकेशन ara::core::Future<GidStatus> के माध्यम से GID स्थिति अतुल्यकालिक रूप से लौटाता है [SWS_DM_00724]।
सेवा समाप्त करने या घटक को शट डाउन करने से पहले, ऐप्लिकेशन StopOffer() को कॉल करता है [SWS_DM_00726], जिसके बाद ऑब्जेक्ट का विनाश होता है [SWS_DM_00723]।
DoIPGroupIdentification का उपयोग करते समय, निर्माण और प्रावधान चरण में त्रुटि स्थितियाँ परिभाषित की जाती हैं:
मॉडल और मैपिंग त्रुटियाँ (कंस्ट्रक्टर): यदि इंस्टैंसिएशन विफल हो जाता है, तो मानकीकृत उल्लंघनों की सूचना दी जाती है [SWS_DM_00722]:
InstanceSpecifierMappingIntegrityViolation: पहचानकर्ता को हल नहीं किया जा सकता है या यह किसी पोर्ट प्रोटोटाइप को संदर्भित नहीं करता है।
PortInterfaceMappingViolation: संदर्भित पोर्ट को DiagnosticDoIPGroupIdentificationInterface के रूप में टाइप नहीं किया गया है।
ProcessMappingViolation: निष्पादन संदर्भ को मॉडल में किसी उपयुक्त प्रक्रिया से मैप नहीं किया गया है।
InstanceSpecifierAlreadyInUseViolation: निर्दिष्ट पोर्ट पहचानकर्ता का उपयोग चल रही प्रक्रिया में किसी अन्य इंस्टैंस द्वारा पहले से ही किया जा रहा है।
सेवा प्रावधान त्रुटि (Offer()): यह मेथड एक ara::core::Result<void> लौटाती है। यदि इस हैंडलर के लिए सेवा पहले ही सफलतापूर्वक पेश की जा चुकी है, तो त्रुटि कोड DiagOfferErrc::kAlreadyOffered के साथ दोहराया गया कॉल विफल हो जाता है [SWS_DM_00725]।
स्थिति क्वेरी में त्रुटि: इंटरफ़ेस GetGidStatus() किसी भी मानकीकृत त्रुटि कोड को निर्दिष्ट नहीं करता है [SWS_DM_00724]; ऐप्लिकेशन-आंतरिक त्रुटियों को लौटाए गए Future के परिणाम ऑब्जेक्ट के माध्यम से मैप किया जाना चाहिए।
यह गाइड पूरी तरह से AUTOSAR Adaptive विनिर्देश 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.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: c580e08dd024उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
वर्ग ara::diag::DoIPGroupIdentification का समकालिक सदस्य फ़ंक्शन Offer Diagnostic Management (DM) को संकेत देता है कि प्रदाता Adaptive Application तैयार है और DoIP समूह पहचान के लिए अनुरोधों को संसाधित किया जा सकता है [SWS_DM_00725]। केवल इस कॉल के बाद ही DM आवश्यकता पड़ने पर विधि GetGidStatus के माध्यम से समूह ID प्राप्त कर सकता है, बशर्ते कोई निश्चित कॉन्फ़िगरेशन मौजूद न हो [SWS_DM_00813]।
कॉल संदर्भ और समवर्तीता के संबंध में निम्नलिखित शर्तें लागू होती हैं:
हस्ताक्षर और सिमेंटिक्स: कॉल बिना पैरामीटर के होता है और समकालिक रूप से एक ara::core::Result<void> लौटाता है [SWS_DM_00725]। विधि को noexcept के रूप में घोषित किया गया है और यह अपवाद-सुरक्षित (exception safe) है [SWS_DM_00725]।
थ्रेड सुरक्षा: ऑपरेशन को थ्रेड-सुरक्षित नहीं (not thread-safe) के रूप में निर्दिष्ट किया गया है [SWS_DM_00725]। समान इंस्टेंस पर कॉल प्रतिस्पर्धी थ्रेड्स से असुरक्षित रूप से नहीं होने चाहिए।
त्रुटि के मामले में, परिणामी ऑब्जेक्ट रोलबैक सिमेंटिक्स के साथ त्रुटि कोड DiagOfferErrc::kAlreadyOffered लौटाता है, यदि इस इंटरफ़ेस के लिए सेवा पहले ही पेश की जा चुकी है [SWS_DM_00725]।
जब तक एप्लिकेशन ने Offer को निष्पादित नहीं किया है और DM को DoIP समूह पहचान भेजनी होती है, तब तक फ़ॉलबैक व्यवहार लागू होता है: DM GID मान के रूप में ISO 13400-2 के अनुसार “value not set” के संकेत के रूप में या तो 0x00 0x00 0x00 0x00 0x00 0x00 या 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF प्रसारित करता है [SWS_DM_01527]।
यह उपयोग निर्देश AUTOSAR स्पेसिफिकेशन के आधार पर स्वचालित रूप से जनरेट किया गया था।
This StopOffer will disable the forwarding of request messages from DM to this handler.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: da4bfe9455e6उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::diag::DoIPGroupIdentification की विधि StopOffer हैंडलर के प्रावधान को समाप्त करती है और Diagnostic Management (DM) से इस इंस्टेंस को आने वाले अनुरोध संदेशों (request messages) के अग्रेषण को निष्क्रिय करती है [SWS_DM_00726]।
उपयोग और त्रुटि हैंडलिंग
हेडर ara/diag/doip_group_identification.h में घोषित ऑपरेशन का हस्ताक्षर void StopOffer () noexcept;[SWS_DM_00726] है। यह कोई पैरामीटर नहीं लेता है, कोई रिटर्न मान नहीं देता है और समकालिक रूप से निष्पादित होता है [SWS_DM_00726]। विधि को अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट किया गया है और यह कोई C++ अपवाद नहीं फेंकती है; इस प्रक्रिया के लिए कोई विशिष्ट त्रुटि कोड या त्रुटि संदेश प्रदान नहीं किए गए हैं [SWS_DM_00726]।
समवर्तीता और प्रतिबंध
संवर्ती के संबंध में, StopOffer को स्पष्ट रूप से गैर-थ्रेड-सुरक्षित (not thread-safe) निर्दिष्ट किया गया है [SWS_DM_00726]। इसलिए कॉल करने वाले अनुप्रयोगों को संभवतः स्वतंत्र रूप से यह सुनिश्चित करना चाहिए कि समान इंस्टेंस पर कोई समवर्ती कॉल न हो। प्रश्न Q-3ac810ffb08cb197 (खुला)
इंटरैक्शन
डायग्नोस्टिक मॉड्यूल कार्यात्मक इंटरफ़ेस में StopOffer पैटर्न का समान रूप से उपयोग करता है, उदाहरण के लिए जेनेरिक रूटीन [SWS_DM_00558], संचार नियंत्रण [SWS_DM_00810] के साथ-साथ प्रमाणीकरण सेवाओं [SWS_DM_01131] में। यद्यपि नाम कार्यात्मक रूप से ara::com में सेवा प्रबंधन पर आधारित हैं, यह डायग्नोस्टिक आर्किटेक्चर AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors” का एक स्वतंत्र कार्यान्वयन है।
यह उपयोग नोट एक AI द्वारा उत्पन्न किया गया था और पूरी तरह से R25-11 के लिए AUTOSAR विनिर्देश पर निर्भर करता है।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल