नैदानिक स्थितियों के मूल्यांकन के लिए Diagnostic Management को वाहन- और सिस्टम-संबंधित सक्षमता स्थितियों (enabling states) की रिपोर्ट करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 40db6d76454cउद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
नैदानिक स्थितियों के मूल्यांकन के लिए Diagnostic Management को वाहन- और सिस्टम-संबंधित सक्षमता स्थितियों (enabling states) की रिपोर्ट करता है।
क्लास ara::diag::Condition इंटरफ़ेस DiagnosticConditionInterface प्रदान करता है, जिसके साथ एडेप्टिव अनुप्रयोग Diagnostic Management को परिवेशी और सक्षमता स्थितियों की रिपोर्ट करते हैं ([SWS_DM_00712])। Diagnostic Server वाहन में मानकीकृत नैदानिक कार्यों या निष्कासन (clearing) प्रक्रियाओं के निष्पादन को लक्षित रूप से नियंत्रित करने के लिए इन स्थितियों का मूल्यांकन करता है (AUTOSAR_AP_SWS_Diagnostics §7.3.2.5.5 “Condition checks”)। इंस्टेंस निश्चित रूप से एक PortPrototype से बंधे होते हैं और न तो कॉपी करने योग्य होते हैं और न ही स्थानांतरित करने योग्य (movable)। समवर्ती उपयोग में, क्वेरी और सेट संचालन के लिए बाहरी सिंक्रोनाइज़ेशन की आवश्यकता होती है, क्योंकि वे थ्रेड-सुरक्षित नहीं होते हैं।
संदर्भ
क्लास ara::diag::Condition AUTOSAR Adaptive Platform ([SWS_DM_00712]) में नैदानिक स्थितियों (DiagnosticConditionInterface) के लिए प्रोग्रामिंग इंटरफ़ेस का प्रतिनिधित्व करता है। वाहन डायग्नोस्टिक सिस्टम में, कुछ नैदानिक कार्यों या UDS सेवाओं को केवल तभी निष्पादित करने की अनुमति होती है जब वाहन एक परिभाषित परिवेशी स्थिति में हो - जैसे कि शून्य गति के साथ स्थिर वाहन (AUTOSAR_AP_SWS_Diagnostics §7.3.2.5.5 “Condition checks”)। [SWS_DM_00111] के अनुसार, जब ISO 14229-1 सेवा-विशिष्ट स्थिति जांच निर्धारित करता है, तो Diagnostic Server संबंधित परिवेशी जांच करता है, और गैर-पूर्ति के मामले में कॉन्फ़िगर किए गए Negative Response Code (NRC) के साथ प्रतिक्रिया करता है।
अनुप्रयोग आर्किटेक्चर के भीतर, ara::diag::Condition एडेप्टिव अनुप्रयोग और Diagnostic Management (DM) के बीच एक कड़ी के रूप में कार्य करता है। एक अनुप्रयोग स्थिति ऑब्जेक्ट को एक पोर्ट के माध्यम से इंस्टेंटिएट करता है, जो मॉडल में या तो DiagnosticEnableConditionPortMapping या DiagnosticClearConditionPortMapping के माध्यम से जुड़ा होता है ([SWS_DM_00712])। Interpretation: इस पोर्ट असाइनमेंट द्वारा यह निर्धारित किया जाता है कि रिपोर्ट की गई स्थिति नियमित नैदानिक प्रक्रियाओं के लिए सक्षमता स्थिति के रूप में कार्य करती है या नैदानिक डेटा को साफ़ करने के लिए एक मानदंड के रूप में। प्रश्न (खुला) इस प्रकार ऑब्जेक्ट Diagnostic Server को स्थिति ट्रांसमिशन को एनकैप्सुलेट करता है, जो आने वाले नैदानिक अनुरोधों के लिए स्थितियों का मूल्यांकन करता है ([SWS_DM_00111])।
एक ara::diag::Condition ऑब्जेक्ट का निर्माण कंस्ट्रक्टर को एक ara::core::InstanceSpecifier स्पष्ट रूप से पास करके किया जाता है ([SWS_DM_00712])। यह पहचानकर्ता अनुप्रयोग के मॉडल किए गए PortPrototype को संदर्भित करता है। कंस्ट्रक्टर को noexcept के रूप में घोषित किया गया है और यह अपवाद- और थ्रेड-सुरक्षा की गारंटी देता है ([SWS_DM_00712])।
स्वामित्व संबंधों के संदर्भ में, क्लास को एक सख्त एकल इंस्टेंस (strict single instance) के रूप में डिज़ाइन किया गया है: कॉपी कंस्ट्रक्टर ([SWS_DM_01625]) और कॉपी असाइनमेंट ऑपरेटर ([SWS_DM_01623]) दोनों हटा दिए गए हैं (=delete)। इसी तरह, मूव कंस्ट्रक्टर ([SWS_DM_01626]) और मूव असाइनमेंट ऑपरेटर ([SWS_DM_01624]) भी हटा दिए गए हैं। एक स्थिति ऑब्जेक्ट को न तो कॉपी किया जा सकता है और न ही स्थानांतरित किया जा सकता है, जो संबंधित पोर्ट के लिए एक निश्चित 1:1 असाइनमेंट सुनिश्चित करता है।
चल रहे संचालन में, विधियों SetCondition ([SWS_DM_00715]) और GetCondition ([SWS_DM_00714]) को थ्रेड-सुरक्षित नहीं के रूप में निर्दिष्ट किया गया है। एकाधिक थ्रेड्स से समानांतर एक्सेस के मामले में, कॉल करने वाले अनुप्रयोग को बाहरी सिंक्रोनाइज़ेशन सुनिश्चित करना चाहिए। जीवनचक्र डिस्ट्रक्टर ~Condition() ([SWS_DM_00713]) के साथ समाप्त होता है, जो noexcept और अपवाद-सुरक्षित है, लेकिन थ्रेड-सुरक्षित भी नहीं है।
उपयोग पथ
विशिष्ट उपयोग पथ में आरंभीकरण, स्थिति का आवर्ती अद्यतन (recurring update) और स्थिति की क्वेरी शामिल हैं:
आरंभीकरण: अनुप्रयोग मॉडल कॉन्फ़िगरेशन से कनेक्शन के लिए उपयुक्त ara::core::InstanceSpecifier ([SWS_DM_00712]) निर्दिष्ट करते हुए ara::diag::Condition को इंस्टेंटिएट करता है।
स्थिति सेट करना: यदि प्रासंगिक वाहन या सिस्टम स्थिति बदलती है, तो अनुप्रयोग SetCondition(condition) ([SWS_DM_00715]) के माध्यम से स्थिति को अपडेट करता है। कॉल ara::core::Result<void> के साथ स्वीकृति की पुष्टि करता है।
स्थिति क्वेरी करना: वर्तमान स्थिति की पुष्टि करने के लिए, अनुप्रयोग GetCondition() को कॉल करता है ([SWS_DM_00714])। परिणाम ara::core::Future<ConditionType> के माध्यम से एसिंक्रोनस रूप से प्रदान किया जाता है।
सर्वर प्रोसेसिंग: Interpretation: लंबित नैदानिक अनुरोधों की जांच करने के लिए Diagnostic Server आंतरिक रूप से संग्रहीत स्थिति तक पहुंचता है ([SWS_DM_00111])। प्रश्न Q-bbf48f735ef80e33 (खुला)
समाप्ति: घटक की समाप्ति पर, ऑब्जेक्ट को डिस्ट्रक्टर के माध्यम से मुक्त कर दिया जाता है ([SWS_DM_00713])।
ऑब्जेक्ट इंस्टेंटिएशन के दौरान और रनटाइम के दौरान त्रुटि स्थितियां उत्पन्न हो सकती हैं:
कंस्ट्रक्टर उल्लंघन: निर्माण के समय ([SWS_DM_00712]), फ्रेमवर्क सॉफ़्टवेयर मॉडल के विरुद्ध कॉन्फ़िगरेशन को मान्य करता है। संभावित उल्लंघनों में शामिल हैं:
InstanceSpecifierMappingIntegrityViolation: पहचानकर्ता को मॉडल में हल नहीं किया जा सकता है या यह किसी PortPrototype को संदर्भित नहीं करता है ([SWS_DM_00712])।
PortInterfaceMappingViolation: यद्यपि PortPrototype DiagnosticConditionInterface द्वारा टाइप किया गया है, यह न तो किसी DiagnosticEnableConditionPortMapping द्वारा और न ही किसी DiagnosticClearConditionPortMapping द्वारा संदर्भित है ([SWS_DM_00712])।
ProcessMappingViolation: इंस्टेंस संदर्भ के लिए रनटाइम पर कोई उपयुक्त मॉडल किया गया प्रोसेस मौजूद नहीं है ([SWS_DM_00712])।
InstanceSpecifierAlreadyInUseViolation: पहचानकर्ता पहले से ही उसी प्रोसेस में किसी अन्य इंस्टेंस द्वारा उपयोग में है ([SWS_DM_00712])।
डायग्नोस्टिक बुनियादी सेवाओं की विफलता:GetCondition() ([SWS_DM_00714]) लौटाए गए ara::core::Future के माध्यम से त्रुटि DiagErrc::kServiceNotAvailable के साथ विफल हो सकता है, यदि Diagnostic Management की मूलभूत कार्यक्षमताएं अस्थायी रूप से अनुपलब्ध हैं।
त्रुटि-मुक्त स्थिति संग्रहण:SetCondition() ([SWS_DM_00715]) के लिए कोई मानकीकृत त्रुटि कोड परिभाषित नहीं हैं; फ़ंक्शन सीधे एक खाली ara::core::Result<void> के माध्यम से सफलता की रिपोर्ट करता है।
यह पाठ एक AI द्वारा तैयार किया गया था। सभी तकनीकी विवरण पूरी तरह से AUTOSAR 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 typed by a pingViolation DiagnosticConditionInterface needs either to be referenced by a DiagnosticEnableConditionPortMapping or a DiagnosticClearConditionPortMapping. 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 DiagnosticConditionInterface.
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल