SOVD निकटता जाँच के लिए चैलेंज बाइट्स और वैधता अवधि प्रदान करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 3ac9286258b1उद्गमखुले प्रश्न (3)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
SOVD निकटता जाँच के लिए चैलेंज बाइट्स और वैधता अवधि प्रदान करता है।
डेटा संरचना ara::diag::SovdProximityChallengeTypeSovdProximityChallenge::GetChallenge() के लिए एक रिटर्न प्रकार के रूप में कार्य करती है और SOVD निकटता जाँच के लिए आवश्यक डेटा को बंडल करती है [SWS_DM_01482]। यह SOVD क्लाइंट को ara::core::Span के रूप में एक चैलेंज बाइट अनुक्रम और संबंधित वैधता समय valid_until प्रदान करती है [SWS_DM_01492]। क्लाइंट को इस समय बिंदु तक पहुँचने से पहले चैलेंज को हल करना होगा, जबकि संदर्भित बफ़र उपयोग की पूरी अवधि के दौरान मेमोरी में मान्य रहना चाहिए।
संदर्भ
डेटा संरचना ara::diag::SovdProximityChallengeType सुरक्षा और प्रोक्सिमिटी जाँचों के लिए AUTOSAR Adaptive Platform के डायग्नोस्टिक्स मॉड्यूल (ara::diag) के भीतर एक मानकीकृत रिटर्न कंटेनर के रूप में कार्य करती है [SWS_DM_01482]। विशेष रूप से, संरचना मेथड कॉल SovdProximityChallenge::GetChallenge() के परिणाम डेटा को प्राप्त करती है AUTOSAR_AP_SWS_Diagnostics §8.56.3 “Struct: SovdProximityChallengeType”। इस संरचना का मुख्य कार्य SOVD क्लाइंट (Service-Oriented Vehicle Diagnostics) को वे सभी आवश्यक पैरामीटर प्रदान करना है जिनके साथ वह वाहन की निकटता (Proximity) का भौतिक प्रमाण प्रस्तुत कर सके [SWS_DM_01492]।
इंटरैक्शन में, SovdProximityChallengeType प्रदान करने वाले डायग्नोस्टिक्स इंस्टेंस SovdProximityChallenge और अनुरोध करने वाले SOVD क्लाइंट [SWS_DM_01482] के बीच एक शुद्ध ट्रांसफर ऑब्जेक्ट के रूप में कार्य करता है। यह संरचना दो मूलभूत विशेषताओं को बंडल करती है: चैलेंज अनुक्रम challenge और पूर्ण समाप्ति तिथि valid_untilAUTOSAR_AP_SWS_Diagnostics §8.56.3.1 “Public Member Variables”। व्याख्या: संरचना स्वयं किसी भी व्यावसायिक तर्क (business logic) को एनकैप्सुलेट नहीं करती है, बल्कि स्टेटलेस पैरामीटर पासिंग के लिए एक शुद्ध Plain Old Data (POD) Value Object के रूप में कार्य करती है। प्रश्न Q-d2f4870d4cfaf724 (खुला)
जीवनचक्र
SovdProximityChallengeType इंस्टेंस का जीवनचक्र कॉलिंग डायग्नोस्टिक्स इंटरफ़ेस SovdProximityChallenge::GetChallenge()AUTOSAR_AP_SWS_Diagnostics §8.56.3 “Struct: SovdProximityChallengeType” द्वारा इसके निर्माण के साथ शुरू होता है। संरचना में वैल्यू सिमेंटिक्स (Value Semantics) होते हैं, जिसके कारण इसे कॉल के बाद कॉपी या मूव (Move) द्वारा कॉलर को सौंप दिया जाता है।
स्वामित्व संबंधों (ownership) के संबंध में, सदस्य चरों (member variables) में एक महत्वपूर्ण अंतर पर ध्यान दिया जाना चाहिए:
डेटा तत्व challenge को ara::core::Span<ara::core::Byte> के रूप में परिभाषित किया गया है [SWS_DM_01492]। एक ara::core::Span मेमोरी में एक सन्निहित बाइट अनुक्रम पर एक गैर-स्वामित्व दृश्य (non-owning view) है। संभवतः, जिस मेमोरी क्षेत्र को यह span संदर्भित करता है, उसे अंतर्निहित डायग्नोस्टिक घटक द्वारा प्रबंधित किया जाना चाहिए और कम से कम तब तक मान्य रहना चाहिए जब तक कि span तक पहुँचा जा रहा हो। प्रश्न (खुला)
डेटा तत्व valid_until प्रकार std::chrono::system_clock::time_point का एक निरपेक्ष टाइमस्टैम्प संग्रहीत करता है [SWS_DM_01491]। यह टाइमस्टैम्प सीधे संपूर्ण सिस्टम में challenge की तकनीकी वैधता अवधि को परिभाषित करता है।
कॉल करने वाले (caller) के स्कोप (scope) से बाहर निकलते समय struct का विनाश नियमित C++ नियमों के अनुसार स्वचालित रूप से होता है। चूँकि struct स्वयं कोई डायनेमिक मेमोरी आवंटित नहीं करता है, इसका विनाश सरल (trivial) है, लेकिन इसके लिए span [SWS_DM_01492] के अंतर्निहित डेटा बफ़र के जीवनकाल पर ध्यान देने की आवश्यकता होती है।
उपयोग पथ
SOVD निकटता जाँच (proximity check) के संदर्भ में विशिष्ट उपयोग पथ पुनर्प्राप्ति (retrieval), मूल्यांकन (evaluation) और प्रमाण प्रस्तुत करने (proof provision) के एक निश्चित क्रम में संरचित है:
रिटर्न मान के रूप में SovdProximityChallengeType का एक इंस्टेंस उत्पन्न होता है, जो जनरेट किए गए challenge बाइट्स और समाप्ति समय से भरा होता है [SWS_DM_01482]।
प्राप्तकर्ता हल किए जाने वाले कार्य को SOVD क्लाइंट तक प्रेषित करने के लिए challenge को बाइट-स्पैन के रूप में पढ़ता है [SWS_DM_01492]।
इसके समानांतर, प्रमाण के लिए समय विंडो निर्धारित करने के लिए टाइमस्टैम्प valid_until का मूल्यांकन किया जाता है [SWS_DM_01491]।
SOVD क्लाइंट challenge को हल करता है और valid_until द्वारा चिह्नित समय तक पहुँचने से पहले प्रमाण प्रेषित करता है [SWS_DM_01491], [SWS_DM_01492]।
SovdProximityChallengeType का उपयोग करते समय, विशेष रूप से दो त्रुटि-महत्वपूर्ण सीमांत स्थितियों (boundary conditions) को ध्यान में रखा जाना चाहिए:
समय समाप्ति (Timeout): यदि सिस्टम समय valid_until में निर्दिष्ट टाइमस्टैम्प std::chrono::system_clock::time_point[SWS_DM_01491] तक पहुँच जाता है, तो challenge अपनी वैधता खो देता है। व्याख्या: valid_until की समाप्ति के बाद आने वाले SOVD क्लाइंट के समाधान प्रयास को सत्यापित करने वाले डायग्नोस्टिक इंस्टेंस द्वारा अमान्य मानकर अस्वीकार कर दिए जाने की संभावना है, जिससे SovdProximityChallenge::GetChallenge() का पुनः कॉल आवश्यक हो जाता है। प्रश्न Q-ab9b44a73c189384 (खुला)
अमान्य मेमोरी संदर्भ (Dangling Span): चूँकि challenge को एक गैर-स्वामित्व वाले ara::core::Span<ara::core::Byte> के रूप में लागू किया गया है [SWS_DM_01492], इसलिए अंतर्निहित बफ़र के विनाश या पुनः आवंटन (reallocation) के बाद बाइट्स तक पहुँचने से अपरिभाषित व्यवहार (undefined behavior) होता है। कॉलर को यह सुनिश्चित करना होगा कि span की संपूर्ण उपयोग अवधि के दौरान संदर्भित बाइट बफ़र मेमोरी में बना रहे।
यह गाइड Adaptive Platform (रिलीज़ R25-11) के लिए AUTOSAR विनिर्देश पर आधारित है और SOVD निकटता जाँच के लिए डेटा कंटेनर के रूप में ara::diag::SovdProximityChallengeType संरचना का वर्णन करती है।
UML क्लास आरेख
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल