सिस्टम स्थितियों (system states) और Suspend-to-RAM प्रक्रियाओं को नियंत्रित करने के लिए एरर डोमेन और एरर कोड प्रदान करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 83e4718c6e9fउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
सिस्टम स्थितियों (system states) और Suspend-to-RAM प्रक्रियाओं को नियंत्रित करने के लिए एरर डोमेन और एरर कोड प्रदान करता है।
नेमस्पेस ara::sm AUTOSAR Adaptive में State Management के लिए डोमेन-विशिष्ट एरर हैंडलिंग और समन्वय संरचनाएं प्रदान करता है (AUTOSAR_AP_SWS_StateManagement §7.5 पृ. 34)। यह SmErrc, SmErrorDomain और MakeErrorCode के माध्यम से संचार त्रुटियों, टाइमआउट और Suspend-to-RAM जैसे सिंक्रोनाइज़्ड स्थिति परिवर्तनों (state transitions) में अस्वीकृतियों को कैप्चर करने के लिए मानकीकृत तंत्र को परिभाषित करता है ([SWS_SM_81240], [SWS_SM_81244])। एक प्रमुख बाधा स्वचालित स्टेट मशीन नियंत्रण और समन्वय इंस्टेंसेस के लिए सीधे API एक्सेस के बीच का पारस्परिक अपवर्जन (mutual exclusivity) है ([SWS_SM_00684])।
संदर्भ
नेमस्पेस ara::sm AUTOSAR Adaptive Platform के स्टेट मैनेजमेंट (State Management) के लिए मौलिक इंटरफ़ेस बनाता है तथा एरर हैंडलिंग और मशीन-व्यापी स्थिति कॉन्फ़िगरेशन को नियंत्रित करने के लिए प्रकार प्रदान करता है। केंद्रीय एरर डोमेन SmErrorDomain और संबंधित अपवाद प्रकार SmException के अतिरिक्त, मॉड्यूल में सिस्टम स्थितियों को सिंक्रोनाइज़ करने के लिए कार्यात्मक तंत्र शामिल हैं, विशेष रूप से AUTOSAR_AP_SWS_StateManagement §7.5 “Interaction with Suspend-to-RAM Functionality” पृ. 34 के अनुसार Suspend-to-RAM कार्यक्षमता के संदर्भ में। प्रमुख इंटरैक्शन पार्टनर्स में SMControlApplication जैसे नियंत्रण एप्लिकेशन, State Management डीमन का आंतरिक StateMachine कंट्रोलर और उपग्रहों (satellites) के माध्यम से जुड़े प्रोसेस शामिल हैं (AUTOSAR_AP_SWS_StateManagement §7.5.1 “S2R Hub” पृ. 35)।
आर्किटेक्चर डिक्लेरेटिव स्टेट ऑटोमेटा और प्रोग्रामेटिक नियंत्रण के बीच सख्ती से अंतर करता है: यदि सिस्टम StateMachine दृष्टिकोण का अनुसरण करता है, तो नियंत्रण इंस्टेंस आंतरिक रूप से समन्वय को एकीकृत करता है, ताकि बाहरी एप्लिकेशन्स को S2RHub के C++ API तक सीधे एक्सेस से वंचित किया जा सके ([SWS_SM_00684]; AUTOSAR_AP_SWS_StateManagement §7.7.15 पृ. 96)। सुरक्षा-प्रासंगिक इंटरैक्शन Identity and Access Management (IAM) की जांच के अधीन भी होते हैं, ताकि यह सुनिश्चित किया जा सके कि केवल अधिकृत प्रोसेस ही पंजीकरण कर सकें या स्थिति परिवर्तनों का अनुरोध कर सकें ([SWS_SM_00706], [SWS_SM_00714], [SWS_SM_00715])।
नेमस्पेस का विशिष्ट उपयोग एप्लिकेशन-साइड प्रोसेस के पंजीकरण, समन्वित परिवर्तनों को ट्रिगर करने और परिणामी एरर कोड्स के मूल्यांकन में विभाजित है। उन प्रोसेस के लिए जिनमें Suspend-to-RAM क्षमताएं हैं, चक्र Offer के माध्यम से उनके इंटरफ़ेस के प्रावधान के साथ शुरू होता है ([SWS_SM_00710])। ऑपरेटिंग सिस्टम के स्लीप स्थिति में जाने से पहले, नियंत्रक इंस्टेंस RequestToEnterSuspendMode का उपयोग करके सभी पंजीकृत उपग्रहों को एक अनुरोध भेजता है, जिसके बाद उनका कॉलबैक EnterSuspendMode ट्रिगर होता है ([SWS_SM_00701], [SWS_SM_00711])।
समन्वय फ़ंक्शन तब तक परिवर्तन को ब्लॉक या मॉनिटर करता है जब तक कि सभी भाग लेने वाले उपग्रहों ने प्रतिक्रिया न दे दी हो या अपंजीकृत (deregistered) न हो गए हों ([SWS_SM_00702])। वेक-अप पर, इसी प्रकार RequestToLeaveSuspendMode का कॉल होता है, जो LeaveSuspendMode के माध्यम से सामान्य संचालन को पुनर्स्थापित करता है ([SWS_SM_00703], [SWS_SM_00711])। यदि संचार या स्थिति परिवर्तनों के दौरान विफलताएं आती हैं, तो गणना SmErrc के आधार पर विशिष्ट ara::core::ErrorCode इंस्टेंसेस बनाने और कॉलिंग एप्लिकेशन को उपलब्ध कराने के लिए मॉड्यूल मुक्त फ़ंक्शन MakeErrorCode का सहारा लेता है ([SWS_SM_81244])।
ara::sm में एरर हैंडलिंग सख्ती से प्ररूपित (strictly typed) है और गणना SmErrc पर आधारित है ([SWS_SM_81240])। परिभाषित एरर कोड्स में शामिल हैं:
kOfferFailed: सेवा की पेशकश नहीं की जा सकी क्योंकि State Management डीमन के साथ संचार विफल रहा ([SWS_SM_81240])।
kCommunicationFailed: उपग्रहों के साथ संचार के दौरान निचले ट्रांसपोर्ट लेयर्स पर त्रुटि ([SWS_SM_81240])।
kCommunicationTimeout: संबोधित उपग्रह ने निर्दिष्ट प्रतिक्रिया समय को पार कर लिया है ([SWS_SM_81240], [SWS_SM_00707])।
kAtLeastOneRejected: कम से कम एक उपग्रह सस्पेंड स्थिति को ठीक से ग्रहण नहीं कर सका ([SWS_SM_81240])।
kAtLeastOneHadIssuesToLeave: सस्पेंड मोड से बाहर निकलते समय कम से कम एक उपग्रह ने kRejected की सूचना दी ([SWS_SM_81240], [SWS_SM_00707])।
kAuthenticationRequired: IAM प्रमाणीकरण लागू किया गया है और इसके लिए उपग्रह के स्पष्ट पहचान सत्यापन की आवश्यकता है ([SWS_SM_81240], [SWS_SM_00716])।
GetSmDomain ([SWS_SM_81251]) के माध्यम से वैश्विक एरर डोमेन का प्रावधान और MakeErrorCode ([SWS_SM_81244]) के माध्यम से एरर कोड्स का निर्माण noexcept के रूप में घोषित किया गया है तथा यह अपवाद-सुरक्षा और थ्रेड-सुरक्षा की गारंटी देता है। व्याख्या: SmException को फेंकने (throw) का अनुप्रयोग मुख्य रूप से तब होना चाहिए जब कॉलर SmErrorDomain के एरर कोड्स को अपवाद-आधारित नियंत्रण प्रवाहों में स्थानांतरित करना चाहते हैं, जबकि त्रुटि की स्थिति में कार्यात्मक इंटरफ़ेस सामान्य रूप से ara::core::ErrorCode लौटाते हैं। प्रश्न Q-5afcc13f11bdf19b (खुला)
यह गाइड AUTOSAR Adaptive R25-11 विनिर्देश पर आधारित है।
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 9557f5fb3cd6उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
[SWS_SM_81244] के अनुसार नेमस्पेस ara::sm में सहायक फ़ंक्शन MakeErrorCode State Management के लिए एक ara::core::ErrorCode ऑब्जेक्ट बनाने के लिए कार्य करता है। फ़ंक्शन हेडर फ़ाइल #include "ara/sm/sm_error_domain.h" में घोषित है और इसकी दस्तावेज़ीकरण स्थिति DRAFT है (AUTOSAR_AP_SWS_StateManagement §8.1.2.1.2 “MakeErrorCode”)।
निर्माण के लिए, सिंक्रोनस फ़ंक्शन दो इनपुट पैरामीटर स्वीकार करता है:
code: त्रुटि संख्या के रूप में प्रकार SmErrc का विशिष्ट त्रुटि कोड।
data: निर्माता-विशिष्ट अतिरिक्त डेटा (प्रकार ara::core::ErrorDomain::SupportDataType), जो त्रुटि से जुड़ा हुआ है।
रिटर्न मान के रूप में, फ़ंक्शन एक पूर्ण ara::core::ErrorCode ऑब्जेक्ट लौटाता है ([SWS_SM_81244])। constexpr के रूप में चिह्नित होने के कारण, मूल्यांकन संकलन समय पर ही हो सकता है, और कीवर्ड noexcept यह गारंटी देता है कि निष्पादन के दौरान कोई अपवाद ट्रिगर नहीं होते हैं।
संवर्तिता और विश्वसनीयता के संबंध में, फ़ंक्शन को thread-safe और exception safe के रूप में निर्दिष्ट किया गया है ([SWS_SM_81244])। इसलिए इसे अतिरिक्त सिंक्रनाइज़ेशन के बिना किसी भी समवर्ती कॉल संदर्भ से उपयोग किया जा सकता है।
यह पाठ एक AI द्वारा उत्पन्न किया गया था और यह विनिर्देश के आधार पर एक ओरिएंटेशन सहायता के रूप में कार्य करता है।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल