चालू डायग्नोस्टिक अनुरोध के संबंध में अनुप्रयोगों को ट्रांसपोर्ट- और प्रोटोकॉल-संबंधी मेटाडेटा प्रदान करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 4cec228b1decउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
चालू डायग्नोस्टिक अनुरोध के संबंध में अनुप्रयोगों को ट्रांसपोर्ट- और प्रोटोकॉल-संबंधी मेटाडेटा प्रदान करता है।
वर्ग ara::diag::MetaInfo Adaptive Applications को चालू डायग्नोस्टिक अनुरोध की प्रासंगिक मेटा जानकारी प्रदान करता है जैसे स्रोत पता, गंतव्य पता और प्रोटोकॉल संदर्भ (AUTOSAR_AP_SWS_Diagnostics §7.3.1.1 “MetaInfo class”)। अनुप्रयोग Diagnostic Management द्वारा शुरू किए गए कॉलबैक कॉल के दौरान निरीक्षण विधियों के माध्यम से इन मानों को समकालिक रूप से क्वेरी करते हैं। ऑब्जेक्ट का गारंटीकृत जीवनकाल सक्रिय कॉलबैक फ़ंक्शन के निष्पादन समय तक सख्ती से सीमित है, इसलिए इस कॉल से परे सहेजना अनिर्धारित व्यवहार की ओर ले जाता है ([SWS_DM_01345])।
संदर्भ
वर्ग ara::diag::MetaInfo Diagnostic Management (DM) से इच्छुक Adaptive Applications तक ट्रांसपोर्ट- और प्रोटोकॉल-विशिष्ट मेटा जानकारी प्रसारित करने के लिए एक मानकीकृत तंत्र प्रदान करता है (AUTOSAR_AP_SWS_Diagnostics §7.3.1.1 “MetaInfo class”)। AUTOSAR Adaptive डायग्नोस्टिक आर्किटेक्चर में, DM बाहरी डायग्नोस्टिक क्लाइंट्स और आंतरिक कार्यात्मक समूहों या अनुप्रयोगों के बीच एक मध्यस्थ के रूप में कार्य करता है। यदि कोई डायग्नोस्टिक अनुरोध UDS ट्रांसपोर्ट प्रोटोकॉल या SOVD के माध्यम से आता है, तो DM प्रासंगिक प्रोटोकॉल डेटा निकालता है और इसे मेथड कॉल्स के दौरान एप्लिकेशन के इंटरफ़ेस को अग्रेषित करता है ([SWS_DM_02094])।
ara::diag::MetaInfo के मुख्य कार्यों में कॉल संदर्भ और विशिष्ट कुंजी-मान युग्म प्रदान करना शामिल है। इंटरफ़ेस के माध्यम से, एप्लिकेशन सेवाएँ कुंजी kSA ([SWS_DM_02094]) के माध्यम से डायग्नोस्टिक क्लाइंट के स्रोत पते (SA), kTA ([SWS_DM_02095]) के माध्यम से डायग्नोस्टिक सर्वर के गंतव्य पते (TA), तथा कुंजी kTAType ([SWS_DM_02096]) के माध्यम से UDS एड्रेसिंग प्रकार (भौतिक या कार्यात्मक) के बारे में जानकारी प्राप्त करती हैं। कॉल संदर्भ को प्रकार ara::diag::MetaInfo::Context ([SWS_DM_00977]) के माध्यम से वर्गीकृत किया जाता है। संभावित संदर्भों में नियमित डायग्नोस्टिक संचार kDiagnosticCommunication ([SWS_DM_01342]), त्रुटि मेमोरी एक्सेस kFaultMemory ([SWS_DM_01343]), DoIP प्रारंभिक क्वेरी जैसे वाहन पहचान संख्या को पढ़ना kDoIP ([SWS_DM_01344]), और SOVD संदर्भ kSovd ([SWS_DM_01818]) में सेवा अनुरोध शामिल हैं।
ara::diag::MetaInfo इंस्टेंसेस का निर्माण और प्रबंधन पूरी तरह से Diagnostic Management की ज़िम्मेदारी है। पैरामीटर-रहित डिफ़ॉल्ट कंस्ट्रक्टर स्पष्ट रूप से हटा दिया गया है ([SWS_DM_00972])। परिणामस्वरूप, कोई एप्लिकेशन अपने स्वयं के इंस्टेंस को न तो सीधे इंस्टैंशिएट कर सकता है और न ही कॉपी संचालन के माध्यम से डुप्लिकेट कर सकता है, क्योंकि कॉपी कंस्ट्रक्टर ([SWS_DM_00973]) और कॉपी असाइनमेंट ऑपरेटर ([SWS_DM_00975]) दोनों हटा दिए गए हैं। इंस्टैंसिएशन संभवतः एप्लिकेशन कॉलबैक को कॉल करने से पहले DM द्वारा आंतरिक रूप से किया जाता है। प्रश्न Q-f695f92296527ce8 (खुला)ara::diag::MetaInfo Move सिमेंटिक्स का समर्थन करता है: Move कंस्ट्रक्टर ([SWS_DM_00974]) और Move असाइनमेंट ऑपरेटर ([SWS_DM_00976]) उपलब्ध हैं। विनाश मानक डिस्ट्रक्टर ([SWS_DM_00980]) के माध्यम से होता है।
स्वामित्व और वैधता अवधि के संबंध में, सक्रिय मेथड कॉल के लिए एक सख्त बंधन लागू होता है: DM द्वारा एप्लिकेशन को निर्देशित प्रत्येक मेथड के लिए, जिसमें MetaInfo ऑब्जेक्ट एक पैरामीटर के रूप में होता है, गारंटीकृत जीवनकाल इस मेथड कॉल की अवधि तक सख्ती से सीमित होता है ([SWS_DM_01345], AUTOSAR_AP_SWS_Diagnostics §7.3.1.1.2 “Lifetime of MetaInfo”)। फ़ंक्शन से लौटने के बाद, ऑब्जेक्ट का निरंतर उपयोग या संग्रहण अस्वीकार्य है।
कनकंरेंसी के संबंध में, रीड-ओनली निरीक्षण विधियाँ GetContext() ([SWS_DM_00979]) और GetValue() ([SWS_DM_00978]) थ्रेड-सुरक्षित और अपवाद-सुरक्षित के रूप में निर्दिष्ट हैं। दूसरी ओर, Move असाइनमेंट ऑपरेटर ([SWS_DM_00976]) और डिस्ट्रक्टर ([SWS_DM_00980]) थ्रेड-सुरक्षित नहीं हैं। यदि कॉन्फ़िगरेशन के अनुसार किसी कॉलबैक को समवर्ती रूप से कॉल किया जा सकता है (AUTOSAR_AP_SWS_Diagnostics §7.3.1.2 “Concurrency of ara::diag interfaces”), तो DM प्रत्येक कॉल पर एक अलग ऑब्जेक्ट प्रदान करता है जो कॉल की अवधि के लिए मान्य होता है।
उपयोग पथ
विशिष्ट उपयोग पथ नैदानिक कॉल (diagnostic call) प्राप्त करने से लेकर पास किए गए मेटाडेटा के मूल्यांकन तक विस्तृत है:
DM द्वारा कॉल: Diagnostic Management एप्लिकेशन की एक कॉलबैक विधि को कॉल करता है और ara::diag::MetaInfo ([SWS_DM_01345]) का एक संदर्भ पास करता है।
संदर्भ निर्धारित करना: एप्लिकेशन GetContext() को कॉल करता है ([SWS_DM_00979]), ताकि यह पता लगाया जा सके कि कॉल उदाहरण के लिए नियमित नैदानिक संचार (kDiagnosticCommunication, [SWS_DM_01342]) या त्रुटि मेमोरी एक्सेस (kFaultMemory, [SWS_DM_01343]) के भाग के रूप में की गई है या नहीं।
कुंजी मानों को क्वेरी करना:GetValue() ([SWS_DM_00978]) के माध्यम से एप्लिकेशन लक्षित रूप से आवश्यक विशेषताओं को क्वेरी करता है, जैसे kSA ([SWS_DM_02094]) के साथ प्रेषक का पता, kTA ([SWS_DM_02095]) के साथ गंतव्य पता या kTAType ([SWS_DM_02096]) के साथ एड्रेसिंग मोड।
परिणाम को प्रोसेस करना:GetValue() एक ara::core::Optional<ara::core::StringView> लौटाता है ([SWS_DM_00978])। यदि मान मौजूद है, तो एप्लिकेशन एक्सेस जांच या एड्रेसिंग लॉजिक निष्पादित करने के लिए स्ट्रिंग का समकालिक रूप से मूल्यांकन करता है।
कॉल का समापन: एप्लिकेशन प्रोसेसिंग को पूरा करता है और कॉलबैक विधि से वापस लौटता है, जिसके साथ पास किए गए मेटाडेटा का जीवनकाल समाप्त हो जाता है ([SWS_DM_01345])।
ara::diag::MetaInfo का उपयोग करते समय डेवलपर्स को विशिष्ट पूर्व-शर्तों और उत्तर-शर्तों पर ध्यान देना चाहिए:
कॉलबैक अवधि से परे संग्रहण: यदि कोई एप्लिकेशन MetaInfo ऑब्जेक्ट या GetValue() द्वारा लौटाए गए ara::core::StringView को कॉलबैक फ़ंक्शन के निष्पादन समय से अधिक समय तक संग्रहीत करता है, तो यह अपरिभाषित व्यवहार (undefined behavior) की ओर ले जाता है ([SWS_DM_01345], AUTOSAR_AP_SWS_Diagnostics §7.3.1.1.2 “Lifetime of MetaInfo”)। जिन मानों की अतुल्यकालिक (asynchronously) या स्थायी रूप से आवश्यकता होती है, उन्हें अपनी स्ट्रिंग प्रतियों के रूप में बनाए रखा जाना चाहिए।
गैर-मौजूद कुंजियों की क्वेरी करना: यदि कोई ऐसी कुंजी पास की जाती है जो वर्तमान संदर्भ में प्रदान नहीं की गई है, तो GetValue() कोई अपवाद (exception) नहीं फेंकता है, बल्कि एक खाली ara::core::Optional लौटाता है ([SWS_DM_00978])। दोनों एक्सेस विधियाँ noexcept के साथ घोषित की गई हैं और अपवाद-सुरक्षित हैं ([SWS_DM_00978], [SWS_DM_00979])।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल