नेमस्पेस ara::sm::s2r
उपयोगकर्ता गाइडएआई जनित
Adaptive ऐप्लिकेशन्स के लिए Suspend-to-RAM स्थिति में प्रवेश करने और उससे बाहर निकलने का समन्वय करता है।
Adaptive ऐप्लिकेशन्स के लिए Suspend-to-RAM स्थिति में प्रवेश करने और उससे बाहर निकलने का समन्वय करता है।
नेमस्पेस ara::sm::s2r AUTOSAR Adaptive Platform (SWS StateManagement §7.5 “Interaction with Suspend-to-RAM Functionality”) में शटडाउन और स्टार्ट समय के अनुकूलन के लिए Suspend-to-RAM तंत्र का समन्वय करता है। केंद्रीय घटक S2RHub और पंजीकृत S2RSatellite-इंस्टेंस के माध्यम से, S2R-सक्षम प्रक्रियाओं को ऑपरेटिंग सिस्टम की स्लीप स्थिति में प्रवेश करने से पहले सूचित किया जाता है और वेकअप पर उन्हें वापस सामान्य संचालन में लाया जाता है। एक आवश्यक सीमा शर्त के रूप में, आंतरिक StateMachine-दृष्टिकोण का उपयोग C++-API के माध्यम से एक्सेस को सख्ती से रोकता है, जबकि IAM-जाँच सभी शामिल प्रक्रिया संदर्भों को सुरक्षित करती है ([SWS_SM_00684])।
संदर्भ
नेमस्पेस ara::sm::s2r State Management मॉड्यूल के भीतर Suspend-to-RAM (S2R) के समन्वय के लिए कार्यक्षमताएँ प्रदान करता है। इस तंत्र का उद्देश्य मशीन के शटडाउन और स्टार्टअप समय को अनुकूलित करना है, जिसके तहत पूर्ण शटडाउन और कोल्ड स्टार्ट के स्थान पर ऑपरेटिंग सिस्टम की RAM-आधारित स्लीप स्थिति का उपयोग किया जाता है (SWS StateManagement §7.5 “Interaction with Suspend-to-RAM Functionality”)। ऑपरेटिंग सिस्टम की Suspend-स्थिति में जाने से पहले, बिना S2R-समर्थन वाले फंक्शन क्लस्टर को निष्क्रिय किया जाना चाहिए और जिन प्रक्रियाओं का निष्पादन योग्य suspendToRamAware के रूप में चिह्नित है, उन्हें समय पर सूचित किया जाना चाहिए (SWS StateManagement §7.5 “Interaction with Suspend-to-RAM Functionality”)।
केंद्रीय हब क्लास S2RHub बनाता है, जो अमूर्त क्लास S2RSatellite के इंस्टेंस के साथ संचार को नियंत्रित करता है (SWS StateManagement §7.5.1 “S2R Hub”)। S2RHub का ऑर्केस्ट्रेशन या तो State Management के आंतरिक StateMachine-दृष्टिकोण के माध्यम से या बाहरी रूप से C++-API (उदाहरण के लिए SMControlApplication में) के माध्यम से किया जा सकता है; दोनों दृष्टिकोण परस्पर अनन्य हैं ([SWS_SM_00684], SWS StateManagement पृ. 96)। हब तक एक्सेस और सैटेलाइट्स का पंजीकरण Identity and Access Management (IAM) द्वारा सुरक्षित हैं ([SWS_SM_00706], [SWS_SM_00714], [SWS_SM_00715])।
संदर्भ आरेख: State Management, S2RHub, S2RSatellite और IAM की परस्पर क्रिया। स्रोत: SWS StateManagement §7.5.1 “S2R Hub”, [SWS_SM_00684], [SWS_SM_00715]।
जीवनचक्र
ara::sm::s2r::S2RHub का इंस्टेंसिएशन आर्किटेक्चरल दृष्टिकोण पर निर्भर करता है: StateMachine-मोड में, जैसे ही एक्शन सूची तत्व EnterSuspendToRam, EnterSuspendToRamOS या LeaveSuspendToRam समाप्त होते हैं, State Management द्वारा स्वचालित रूप से इंस्टेंस बनाया जाता है ([SWS_SM_00690])। कंस्ट्रक्टर ara::sm::s2r::S2RHub::S2RHub को कॉल करते समय, IAM के माध्यम से जाँचा जाता है कि क्या वर्तमान प्रक्रिया संदर्भ कॉन्फ़िगरेशन SuspendToRamHubMapping.process से मेल खाता है ([SWS_SM_00706])। केवल अधिकृत प्रक्रियाओं को ही इंस्टेंसिएशन करने की अनुमति है ([SWS_SM_00714])।
सैटेलाइट्स को फ़ैक्टरी मेथड ara::sm::s2r::S2RSatellite::Create के माध्यम से इनिशियलाइज़ किया जाता है ([SWS_SM_00716])। चूँकि S2RSatellite एक अमूर्त क्लास है, इसलिए ठोस प्रतिक्रियाएँ प्रदान करने के लिए एक एप्लिकेशन-विशिष्ट व्युत्पत्ति (derivation) लागू की जानी चाहिए (व्याख्या)। प्रश्न Q-e4747345883235e0 (खुला) हब पर पंजीकरण सक्रिय रूप से ara::sm::s2r::S2RSatellite::Offer को कॉल करके किया जाता है ([SWS_SM_00710])। हब SuspendToRamSatelliteMapping.process के आधार पर सैटेलाइट के प्रक्रिया संदर्भ को मान्य करता है ([SWS_SM_00715])। एक सैटेलाइट सक्रिय पंजीकरण की स्थिति में तब तक बना रहता है जब तक कि वह ara::sm::s2r::S2RSatellite::StopOffer के माध्यम से फिर से अपंजीकृत (deregister) नहीं हो जाता ([SWS_SM_00710], [SWS_SM_00713])।
स्टेट मशीनों के जीवन चक्र के संबंध में, यह सीमा शर्त लागू होती है कि Suspend-स्थिति के लिए जिम्मेदार स्थितियों को एक्शन सूची तत्व LeaveSuspendToRam के साथ कॉन्फ़िगर नहीं किया जाना चाहिए ([SWS_SM_CONSTR_00035])। यह तत्व केवल वेकअप के समय वापसी चरण के लिए आरक्षित है (SWS StateManagement पृ. 98)।
उपयोग पथ
नेमस्पेस का विशिष्ट उपयोग पंजीकरण, स्लीप स्थिति की तैयारी, ऑपरेटिंग सिस्टम Suspend और उसके बाद के वेकअप में विभाजित है:
- पंजीकरण: S2R-सक्षम एप्लिकेशन अपना सैटेलाइट बनाता है और हब पर पंजीकरण करने के लिए
ara::sm::s2r::S2RSatellite::Offerको कॉल करता है ([SWS_SM_00710])। संभवतः हब और सैटेलाइट्स के बीच अधिसूचना प्लेटफ़ॉर्म-आंतरिक इंटर-प्रोसेस संचार के माध्यम से होती है (व्याख्या)। प्रश्न (खुला) - Suspend का अनुरोध करना: नियंत्रण स्तर
ara::sm::s2r::S2RHub::RequestToEnterSuspendModeको कॉल करता है ([SWS_SM_00701])।StateMachine-दृष्टिकोण में, यह तत्वEnterSuspendToRamद्वारा ट्रिगर किया जाता है, जहाँ इसका कॉन्फ़िगरेशन मानmaxActionItemDurationटाइमआउट पैरामीटर के रूप में पास किया जाता है ([SWS_SM_00689])। - सैटेलाइट्स को सूचित करना: हब सभी पंजीकृत सैटेलाइट्स को संबोधित करता है और कॉलबैक
ara::sm::s2r::S2RSatellite::EnterSuspendModeके निष्पादन का कारण बनता है ([SWS_SM_00701], [SWS_SM_00711])। जैसे ही सभी सैटेलाइट्स प्रतिक्रिया दे देते हैं, अपंजीकृत हो जाते हैं, या टाइमआउट हो जाता है,RequestToEnterSuspendModeवापस आ जाता है ([SWS_SM_00702])। - ऑपरेटिंग सिस्टम को रोकना:
ara::sm::s2r::S2RHub::EnterSuspendToRamOsको कॉल करके (या एक्शन सूची तत्वEnterSuspendToRamOsके माध्यम से) ऑपरेटिंग सिस्टम की वास्तविक स्लीप स्थिति शुरू की जाती है ([SWS_SM_00692])। - वेकअप का समन्वय करना: पुनः आरंभ होने के बाद
ara::sm::s2r::S2RHub::RequestToLeaveSuspendModeको कॉल किया जाता है ([SWS_SM_00703], [SWS_SM_00691])। हब सैटेलाइट्स को कॉलबैकara::sm::s2r::S2RSatellite::LeaveSuspendModeनिष्पादित करने का निर्देश देता है ([SWS_SM_00703], [SWS_SM_00711])। - अपंजीकरण (Deregistration): यदि कोई प्रक्रिया आगे भाग नहीं लेना चाहती है, तो वह
ara::sm::s2r::S2RSatellite::StopOfferके माध्यम से अपंजीकृत हो जाती है ([SWS_SM_00710], [SWS_SM_00713])।
अनुक्रम आरेख: Suspend-to-RAM की तैयारी और समाप्ति के लिए कॉल क्रम। स्रोत: [SWS_SM_00701], [SWS_SM_00702], [SWS_SM_00703], [SWS_SM_00707], [SWS_SM_00710], [SWS_SM_00711]।
त्रुटि परिदृश्य
क्लासेस की परस्पर क्रिया में विशिष्ट त्रुटि स्थितियाँ उत्पन्न होती हैं:
- हब निर्माण पर IAM उल्लंघन: यदि कंस्ट्रक्टर कॉल पर प्रक्रिया संदर्भ
SuspendToRamHubMapping.processसे मेल नहीं खाता है, तो उल्लंघनInsufficientPermissionsViolationट्रिगर होता है और सुरक्षा घटनाSEV_ACCESS_CONTROL_SM_IAM_ACCESS_DENIED</a>की सूचना दी जाती है ([SWS_SM_00706])। - गैर-प्रमाणीकृत सैटेलाइट्स की अस्वीकृति: यदि
S2RSatelliteका संदर्भSuspendToRamSatelliteMappingमें संग्रहीत प्रक्रिया से भिन्न होता है, तो हब पंजीकरण को अस्वीकार कर देता है ([SWS_SM_00715])। - सैटेलाइट पर प्रमाणीकरण आवश्यकता: यदि कॉन्फ़िगरेशन Force IAM switch सेट है, तो
ara::sm::s2r::S2RSatellite::Createत्रुटि कोडkAuthenticationRequiredके साथ विफल हो जाता है ([SWS_SM_00716])। - संचार टाइमआउट: यदि कोई संबोधित सैटेलाइट Suspend या वेकअप चरण के दौरान समय सीमा
timeoutके भीतर प्रतिक्रिया नहीं देता है, तो ऑपरेशन त्रुटि कोडkCommunicationTimeoutलौटाता है ([SWS_SM_00707])। - Suspend मोड से बाहर निकलने में समस्याएँ: यदि कम से कम एक सैटेलाइट Suspend मोड से बाहर निकलने के अनुरोध पर नकारात्मक रूप से
kRejectedके साथ प्रतिक्रिया देता है, तोRequestToLeaveSuspendModeसमग्र परिणाम कोkAtLeastOneHadIssuesToLeaveके साथ स्वीकार करता है ([SWS_SM_00707])। - प्रतिस्पर्धी API उपयोग: आंतरिक
StateMachine-दृष्टिकोण के साथS2RHubके C++-API का एक साथ उपयोग निषिद्ध है और यह विसंगतियों की ओर ले जाता है ([SWS_SM_00684])।
यह मार्गदर्शिका विनिर्देश AUTOSAR_AP_SWS_StateManagement (रिलीज़ R25-11) पर आधारित है।
इस रिलीज़ के लिए कोई तत्व डेटा उपलब्ध नहीं
क्लासें
S2RHub class.
S2RSatellite abstract class.
क्लास आरेख
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-low· 2026-10-13 · जर्मन मूल