SOVD-आधारित सॉफ़्टवेयर अपडेट में उप-इकाई की स्थिति, प्रतिशत प्रगति और त्रुटि कोड को रिकॉर्ड करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 86b478c2c357उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
SOVD-आधारित सॉफ़्टवेयर अपडेट में उप-इकाई की स्थिति, प्रतिशत प्रगति और त्रुटि कोड को रिकॉर्ड करता है।
संरचना ara::diag::SovdSwUpdate::SubProgress SOVD-आधारित सॉफ़्टवेयर अपडेट ([SWS_DM_01896]) के दौरान एक विशिष्ट इकाई की वर्तमान प्रगति, स्थिति और संभावित त्रुटियों को समाहित करती है। अपडेट रूटीन इसमें अपडेट किए जाने वाले घटक को रिकॉर्ड करते हैं, प्रतिशत प्रगति को ट्रैक करते हैं और समग्र स्थिति को डायग्नोस्टिक प्रबंधन को प्रेषित करते हैं। यदि अपडेट विफल हो जाता है, तो फ़ील्ड error उत्पन्न त्रुटि कोड को निर्दिष्ट करता है, जबकि नियमित प्रवाह के दौरान इस पर विचार नहीं किया जाता है ([SWS_DM_01901])। चूँकि SubProgress बिना किसी आंतरिक सिंक्रोनाइज़ेशन वाला एक शुद्ध डेटा मान प्रकार है, इसलिए समवर्ती संशोधन के लिए एप्लिकेशन-साइड सुरक्षा की आवश्यकता होती है।
संदर्भ
संरचना ara::diag::SovdSwUpdate::SubProgress AUTOSAR Adaptive Platform ([SWS_DM_01896], AUTOSAR_AP_SWS_Diagnostics §8.58.3 “Struct: SubProgress”) के मॉड्यूल diag में SOVD-आधारित सॉफ़्टवेयर अपडेट के लिए C++ इंटरफ़ेस का हिस्सा है। Service-Oriented Vehicle Diagnostics (SOVD) के संदर्भ में, अपडेट प्रक्रियाएँ कई समानांतर या अनुक्रमिक उप-चरणों से युक्त हो सकती हैं। SubProgress अपडेट के दौरान एक विशिष्ट उप-घटक की प्रसंस्करण स्थिति को दर्शाने की ज़िम्मेदारी लेता है। सहभागियों में डायग्नोस्टिक-आंतरिक अपडेट रूटीन शामिल हैं जो आंशिक अपडेट करते हैं, साथ ही उच्च-स्तरीय नियंत्रण इंस्टेंस शामिल हैं जो अपडेट की समग्र प्रगति का समन्वय करते हैं और बाहरी डायग्नोस्टिक टूल्स को इसकी रिपोर्ट करते हैं।
entity: एक ara::core::String, जो उस इकाई को नामित करता है जिसे वर्तमान में अपडेट किया जा रहा है ([SWS_DM_01898])।
status: प्रकार SovdUpdateStatus का एक मान, जो अपडेट की वर्तमान स्थिति का प्रतिनिधित्व करता है ([SWS_DM_01899])।
progress: प्रतिशत में प्रगति के लिए प्रकार ara::core::Optional<std::uint8_t> का एक वैकल्पिक मान ([SWS_DM_01900])।
error: विफलता के मामले में हुई त्रुटियों के विनिर्देश के लिए प्रकार ara::core::ErrorCode का एक त्रुटि कोड ([SWS_DM_01901])।
जीवनचक्र
struct के रूप में डिज़ाइन किए जाने के कारण, SubProgress में मान सिमेंटिक्स होता है (AUTOSAR_AP_SWS_Diagnostics §8.58.3.1 “Public Member Variables”)। जैसे ही अपडेट प्रसंस्करण के भीतर एक नया उप-चरण शुरू होता है, आमतौर पर स्टैक पर या किसी उच्च-स्तरीय स्थिति कंटेनर के भीतर एक इंस्टेंस बनाया जाता है। प्रबंधकीय घटक शुरुआत में entity के माध्यम से इंस्टेंस को लक्ष्य इकाई का पहचानकर्ता निर्दिष्ट करता है ([SWS_DM_01898]) और status में प्रारंभिक स्थिति सेट करता है ([SWS_DM_01899])।
प्रक्रिया के दौरान, प्रतिशत प्रगति और स्थिति परिवर्तन संरचना में लगातार अपडेट किए जाते हैं। आंशिक अपडेट के पूरा होने या निरस्त होने के बाद, संरचना को पास किया जाता है या पढ़ा जाता है और अंततः स्कोप छोड़ने पर यह स्वचालित रूप से नष्ट हो जाती है। चूँकि विनिर्देश अपनी कोई विधि या सिंक्रोनाइज़ेशन प्रिमिटिव निर्दिष्ट नहीं करता है, इसलिए यह संरचना बिना किसी थ्रेड सुरक्षा के एक शुद्ध डेटा धारक के रूप में कार्य करती है (व्याख्या)। प्रश्न Q-92b3fcc698f7bab8 (खुला) इसलिए कई थ्रेड्स द्वारा समवर्ती एक्सेस के लिए एप्लिकेशन-साइड सिंक्रोनाइज़ेशन की आवश्यकता होती है।
उपयोग पथ
प्रगति रिपोर्टिंग के नियमित प्रवाह को चरणों के एक निश्चित अनुक्रम में विभाजित किया गया है:\nसबसे पहले, निष्पादक अपडेट तर्क प्रकार SubProgress का एक ऑब्जेक्ट बनाता है और entity में संबंधित इकाई का पहचानकर्ता सेट करता है ([SWS_DM_01898])। साथ ही, उदाहरण के लिए प्रसंस्करण की शुरुआत का संकेत देने के लिए status के लिए प्रारंभिक मान सेट किया जाता है ([SWS_DM_01899])। निरंतर चरणों के लिए, तर्क समय-समय पर प्रतिशत में प्रगति को फ़ील्ड progress में लिखता है ([SWS_DM_01900], AUTOSAR_AP_SWS_Diagnostics §8.58.3.1.3 “progress”)। चूँकि progress को ara::core::Optional के रूप में घोषित किया गया है, इसलिए फ़ील्ड तब तक खाली रहता है जब तक प्रगति अनिर्धारित रहती है। अंत में, संरचना को केंद्रीय इंटरफ़ेस SovdSwUpdate को पास किया जाता है ताकि बाहरी SOVD क्लाइंट स्थिति की क्वेरी कर सकें ([SWS_DM_01896])।
किसी उप-इकाई के प्रसंस्करण के दौरान अनियमितताओं या त्रुटियों के मामले में, संरचना का त्रुटि परिदृश्य प्रभावी होता है। यदि कोई त्रुटि होती है, तो status में मान त्रुटि स्थिति में बदल जाता है ([SWS_DM_01899])। [SWS_DM_01901] के अनुसार, चर error सटीक त्रुटि कोड केवल तभी निर्दिष्ट करता है जब स्थिति विफल हो (“Specifies the error if status is failed”)। यह status और error के बीच एक बाध्यकारी तार्किक युग्मन का प्रतिनिधित्व करता है: संरचना के प्राप्तकर्ता फ़ील्ड error का मूल्यांकन केवल तभी महत्वपूर्ण रूप में कर सकते हैं जब status वास्तव में विफल स्थिति की रिपोर्ट करता है; अन्यथा सामग्री संभवतः अनदेखी रहती है या एक मानक मान का प्रतिनिधित्व करती है (व्याख्या)। प्रश्न Q-3caa7622672dcb8e (खुला)
एक अन्य त्रुटि परिदृश्य अनिर्धारित प्रगति से संबंधित है: यदि प्रसंस्करण इकाई एक ठोस प्रतिशत मान निर्धारित नहीं कर पाती है या गणना समय से पहले समाप्त हो जाती है, तो वैकल्पिक फ़ील्ड progress बिना किसी मान के रहता है (ara::core::nullopt), जो अमान्य संख्यात्मक मानों को गलती से प्रतिशत संकेत के रूप में व्याख्या किए जाने से रोकता है ([SWS_DM_01900])।
यह गाइड AUTOSAR Adaptive Platform रिलीज़ R25-11 के विनिर्देश पर आधारित है और संरचना ara::diag::SovdSwUpdate::SubProgress की आवश्यकताओं को सारांशित करती है।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल