अनुकूली अनुप्रयोगों (adaptive applications) को डायग्नोस्टिक प्रबंधन के लिए DoIP एंटिटी पहचान प्रदान करने में सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 73f8b2cf1d2eउद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
अनुकूली अनुप्रयोगों (adaptive applications) को डायग्नोस्टिक प्रबंधन के लिए DoIP एंटिटी पहचान प्रदान करने में सक्षम बनाता है।
वर्ग ara::diag::DoIPEntityIdentification अनुकूली अनुप्रयोगों को DoIP डायग्नोस्टिक प्रोटोकॉल [SWS_DM_01361] के लिए एंटिटी पहचान (EID) गतिशील रूप से प्रदान करने में सक्षम बनाता है। इंस्टेंस निर्माण के बाद, एप्लिकेशन Offer() के माध्यम से अग्रेषण को सक्रिय करता है और शुद्ध वर्चुअल विधि GetEntityId() के माध्यम से फ़्यूचर [SWS_DM_01366], [SWS_DM_01367] का उपयोग करके Diagnostic Management के प्रश्नों का अतुल्यकालिक रूप से उत्तर देता है। यदि किसी क्वेरी के समय इंटरफ़ेस अभी तक प्रदान नहीं किया गया है, तो डायग्नोस्टिक प्रबंधन प्रतिस्थापन के रूप में एक मानकीकृत 0xFF मान भेजता है [SWS_DM_01528]।
संदर्भ
वर्ग ara::diag::DoIPEntityIdentification DoIP प्रोटोकॉल (Diagnostic over IP) [SWS_DM_01361] के लिए एंटिटी पहचान (EID) के गतिशील प्रावधान का कार्य करता है। एक AUTOSAR Adaptive परिवेश में, यह एक व्यक्तिगत अनुकूली अनुप्रयोग और Diagnostic Management (DM) AUTOSAR_AP_SWS_Diagnostics, पृ. 107 के बीच कार्यात्मक सेतु बनाता है। यदि कॉन्फ़िगरेशन DoIpNetworkConfiguration.eidRetrieval में मोड DoIpEidRetrievalEnum.eidUseApi पर सेट है, तो Diagnostic Management इस प्रोग्रामिंग इंटरफ़ेस [SWS_DM_01361] के माध्यम से EID का अनुरोध करता है। सॉफ़्टवेयर आर्किटेक्चर से बाइंडिंग ara::core::InstanceSpecifier के माध्यम से की जाती है, जो DiagnosticDoIPEntityIdentificationInterface के PortPrototype को संदर्भित करता है [SWS_DM_01364]।
जीवनचक्र
निर्माण स्पष्ट कंस्ट्रक्टर के माध्यम से होता है, जिसमें InstanceSpecifier के अलावा पैरामीटर ConcurrencyType (kConcurrent या kNotConcurrent) पास किया जाता है [SWS_DM_01364]। बाद वाला यह निर्धारित करता है कि इंटरफ़ेस के लिए बाद के कॉल थ्रेड-सुरक्षित रूप से संभाले जाने चाहिए या नहीं [SWS_DM_01364], [SWS_DM_01366]। निर्माण के बाद, ऑब्जेक्ट प्रारंभ में निष्क्रिय स्थिति में रहता है। Offer() को कॉल करके, इंटरफ़ेस को Diagnostic Management के लिए सक्षम किया जाता है और हैंडलर को अनुरोधों का अग्रेषण सक्रिय किया जाता है [SWS_DM_01367]। ऑब्जेक्ट के विनाश से पहले या संचालन की समाप्ति पर, StopOffer() अग्रेषण को फिर से रोकता है [SWS_DM_01368]। विनाश अंततः वर्चुअल डिस्ट्रक्टर [SWS_DM_01365] के माध्यम से होता है। न तो Offer(), StopOffer() और न ही डिस्ट्रक्टर थ्रेड-सुरक्षित हैं और इसलिए एप्लिकेशन कोड में समन्वित सिंक्रोनाइज़ेशन की आवश्यकता होती है [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368]।
विशिष्ट उपयोग परिदृश्य में, अनुकूली अनुप्रयोग ara::diag::DoIPEntityIdentification से अपने स्वयं के कार्यान्वयन वर्ग को प्राप्त करता है और शुद्ध वर्चुअल विधि GetEntityId()[SWS_DM_01366] को ओवरराइड करता है। मान्य पहचानकर्ता के साथ इंस्टेंस निर्माण के बाद, एप्लिकेशन Offer()[SWS_DM_01367] का उपयोग करके हैंडलर को पंजीकृत करता है। जैसे ही Diagnostic Management को DoIP संदेशों को संकलित करने के लिए एंटिटी ID की आवश्यकता होती है, यह GetEntityId()[SWS_DM_01361], [SWS_DM_01366] को कॉल करता है। यह विधि एक ara::core::Future<EntityId> लौटाती है, जिससे पहचान डेटा को अतुल्यकालिक रूप से निर्धारित और प्रदान किया जा सकता है [SWS_DM_01366]। जब कार्यात्मक संचालन समाप्त हो जाता है, तो एप्लिकेशन StopOffer()[SWS_DM_01368] के माध्यम से ऑफ़र वापस ले लेता है।
निर्माण के दौरान त्रुटिपूर्ण मॉडल कॉन्फ़िगरेशन विशिष्ट रनटाइम उल्लंघनों की ओर ले जाते हैं: यदि मॉडल में InstanceSpecifier का समाधान नहीं किया जा सकता है या यह किसी PortPrototype को संदर्भित नहीं करता है, तो InstanceSpecifierMappingIntegrityViolation[SWS_DM_01364] उत्पन्न होता है। यदि पोर्ट मैपिंग किसी DiagnosticDoIPEntityIdentificationInterface को संदर्भित नहीं करती है, तो PortInterfaceMappingViolation मौजूद होता है, जबकि प्रक्रिया मिलान अनुपस्थित होने पर ProcessMappingViolation ट्रिगर होता है [SWS_DM_01364]। यदि प्रक्रिया में एक ही पहचानकर्ता का बार-बार उपयोग किया जाता है, तो InstanceSpecifierAlreadyInUseViolation[SWS_DM_01364] उत्पन्न होता है।
यदि Offer() को तब कॉल किया जाता है जब सेवा पहले से ही सक्रिय रूप से पेश की जा रही हो, तो विधि त्रुटि कोड DiagOfferErrc::kAlreadyOffered के साथ एक ara::core::Result लौटाती है [SWS_DM_01367]। यदि Diagnostic Management EID को क्वेरी नहीं कर सकता है - उदाहरण के लिए क्योंकि अनुरोध के समय इंटरफ़ेस की पेशकश अभी तक नहीं की गई थी - तो एक परिभाषित प्रोटोकॉल फ़ॉलबैक प्रभावी होता है: Diagnostic Management DoIP संदेशों में विकल्प के रूप में 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF का 6-बाइट EID मान भेजता है [SWS_DM_01528]।
यह मार्गदर्शिका AUTOSAR Adaptive विनिर्देश R25-11 के आधार पर एक AI सहायक द्वारा तैयार की गई थी।
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.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 60c723a50d6cउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::diag::DoIPEntityIdentification का मेथड Offer Diagnostic Management Daemon (DM) द्वारा पंजीकृत हैंडलर को इनकमिंग DoIP अनुरोधों के अग्रेषण को सक्षम करता है ([SWS_DM_01367])। सफल कॉल के बाद ही संदेशों को हैंडलर को अग्रेषित किया जाता है। व्याख्या: कॉल आमतौर पर Adaptive Application के आरंभीकरण चरण में होता है, इससे पहले कि डायग्नोस्टिक संदेश प्राप्त होने चाहिए। प्रश्न Q-4b78d4f80bda63a4 (खुला)
उपयोग और सिमेंटिक्स:
कॉल संदर्भ: ऑपरेशन सिंक्रोनस रूप से निष्पादित होता है और इसे noexcept के रूप में घोषित किया गया है; यह कोई अपवाद नहीं फेंकता है ([SWS_DM_01367])।
रिटर्न मान: यह एक ara::core::Result<void> लौटाता है, जिसमें सफलता की स्थिति में कोई मान नहीं होता है ([SWS_DM_01367])।
त्रुटि प्रबंधन:
यदि इंस्टेंस के लिए इंटरफ़ेस पहले ही पेश किया जा चुका है, तो कॉल विफल हो जाता है और रोलबैक सिमेंटिक्स के साथ त्रुटि कोड DiagOfferErrc::kAlreadyOffered लौटाता है ([SWS_DM_01367])।
समवर्तीता और प्रतिबंध:
इंटरफ़ेस को not thread-safe के रूप में निर्दिष्ट किया गया है ([SWS_DM_01367])। उसी इंस्टेंस पर समवर्ती कॉल्स को कॉलिंग एप्लिकेशन द्वारा सिंक्रनाइज़ किया जाना चाहिए।
This StopOffer will disable the forwarding of request messages from DM.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 2e0edce0b8e6उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
उपयोग
मेथड ara::diag::DoIPEntityIdentification::StopOffer DoIP एंटिटी पहचान के लिए सेवा की पेशकश समाप्त करता है और Diagnostic Management (DM) से एप्लिकेशन को अनुरोध संदेशों के अग्रेषण को निष्क्रिय करता है [SWS_DM_01368]। इंटरफ़ेस हेडर फ़ाइल ara/diag/doip_entity_identification.h के माध्यम से प्रदान किया जाता है। यह कोई पैरामीटर स्वीकार नहीं करता है और कोई रिटर्न मान नहीं देता है (void) [SWS_DM_01368]। व्याख्या: चूंकि सिग्नेचर न तो Future ऑब्जेक्ट प्रदान करता है और न ही कॉलबैक के माध्यम से अधिसूचना, इसलिए कॉल तब तक सिंक्रोनस रूप से ब्लॉक होकर निष्पादित होना चाहिए जब तक कि DM में अग्रेषण समाप्त न हो जाए। प्रश्न Q-75f67df3a003b08f (खुला)
त्रुटि प्रबंधन और अपवाद सुरक्षा
ऑपरेशन को विनिर्देशक (specifier) noexcept के साथ घोषित किया गया है और अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट किया गया है [SWS_DM_01368]। कोई विशिष्ट त्रुटि कोड नहीं लौटाए जाते हैं और कोई अपवाद उत्पन्न नहीं किए जाते हैं।
समवर्तीता और प्रतिबंध
निष्पादन परिवेश के संबंध में, मेथड को गैर-थ्रेड-सुरक्षित (not thread-safe) के रूप में वर्गीकृत किया गया है [SWS_DM_01368]। यदि ara::diag::DoIPEntityIdentification के उसी इंस्टेंस पर समानांतर कॉल या एक्सेस होते हैं, तो उन्हें एप्लिकेशन पक्ष पर सिंक्रनाइज़ किया जाना चाहिए।
इंटरैक्शन
यह व्यवहार AUTOSAR Adaptive Diagnostic Management के एकसमान जीवन चक्र पैटर्न में फिट बैठता है। संदेश अग्रेषण का ऐसा ही निष्क्रियकरण उदाहरण के लिए [SWS_DM_00726] के माध्यम से समूह पहचान में तथा [SWS_DM_01089] के माध्यम से डायग्नोस्टिक स्विच और मॉनिटर में होता है। जैसा कि AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors” में हाइलाइट किया गया है, Offer और StopOffer का नामकरण ara::com के पैटर्न पर आधारित है, लेकिन डायग्नोस्टिक इंटरफेस के लिए एक स्वतंत्र कार्यान्वयन का प्रतिनिधित्व करता है।
यह उपयोग नोट AUTOSAR Adaptive R25-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल