सैटेलाइट्स के लिए Suspend-to-RAM सूचनाओं का समन्वय करता है और ऑपरेटिंग सिस्टम की स्लीप स्टेट को आरंभ करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: c63fb68c31f7उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
सैटेलाइट्स के लिए Suspend-to-RAM सूचनाओं का समन्वय करता है और ऑपरेटिंग सिस्टम की स्लीप स्टेट को आरंभ करता है।
क्लास ara::sm::s2r::S2RHub State Management में पंजीकृत सैटेलाइट अनुप्रयोगों (AUTOSAR_AP_EXP_SWArchitecture §9.2.2.1.4 “Interfaces for Suspend-to-Ram Notifications”) के लिए Suspend-to-RAM अवस्था में प्रवेश करने और उससे बाहर निकलने का समन्वय करती है। यह एक नियंत्रण अनुप्रयोग को ऑपरेटिंग सिस्टम को स्लीप स्टेट में डालने से पहले सैटेलाइट्स की तैयारी का अनुरोध करने और जागने के बाद उन्हें फिर से सामान्य परिचालन में वापस लाने में सक्षम बनाती है ([SWS_SM_00701], [SWS_SM_81112])। C++-API का उपयोग आंतरिक StateMachine दृष्टिकोण को कड़ाई से रोकता है और इसके लिए सत्यापित IAM अनुमतियों की आवश्यकता होती है ([SWS_SM_00684], [SWS_SM_00706])।
ara::sm::s2r::S2RHub का एक इंस्टेंस स्पष्ट रूप से एक ara::core::InstanceSpecifier के माध्यम से बनाया जाता है ([SWS_SM_81103])। निर्माण के दौरान, एक अनिवार्य IAM अनुमति जाँच होती है, जिसमें कॉलिंग प्रक्रिया संदर्भ को मॉडल मैपिंग (SuspendToRamHubMapping.process) के विरुद्ध मान्य किया जाता है ([SWS_SM_00706], [SWS_SM_00714])। क्लास के लिए कॉपी ऑपरेशन पूरी तरह से प्रतिबंधित हैं ([SWS_SM_81107], [SWS_SM_81109])। हालाँकि, क्लास मूव कंस्ट्रक्टर और मूव असाइनमेंट ऑपरेटर के माध्यम से मूव सेमांटिक्स का समर्थन करती है ([SWS_SM_81106], [SWS_SM_81108])।
समवर्तीता के संबंध में, पैरामीटरीकृत कंस्ट्रक्टर और मूव ऑपरेशन्स को थ्रेड-सुरक्षित निर्दिष्ट किया गया है ([SWS_SM_81103], [SWS_SM_81106], [SWS_SM_81108])। इसके विपरीत, वर्चुअल डिस्ट्रक्टर ~S2RHub() और सस्पेंड समन्वय के लिए ऑपरेटिव विधियाँ थ्रेड-सुरक्षित नहीं हैं ([SWS_SM_81105], [SWS_SM_81110], [SWS_SM_81111], [SWS_SM_81112])। इसलिए कॉलर्स को यह सुनिश्चित करना होगा कि विनाश और संक्रमणों का निष्पादन क्रमिक रूप से और प्रतिस्पर्धी कॉलों के बिना हो।
उपयोग पथ
Suspend-to-RAM को आरंभ करने और समाप्त करने का नियमित क्रम तीन क्रमिक चरणों में विभाजित है:
सस्पेंड स्थिति की तैयारी: ऑपरेटिंग सिस्टम को सस्पेंड करने से पहले, गैर-समर्थक प्रक्रियाओं वाले फ़ंक्शन समूहों को शट डाउन किया जाना चाहिए (AUTOSAR_AP_SWS_StateManagement §7.5)। इसके बाद, नियंत्रण अनुप्रयोग हब पर RequestToEnterSuspendMode() को कॉल करता है ([SWS_SM_81110])। हब Offer के माध्यम से पंजीकृत सभी सैटेलाइट्स को EnterSuspendMode के ज़रिए सूचित करता है ([SWS_SM_00701], [SWS_SM_00710], [SWS_SM_00711])। यह विधि एक ara::core::Future<void> वापस लौटाती है, जो केवल तभी पूर्ण होता है जब सभी संबोधित सैटेलाइट्स ने प्रतिक्रिया दे दी हो, अपंजीकृत हो गए हों या टाइमआउट हो गया हो ([SWS_SM_00702], [SWS_SM_81110])।
सिस्टम सस्पेंड को ट्रिगर करना: सभी सैटेलाइट्स से सफल फ़ीडबैक के बाद, कॉलर मशीन को Suspend-to-RAM मोड में डालने के लिए सिंक्रोनस फ़ंक्शन EnterSuspendToRamOs() के माध्यम से ऑपरेटिंग सिस्टम को ट्रिगर करता है ([SWS_SM_81112])।
वेक-अप के बाद पुनः आरंभ करना: जैसे ही ऑपरेटिंग सिस्टम फिर से जागता है, नियंत्रण अनुप्रयोग RequestToLeaveSuspendMode() के माध्यम से नियमित संचालन को फिर से शुरू करने की पहल करता है ([SWS_SM_81111])। हब सभी सक्रिय सैटेलाइट्स को उनके कॉलबैक फ़ंक्शन के माध्यम से सस्पेंड मोड से बाहर निकलने का अनुरोध करता है ([SWS_SM_00703], [SWS_SM_00711])। लौटाया गया Future सकारात्मक रूप से हल होता है यदि सभी सैटेलाइट्स सकारात्मक पुष्टि करते हैं या StopOffer के माध्यम से अपंजीकृत होते हैं ([SWS_SM_00707], [SWS_SM_81111])।
त्रुटि स्थितियों को S2RHub में चरण के आधार पर आर्किटेक्चरल Violations या ara::core::Future में त्रुटि कोड के माध्यम से संकेतित किया जाता है:
निर्माण त्रुटियाँ और Violations: यदि कॉलिंग प्रक्रिया की अनुमति जाँच विफल हो जाती है, तो Violation InsufficientPermissionsViolation और सुरक्षा घटना SEV_ACCESS_CONTROL_SM_IAM_ACCESS_DENIED ट्रिगर होते हैं ([SWS_SM_00706], [SWS_SM_81103])। अन्य परिभाषित Violations में InstanceSpecifierMappingIntegrityViolation (मॉडल पहचानकर्ता की अमान्यता), PortInterfaceMappingViolation (असंगत इंटरफ़ेस प्रकार), ProcessMappingViolation (अनुपलब्ध प्रक्रिया मैपिंग), InstanceSpecifierAlreadyInUseViolation (एक ही प्रक्रिया में एकाधिक उपयोग) और AraNotInitializedViolation (Adaptive Platform के आरंभिकरण का अभाव) शामिल हैं ([SWS_SM_81103])।
सस्पेंड स्थिति में प्रवेश करते समय त्रुटियाँ: यदि निचले स्तरों पर संचार विफल हो जाता है, तो RequestToEnterSuspendMode() का Future SmErrc::kCommunicationFailed के साथ विफल हो जाता है ([SWS_SM_81110])। यदि कम से कम एक सैटेलाइट कॉन्फ़िगर करने योग्य समय सीमा (डिफ़ॉल्ट: 1000 ms) के भीतर प्रतिक्रिया नहीं देता है, तो इसका परिणाम SmErrc::kCommunicationTimeout होता है ([SWS_SM_81110])। दोनों त्रुटियों में रोलबैक सेमांटिक्स होते हैं। यदि कम से कम एक सैटेलाइट संक्रमण की अस्वीकृति की रिपोर्ट करता है, तो Future बिना रोलबैक सेमांटिक्स के त्रुटि SmErrc::kAtLeastOneRejected देता है ([SWS_SM_81110])।
सस्पेंड स्थिति से बाहर निकलते समय त्रुटियाँ: इसी प्रकार, RequestToLeaveSuspendMode() में संचार समस्याएँ या टाइमआउट क्रमशः SmErrc::kCommunicationFailed या SmErrc::kCommunicationTimeout की ओर ले जाते हैं ([SWS_SM_00707], [SWS_SM_81111])। यदि कोई सैटेलाइट kRejected के साथ प्रतिक्रिया देता है, तो Future त्रुटि कोड SmErrc::kAtLeastOneHadIssuesToLeave की रिपोर्ट करता है ([SWS_SM_00707], [SWS_SM_81111])।
अस्वीकृत सैटेलाइट पंजीकरण: यदि सैटेलाइट्स का प्रक्रिया संदर्भ मॉडल कॉन्फ़िगरेशन से मेल नहीं खाता है, तो हब द्वारा सैटेलाइट्स के पंजीकरण प्रयासों को अस्वीकार कर दिया जाता है ([SWS_SM_00715])।
यह मार्गदर्शिका AUTOSAR Adaptive Platform रिलीज़ R25-11 के विनिर्देशों पर आधारित है और क्लास S2RHub की आवश्यकताओं को सारांशित करती है।
विधि का सिग्नेचर void EnterSuspendToRamOs() noexcept; है, यह कोई पैरामीटर स्वीकार नहीं करती है और कोई रिटर्न मान नहीं देती है ([SWS_SM_81112])। इसे आमतौर पर उपयोगकर्ता अनुप्रयोगों द्वारा सीधे कॉल नहीं किया जाता है, बल्कि State Management द्वारा निष्पादित किया जाता है जैसे ही ActionList के भीतर संबंधित क्रिया तत्व EnterSuspendToRamOs ट्रिगर होता है ([SWS_SM_00692])। इसके लिए पूर्व शर्त ara::sm::s2r::S2RHub का पहले से निर्मित इंस्टेंस होना है ([SWS_SM_00690])।
संवर्तिता और सीमा शर्तों के संबंध में निम्नलिखित लागू होता है:
थ्रेड-सुरक्षा: फ़ंक्शन को स्पष्ट रूप से गैर-थ्रेड-सुरक्षित (not-threadsafe) के रूप में वर्गीकृत किया गया है ([SWS_SM_81112])। समान इंस्टेंस पर समवर्ती कॉल से बचा जाना चाहिए।
त्रुटि प्रबंधन: ऑपरेशन को noexcept और exception safe के रूप में निर्दिष्ट किया गया है ([SWS_SM_81112]); कोई त्रुटि कोड नहीं लौटाए जाते हैं और न ही कोई अपवाद फेंके जाते हैं।
क्रम और निष्पादन संदर्भ:ActionLists के भीतर, क्रिया तत्व कॉन्फ़िगर किए गए क्रम में क्रमिक रूप से प्रारंभ किए जाते हैं ([SWS_SM_00609])। EnterSuspendToRamOs के माध्यम से ऑपरेटिंग सिस्टम के सस्पेंशन से पहले, पूर्ववर्ती क्रियाएँ (जैसे EnterSuspendToRam) S2R-सक्षम अनुप्रयोगों को स्टैंडबाय मोड में स्थानांतरित करती हैं (AUTOSAR_AP_SWS_StateManagement §7.7 “Trigger EnterSuspendState”)। किसी नियंत्रक की समान सस्पेंड स्थिति के भीतर EnterSuspendToRamOs की एकाधिक घटनाओं का प्रावधान नहीं है, क्योंकि दोहराव कोई कार्यात्मक लाभ नहीं देता है और संघर्षों का कारण बन सकता है (AUTOSAR_AP_SWS_StateManagement §7.7 “Trigger EnterSuspendState”)।
यह पाठ एक AI द्वारा तैयार किया गया था और पूरी तरह से रिलीज़ R25-11 के विनिर्देशों पर आधारित है।
Function to Request all S2R Satellite to enter suspend state.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 90177316c9e3उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
वर्ग ara::sm::s2r::S2RHub का फ़ंक्शन RequestToEnterSuspendMode सभी सक्रिय रूप से पंजीकृत सैटेलाइटों से सस्पेंड मोड में जाने का अनुरोध करता है [SWS_SM_81110]। State Management में निष्पादन आमतौर पर एक EnterSuspendToRam ActionListItem द्वारा ट्रिगर किया जाता है, जहाँ कॉन्फ़िगरेशन maxActionItemDuration को पैरामीटर timeout के मान के रूप में पास किया जाता है [SWS_SM_00689]।
उपयोग और सिमेंटिक्स: कॉल के बाद, हब सभी पंजीकृत S2R Satellite इंस्टेंसों को एक संदेश भेजता है, जो उनके कॉलबैक ara::sm::s2r::S2RSatellite::EnterSuspendMode को ट्रिगर करता है [SWS_SM_00701]। फ़ंक्शन मिलीसेकंड में पूर्णांक पैरामीटर timeout स्वीकार करता है (डिफ़ॉल्ट मान: 1000 ms) और एक ara::core::Future<void> लौटाता है [SWS_SM_81110]। ऑपरेशन सभी संबोधित सैटेलाइटों द्वारा उत्तर दिए जाने, उनके अपंजीकृत होने या टाइमआउट होने के तुरंत बाद वापस लौटता है [SWS_SM_00702]। StopOffer के माध्यम से अपंजीकरण को एक सफल प्रतिक्रिया माना जाता है [SWS_SM_00702]।
त्रुटि प्रबंधन: समग्र परिणाम सकारात्मक होता है यदि सभी सैटेलाइट सहमत होते हैं या अपंजीकृत हो जाते हैं [SWS_SM_00702]। यदि निचले स्तरों पर संचार विफल हो जाता है, तो रोलबैक सिमेंटिक्स के साथ त्रुटि SmErrc::kCommunicationFailed लौटाई जाती है [SWS_SM_00702][SWS_SM_81110]। यदि कम से कम एक सैटेलाइट समय पर उत्तर नहीं देता है, तो इसका परिणाम रोलबैक सिमेंटिक्स के साथ त्रुटि SmErrc::kCommunicationTimeout में होता है [SWS_SM_00702][SWS_SM_81110]। यदि कोई सैटेलाइट kRejected के साथ प्रतिक्रिया करता है, तो फ़ंक्शन बिना रोलबैक सिमेंटिक्स के SmErrc::kAtLeastOneRejected लौटाता है [SWS_SM_00702][SWS_SM_81110]।
संवर्तिता: विधि को noexcept के रूप में घोषित किया गया है और यह अपवाद-सुरक्षित (exception safe) है, लेकिन थ्रेड-सुरक्षित नहीं (not-threadsafe) है [SWS_SM_81110]।
यह उपयोग संबंधी निर्देश AUTOSAR R25-11 विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
ara::core::Future< void > RequestToLeaveSuspendMode (int timeout=1000) noexcept; DIRECTION NOT timeout -- DEFINED
Function to request all registered S2R Satellite to leave suspend state.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 374258ce3ad7उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
वर्ग ara::sm::s2r::S2RHub की विधि RequestToLeaveSuspendMode सस्पेंड-टू-RAM स्थिति के बाद अनुप्रयोगों के वेक-अप का समन्वय करती है। [SWS_SM_00703] के अनुसार, फ़ंक्शन LeaveSuspendMode को कॉल करने के लिए S2R Satellite के सभी सक्रिय रूप से पंजीकृत इंस्टेंसों को एक संदेश भेजता है। State Management में, जब ActionListItem LeaveSuspendToRam ट्रिगर होता है तो कॉल स्वचालित रूप से निष्पादित होती है ([SWS_SM_00691])।
पैरामीटर timeout (डिफ़ॉल्ट मान 1000) के माध्यम से, सैटेलाइटों की प्रतिक्रियाओं के लिए निगरानी अवधि निर्धारित की जाती है ([SWS_SM_81111])। फ़ंक्शन एक ara::core::Future<void> लौटाता है, जो सभी संबोधित सैटेलाइटों द्वारा उत्तर दिए जाने, उनके अपंजीकृत होने या उनके टाइमआउट हो जाने के तुरंत बाद उपलब्ध होता है ([SWS_SM_00707])। समग्र परिणाम सफल माना जाता है यदि सभी सैटेलाइट सकारात्मक रूप से पुष्टि करते हैं या StopOffer के माध्यम से नियमित रूप से अपंजीकृत होते हैं।
त्रुटि प्रबंधन
यदि निष्पादन के दौरान कोई त्रुटि होती है, तो Future SmErrc से संबंधित त्रुटि कोड प्रदान करता है ([SWS_SM_81111]):
SmErrc::kCommunicationTimeout: कम से कम एक सैटेलाइट ने टाइमआउट के भीतर समय पर उत्तर नहीं दिया ([SWS_SM_00707])।
SmErrc::kCommunicationFailed: निचले संचार स्तरों पर एक आंतरिक ट्रांसमिशन त्रुटि हुई है ([SWS_SM_00707])।
SmErrc::kAtLeastOneHadIssuesToLeave: कम से कम एक सैटेलाइट ने अनुरोध का नकारात्मक उत्तर kRejected के साथ दिया ([SWS_SM_00707])।
समवर्तीता और प्रतिबंध
इंटरफ़ेस को noexcept (exception safe) के रूप में निर्दिष्ट किया गया है, लेकिन इसे not-threadsafe के रूप में वर्गीकृत किया गया है ([SWS_SM_81111])। डिज़ाइन प्रतिबंध [SWS_SM_CONSTR_00035] के अनुसार, ट्रिगर करने वाले ActionListItem LeaveSuspendToRam को सस्पेंड स्थितियों को नहीं सौंपा जाना चाहिए, बल्कि यह विशेष रूप से नियंत्रक की उन स्थितियों के लिए अभिप्रेत है जो सस्पेंड-टू-RAM मोड के समापन को नियंत्रित करती हैं (SWS StateManagement §7.7 “ActionListItem”)।
यह उपयोग नोट AUTOSAR R25-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
InsufficientPer- Sent in case the caller had insufficient permissions for the missionsViolation requested operation. InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- The type of mapping does not match the expected type of Port pingViolation Interface: {portInterfaceTypeName} referenced by a {mappingType Name}. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process. AraNotInitialized- Violation message that is sent in case a constructor or function Violation checks for an initialized ara and identifies that ara is not initialized.
Parameter (in)
Parameter
Beschreibung
instance
instance specifier to the PPortPrototype of a SM...
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल