DEENESPTFRRUARHIKOZHNL

नेमस्पेस ara::sm::s2r

उपयोगकर्ता गाइडएआई जनित

Adaptive ऐप्लिकेशन्स के लिए Suspend-to-RAM स्थिति में प्रवेश करने और उससे बाहर निकलने का समन्वय करता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: a8390997dcdf उद्गम खुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

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])।

diag_s2r_kontext sm_control SMControlApplication / State Management hub ara::sm::s2r::S2RHub sm_control->hub Suspend और Resume को ऑर्केस्ट्रेट करता है satellite ara::sm::s2r::S2RSatellite hub->satellite koordiniert Suspend-Modus process S2R-Aware Process satellite->process Callbacks को कॉल करता है iam IAM (Identity & Access Management) iam->hub validiert Prozesskontext iam->satellite authentifiziert Satelliten

संदर्भ आरेख: 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 और उसके बाद के वेकअप में विभाजित है:

  1. पंजीकरण: S2R-सक्षम एप्लिकेशन अपना सैटेलाइट बनाता है और हब पर पंजीकरण करने के लिए ara::sm::s2r::S2RSatellite::Offer को कॉल करता है ([SWS_SM_00710])। संभवतः हब और सैटेलाइट्स के बीच अधिसूचना प्लेटफ़ॉर्म-आंतरिक इंटर-प्रोसेस संचार के माध्यम से होती है (व्याख्या)। प्रश्न (खुला)
  2. Suspend का अनुरोध करना: नियंत्रण स्तर ara::sm::s2r::S2RHub::RequestToEnterSuspendMode को कॉल करता है ([SWS_SM_00701])। StateMachine-दृष्टिकोण में, यह तत्व EnterSuspendToRam द्वारा ट्रिगर किया जाता है, जहाँ इसका कॉन्फ़िगरेशन मान maxActionItemDuration टाइमआउट पैरामीटर के रूप में पास किया जाता है ([SWS_SM_00689])।
  3. सैटेलाइट्स को सूचित करना: हब सभी पंजीकृत सैटेलाइट्स को संबोधित करता है और कॉलबैक ara::sm::s2r::S2RSatellite::EnterSuspendMode के निष्पादन का कारण बनता है ([SWS_SM_00701], [SWS_SM_00711])। जैसे ही सभी सैटेलाइट्स प्रतिक्रिया दे देते हैं, अपंजीकृत हो जाते हैं, या टाइमआउट हो जाता है, RequestToEnterSuspendMode वापस आ जाता है ([SWS_SM_00702])।
  4. ऑपरेटिंग सिस्टम को रोकना: ara::sm::s2r::S2RHub::EnterSuspendToRamOs को कॉल करके (या एक्शन सूची तत्व EnterSuspendToRamOs के माध्यम से) ऑपरेटिंग सिस्टम की वास्तविक स्लीप स्थिति शुरू की जाती है ([SWS_SM_00692])।
  5. वेकअप का समन्वय करना: पुनः आरंभ होने के बाद ara::sm::s2r::S2RHub::RequestToLeaveSuspendMode को कॉल किया जाता है ([SWS_SM_00703], [SWS_SM_00691])। हब सैटेलाइट्स को कॉलबैक ara::sm::s2r::S2RSatellite::LeaveSuspendMode निष्पादित करने का निर्देश देता है ([SWS_SM_00703], [SWS_SM_00711])।
  6. अपंजीकरण (Deregistration): यदि कोई प्रक्रिया आगे भाग नहीं लेना चाहती है, तो वह ara::sm::s2r::S2RSatellite::StopOffer के माध्यम से अपंजीकृत हो जाती है ([SWS_SM_00710], [SWS_SM_00713])।
Suspend-to-RAM समन्वय का अनुक्रमAufrufer (SMControlApplication / SM)ara::sm::s2r::S2RHubara::sm::s2r::S2RSatelliteOffer()Use Case: सस्पेंड अवस्था में संक्रमणRequestToEnterSuspendMode(timeout)EnterSuspendMode()तत्परता फ़ीडबैकResultEnterSuspendToRamOs()Use Case: सस्पेंड अवस्था छोड़नाRequestToLeaveSuspendMode()LeaveSuspendMode()पावती या kRejectedGesamtergebnisUse Case: DeregistrierungStopOffer()

अनुक्रम आरेख: 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 क्लास

S2RHub class.

S2RSatellite क्लास

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.

G cluster_ns ara::sm::s2r nara__sm__s2r__S2RHub S2RHub nara__sm__s2r__S2RSatellite S2RSatellite