एप्लिकेशनों को Diagnostic Manager के जेनेरिक SOVD ऑपरेशन अनुरोधों को संसाधित करने और उत्तर देने में सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 23f008b064deउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
एप्लिकेशनों को Diagnostic Manager के जेनेरिक SOVD ऑपरेशन अनुरोधों को संसाधित करने और उत्तर देने में सक्षम बनाता है।
यह बेस क्लास Diagnostic Management [SWS_DM_02203] में निष्पादन अनुरोधों को संसाधित करने के लिए जेनेरिक SOVD ऑपरेशन हैंडलर को लागू करने का कार्य करती है। इंस्टेंसिएशन के बाद, एप्लिकेशन Offer() के माध्यम से रिसेप्शन को सक्रिय करता है, जिसके बाद Diagnostic Manager अतुल्यकालिक इंटरफ़ेस StartExecution[SWS_DM_02174][SWS_DM_02210] के माध्यम से आने वाले अनुरोधों को अग्रेषित करता है। पास किया गया सामग्री डेटा और रद्दीकरण हैंडलर ऑपरेशन की अवधि के लिए सख्ती से बाध्य हैं [SWS_DM_02210]।
संदर्भ
क्लास ara::diag::GenericDiagnosticSovdOperation ASAM SOVD (Service-Oriented Vehicle Diagnostics) [SWS_DM_02203] के हिस्से के रूप में ऑपरेशनों के निष्पादन के लिए एक जेनेरिक इंटरफ़ेस प्रदान करती है। यह डायग्नोस्टिक प्लेटफ़ॉर्म और डायग्नोस्टिक रूटीन या क्रियाओं के एप्लिकेशन-विशिष्ट कार्यान्वयन के बीच एक कड़ी के रूप में कार्य करती है। जब कोई बाहरी SOVD क्लाइंट किसी ऑपरेशन के निष्पादन का अनुरोध करता है, तो Diagnostic Server का इंस्टेंस संबंधित SOVD मेथड प्रदान करता है AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 “Operations – Start execution of an operation”[SWS_DM_01396]। जैसे ही प्राधिकरण या आवश्यक प्रॉक्सिमिटी चैलेंज का सत्यापन सफलतापूर्वक पूरा हो जाता है, Diagnostic Manager (DM) कॉल को पंजीकृत हैंडलर इंस्टेंस के मेथड StartExecution पर अग्रेषित करता है [SWS_DM_02174]।
जीवनचक्र
एक इंस्टेंस का निर्माण कंस्ट्रक्टर के माध्यम से एक ara::core::InstanceSpecifier, जो एक PortPrototype को संदर्भित करता है, और एक समवर्तीता प्रकार (ConcurrencyType) [SWS_DM_02204] निर्दिष्ट करके होता है। चूँकि मूव कंस्ट्रक्टर [SWS_DM_02206] और मूव असाइनमेंट ऑपरेटर [SWS_DM_02207] को protected के रूप में घोषित किया गया है, इसलिए क्लास को व्युत्पन्न एप्लिकेशन-विशिष्ट हैंडलर के लिए एक बेस क्लास के रूप में डिज़ाइन किया गया है। इंस्टेंसिएशन के बाद, ऑब्जेक्ट निष्क्रिय स्थिति में होता है और कोई अनुरोध स्वीकार नहीं करता है। Offer() के माध्यम से Diagnostic Manager द्वारा अनुरोधों का अग्रेषण सक्रिय किया जाता है [SWS_DM_02211]। StopOffer() के साथ इस अग्रेषण को फिर से निष्क्रिय किया जा सकता है [SWS_DM_02212]। इंस्टेंस को नष्ट करते समय, वर्चुअल डिस्ट्रक्टर उचित क्लीनअप सुनिश्चित करता है [SWS_DM_02205]। कंस्ट्रक्टर, डिस्ट्रक्टर और मूव ऑपरेशन थ्रेड-सुरक्षित के रूप में निर्दिष्ट हैं, जबकि Offer() और StopOffer() थ्रेड-सुरक्षित नहीं हैं और आमतौर पर प्रक्रिया के आरंभीकरण या शटडाउन चरण के दौरान कॉल किए जाने चाहिए।
नियमित प्रवाह में हैंडलर की पेशकश करना, ऑपरेशन अनुरोधों को स्वीकार करना और अतुल्यकालिक रूप से उत्तर प्रदान करना शामिल है:
सेवा प्रस्तुत करना: अनुप्रयोग Offer() को कॉल करता है, जिससे Diagnostic Manager को आने वाले SOVD अनुरोधों को ऑब्जेक्ट पर अग्रेषित करने के लिए अधिकृत किया जाता है [SWS_DM_02211]।
ऑपरेशन का प्रारंभ: SOVD विधि के आने और Proximity Challenge के सफल परीक्षण के बाद, DM शुद्ध वर्चुअल विधि StartExecution को कॉल करता है [SWS_DM_02174][SWS_DM_02210]। इस प्रक्रिया में SOVD ऑपरेशन का नाम (sovd_operation_name), पेलोड (sovd_content_data), मेटा-जानकारी (meta_info) और एक CancellationHandler पास किए जाते हैं [SWS_DM_02210]।
परिणाम वापसी: विधि एक ara::core::Future लौटाती है, जिसमें या तो एक सिंक्रोनस प्रतिक्रिया (StartSynchronousExecutionResponse) या एक एसिंक्रोनस प्रतिक्रिया (StartAsynchronousExecutionResponse) होती है [SWS_DM_02210]। एक सिंक्रोनस ऑपरेशन के मामले में, DM SOVD रिस्पॉन्स बॉडी उत्पन्न करने के लिए परिणाम से डेटा ले लेता है [SWS_DM_02176]।
सेवा समाप्त करना: ऑब्जेक्ट के विनाश से पहले, अनुप्रयोग StopOffer() के माध्यम से अग्रेषण समाप्त करता है [SWS_DM_02212]।
इंटरफ़ेस का उपयोग करते समय, प्रशासनिक और प्रोटोकॉल-विशिष्ट दोनों त्रुटियाँ हो सकती हैं:
पहले से प्रस्तुत: पहले से प्रस्तुत इंस्टेंस पर Offer() का पुनः कॉल त्रुटि कोड DiagOfferErrc::kAlreadyOffered के साथ विफल हो जाता है [SWS_DM_02211]।
SOVD त्रुटि: यदि ऑपरेशन का निष्पादन विफल हो जाता है, तो ISO 17978-3 या ASAM SOVD 1.1 के अनुसार ara::core::Future में एक संगत नकारात्मक प्रतिक्रिया कोड लौटाया जाना चाहिए [SWS_DM_02210]।
रद्दीकरण: पास किए गए ऑब्जेक्ट cancellation_handler के माध्यम से, यदि चल रहा अनुरोध रद्द हो जाता है तो अनुप्रयोग को सूचित किया जाता है। विनिर्देश स्पष्ट रूप से चालू ऑपरेशन के जीवनकाल से परे इस हैंडलर को संग्रहीत करने या एक्सेस करने से रोकता है [SWS_DM_02210]। इसके अलावा, sovd_content_data में पास किया गया इनपुट डेटा केवल तब तक मान्य रहता है जब तक कि संबद्ध Promise पूरा नहीं हो जाता या प्रसंस्करण रद्द नहीं कर दिया जाता [SWS_DM_02210]।
यह मार्गदर्शिका विशेष रूप से AUTOSAR Adaptive Platform विनिर्देश R25-11 (मॉड्यूल diag) पर आधारित है और इसे स्वचालित रूप से क्यूरेट किया गया था।
This Offer will enable the DM to forward request messages to this handler.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: e7a3d094ee66उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::diag::GenericDiagnosticSovdOperation का मेथड Offer Diagnostic Management (DM) से संबंधित हैंडलर को आने वाले डायग्नोस्टिक और सेवा अनुरोधों के अग्रेषण को सक्षम करता है [SWS_DM_02211]। फ़ंक्शन कोई पैरामीटर नहीं लेता है, noexcept घोषित करता है और एक ara::core::Result<void> लौटाता है [SWS_DM_02211]। व्याख्या: चूंकि कोई ara::core::Future नहीं लौटाया जाता है, इसलिए अग्रेषण का सक्रियण संभवतः मेथड कॉल के दौरान सिंक्रोनस रूप से पूरा हो जाता है। प्रश्न Q-d9213a2118672440 (खुला)
त्रुटि प्रबंधन के संबंध में, इंटरफ़ेस रोलबैक सिमेंटिक्स सुनिश्चित करता है [SWS_DM_02211]। यदि सेवा इस हैंडलर इंस्टेंस के लिए पहले ही प्रस्तुत की जा चुकी है, तो कॉल विफल हो जाता है और त्रुटि कोड DiagOfferErrc::kAlreadyOffered लौटाता है [SWS_DM_02211]। यह त्रुटि स्थिति डायग्नोस्टिक त्रुटि डोमेन में एकाधिक पंजीकरणों के लिए परिभाषित त्रुटि पैटर्न से मेल खाती है [SWS_DM_00514]।
समवर्तीता और कॉल संदर्भ के लिए निम्नलिखित प्रतिबंध लागू होते हैं:
थ्रेड-सुरक्षा: ऑपरेशन को not thread-safe के रूप में निर्दिष्ट किया गया है, हालांकि exception safe[SWS_DM_02211]। समान हैंडलर इंस्टेंस पर समानांतर कॉल को एप्लिकेशन पक्ष पर सिंक्रनाइज़ किया जाना चाहिए।
स्थिति क्रम: अनुरोधों के अग्रेषण से पहले Offer को कॉल किया जाना चाहिए [SWS_DM_02211]। बीच में वापस लिए बिना पुनः कॉल करने से त्रुटि होती है।
समग्र प्रणाली में, Offer Adaptive Diagnostic Management के एकीकृत प्रावधान पैटर्न का अनुसरण करता है, जैसा कि जेनेरिक रूटीन [SWS_DM_00557], UDS सेवाओं [SWS_DM_00619] या संचार नियंत्रणों [SWS_DM_00809] के लिए भी समान रूप से परिभाषित है। यह सिद्धांत विशेष रूप से ara::diag के लिए डिज़ाइन किया गया है और इसे ara::com (SWS Diagnostics §7.3.4.1.2 “Monitors”) में सेवा प्रावधान के साथ भ्रमित नहीं किया जाना चाहिए।
यह पाठ AUTOSAR R25-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
sovd_operation_name: निष्पादित किए जाने वाले SOVD ऑपरेशन का नाम [SWS_DM_02210]।
sovd_content_data: ऑपरेशन का इनपुट डेटा, जो तब तक मान्य रहता है जब तक कि संबंधित प्रॉमिस पूरा न हो जाए या रद्दीकरण हैंडलर के माध्यम से प्रसंस्करण रद्द न कर दिया जाए [SWS_DM_02210]।
meta_info: डायग्नोस्टिक संदर्भ के बारे में अतिरिक्त मेटा-जानकारी [SWS_DM_02210]।
cancellation_handler: चालू अनुरोध के रद्दीकरण की रिपोर्ट करता है; इस ऑब्जेक्ट को ऑपरेशन के जीवनकाल से परे संग्रहीत या संदर्भित नहीं किया जाना चाहिए [SWS_DM_02210]।
रिटर्न मान के रूप में, फ़ंक्शन StartSynchronousExecutionResponse या StartAsynchronousExecutionResponse से एक ara::core::Variant के साथ एक ara::core::Future लौटाता है [SWS_DM_02210]। सिंक्रोनस निष्पादन के मामले में, Diagnostic Management प्रतिक्रिया सामग्री डेटा से SOVD प्रतिक्रिया बॉडी में पैरामीटर सेट करता है [SWS_DM_02176]। एसिंक्रोनस प्रसंस्करण के मामले में, Diagnostic Management चल रहे ऑपरेशन की पहचान के लिए एक अद्वितीय पहचानकर्ता (id) प्रदान करता है और निष्पादन स्थिति [SWS_DM_02177] सेट करता है।
त्रुटि की स्थिति में, Future के माध्यम से ISO 17978-3 या ASAM SOVD 1.1 के अनुसार लागू SOVD त्रुटि कोड के साथ एक नकारात्मक प्रतिक्रिया लौटाई जाती है [SWS_DM_02210]। समवर्तीता और सुरक्षा के संबंध में, मेथड को thread-safe और exception safe के रूप में परिभाषित किया गया है ([SWS_DM_02210], AUTOSAR_AP_SWS_Diagnostics §8.62.2.1.3.2 “StartExecution”)।
यह पाठ AUTOSAR AP R25-11 विनिर्देश के आधार पर एक AI द्वारा उत्पन्न किया गया था।
A future with either StartSynchronousExecutionResponse or StartAsynchronousExecutionResponse(for a positive response message) or a SOVD Error (for an negative response message)
Fehler
Fehlercode
Beschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.
Request a governed re-review of this record. The record is not changed immediately.
This StopOffer will disable the forwarding of request messages from DM.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: ab28d5476140उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
हेडर ara/diag/generic_diagnostic_sovd_operation.h से क्लास ara::diag::GenericDiagnosticSovdOperation का मेथड StopOffer Diagnostic Management (DM) से ऑपरेशन को आने वाले अनुरोध संदेशों के अग्रेषण को निष्क्रिय करने का कार्य करता है [SWS_DM_02212]।
उपयोग और सिमेंटिक्स: फ़ंक्शन का हस्ताक्षर void StopOffer() noexcept; है, यह कोई पैरामीटर नहीं लेता है और कोई रिटर्न मान नहीं देता है [SWS_DM_02212]। चूंकि फ्यूचर्स या कॉलबैक जैसे कोई एसिंक्रोनस रिटर्न प्रकार परिभाषित नहीं हैं, इसलिए निष्क्रियकरण संभवतः कॉल के दौरान तुरंत सिंक्रोनस रूप से प्रभावी हो जाता है। प्रश्न Q-b0723617991a4e39 (खुला) इसे अपवाद-सुरक्षित (exception safe) घोषित किया गया है [SWS_DM_02212]।
समवर्तीता और त्रुटि प्रबंधन: इंटरफ़ेस को थ्रेड-सुरक्षित नहीं (not thread-safe) के रूप में निर्दिष्ट किया गया है [SWS_DM_02212]। इसलिए, समान इंस्टेंस पर समानांतर एक्सेस को एप्लिकेशन स्तर पर सिंक्रनाइज़ किया जाना चाहिए। न तो कोई त्रुटि कोड लौटाए जाते हैं और न ही कोई विशिष्ट DET या DEM संदेश उत्पन्न होते हैं [SWS_DM_02212]।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल