मॉड्यूल ara::exec — Execution Management
मॉड्यूल गाइडएआई जनित
प्रक्रियाओं के नियतात्मक (deterministic) जीवनचक्र का समन्वय करता है और AUTOSAR Adaptive Platform पर अवस्था परिवर्तनों को निष्पादित करता है।
प्रक्रियाओं के नियतात्मक (deterministic) जीवनचक्र का समन्वय करता है और AUTOSAR Adaptive Platform पर अवस्था परिवर्तनों को निष्पादित करता है।
मॉड्यूल Execution Management केंद्रीय प्लेटफ़ॉर्म डेमॉन के रूप में AUTOSAR Adaptive Platform (AUTOSAR AP SWS ExecutionManagement पृ. 18) पर POSIX प्रक्रियाओं के नियतात्मक जीवनचक्र का प्रबंधन करता है। यह ExecutionClient के माध्यम से निष्पादन अवस्थाओं को स्वीकार करता है ([SWS_EM_02003]) और प्रक्रियाओं को प्रारंभ व समाप्त करके State Management द्वारा सौंपे गए फ़ंक्शन समूह संक्रमणों (Function Group transitions) को एसिंक्रोनस रूप से लागू करता है ([SWS_EM_02278])। महत्वपूर्ण सीमांत शर्तें फ़ंक्शन समूहों के मध्य पार-निर्भरताओं (cross-function-group startup dependencies) का निषेध तथा समय-सीमा उल्लंघन की स्थिति में कठोर त्रुटि वृद्धि (error escalation) हैं (SWS ExecutionManagement पृ. 65)।
कार्यात्मक क्लस्टर Execution Management (EM) POSIX उपयोगकर्ता स्पेस में नियतात्मक प्रक्रिया प्रबंधन और जीवनचक्र नियंत्रण के लिए AUTOSAR Adaptive Platform का केंद्रीय प्लेटफ़ॉर्म डेमॉन बनाता है (AUTOSAR AP SWS ExecutionManagement पृ. 18)। यह नीतिगत निर्णय (Policy) और तकनीकी प्रवर्तन (Mechanism) के बीच कड़ाई से अंतर करता है: जबकि State Management लक्ष्य अवस्थाओं को निर्दिष्ट करता है, EM प्रक्रिया निर्माण, अनुक्रम और सिग्नल हैंडलिंग को नियंत्रित करता है (AUTOSAR AP EXP SWArchitecture पृ. 56)। [SWS_EM_02562] ExecutionClient के माध्यम से, एप्लिकेशन और प्लेटफ़ॉर्म सेवाएँ [SWS_EM_02003] ReportExecutionState() के ज़रिये अपनी अवस्था [SWS_EM_02000] kRunning की रिपोर्ट करती हैं, जबकि State Management [SWS_EM_02276] StateClient के माध्यम से अवस्था परिवर्तनों का अनुरोध करता है (AUTOSAR AP EXP SWArchitecture पृ. 48)।
संदर्भ आरेख: State Management, POSIX ऑपरेटिंग सिस्टम और क्लाइंट प्रक्रियाओं के बीच केंद्रीय डेमॉन के रूप में Execution Management का अंतःस्थापन। स्रोत: AUTOSAR AP EXP SWArchitecture पृ. 56, AUTOSAR AP SWS ExecutionManagement पृ. 18, [SWS_EM_02003], [SWS_EM_02278]।
ऑपरेटिंग सिस्टम द्वारा प्रारंभ किए जाने के बाद, EM State Management को आरंभ करता है और इसे [SWS_EM_02279] GetInitialMachineStateTransitionResult() के माध्यम से मशीन स्थिति Startup पर सिंक्रनाइज़ करता है (AUTOSAR AP SWS ExecutionManagement पृ. 52)। [SWS_EM_02586] FunctionGroup स्थितियों के परवर्ती संक्रमण [SWS_EM_02278] SetState() के साथ एसिंक्रोनस रूप से शुरू किए जाते हैं: EM अब अनावश्यक प्रक्रियाओं को SIGTERM के माध्यम से व्यवस्थित रूप से समाप्त करता है, स्थानीय स्टार्टअप निर्भरताओं को ध्यान में रखते हुए अनुवर्ती प्रक्रियाओं को प्रारंभ करता है, और सभी प्रक्रियाओं के संचालन के लिए तैयार होते ही परिणामी Future को रिज़ॉल्व करता है (AUTOSAR AP SWS ExecutionManagement पृ. 53, SWS ExecutionManagement पृ. 71)।
अनुक्रम आरेख: व्यवस्थित प्रक्रिया समाप्ति और प्रक्रिया पुनरारंभ के साथ एक फ़ंक्शन समूह का सफल अवस्था परिवर्तन। स्रोत: AUTOSAR AP SWS ExecutionManagement पृ. 53, AUTOSAR AP SWS StateManagement पृ. 26, [SWS_EM_02278], [SWS_EM_02003]।
रीयल-टाइम आवश्यकताओं को सुरक्षित करने के लिए, EM पेज-फ़ॉल्ट्स से बचने हेतु नियतात्मक प्रक्रिया प्री-मैपिंग (SWS ExecutionManagement पृ. 82) तथा नियतात्मक वर्कर पूल और सिंक्रोनाइज़ेशन तंत्रों का समर्थन करता है (SWS ExecutionManagement पृ. 86, SWS ExecutionManagement पृ. 92)। यदि कोई प्रक्रिया अपनी स्टार्टअप समय-सीमा का उल्लंघन करती है, तो त्रुटि प्रबंधन सक्रिय हो जाता है: EM प्रक्रिया को समाप्त करता है, फ़ंक्शन समूह को Undefined State में ले जाता है, पंजीकृत कॉलबैक को कॉल करता है ([SWS_EM_02276]), और [SWS_EM_02542] GetExecutionError() तथा मॉड्यूल त्रुटि डोमेन [SWS_EM_02281] ExecErrc के माध्यम से त्रुटि विवरण उपलब्ध कराता है (AUTOSAR AP SWS ExecutionManagement पृ. 54)।
सिस्टम सीमाएँ और Execution Management की कार्यात्मक भूमिका
मॉड्यूल exec (Execution Management, EM) POSIX-आधारित यूज़र स्पेस (AUTOSAR AP SWS ExecutionManagement पृ. 18) में नियतात्मक प्रक्रिया और जीवनचक्र प्रबंधन के लिए AUTOSAR Adaptive Platform की केंद्रीय प्लेटफ़ॉर्म सेवा बनाता है। वास्तुशिल्प की प्रमुख विशेषता नियंत्रण निर्णय (Policy) और तकनीकी प्रवर्तन (Mechanism) का कड़ा पृथक्करण है: जबकि कार्यात्मक क्लस्टर State Management उच्च-स्तरीय ऑपरेटिंग मोड और संक्रमण निर्णय लेता है, Execution Management प्रक्रिया आवंटन, स्टार्टअप अनुक्रम, निगरानी और समाप्ति के लिए निष्पादक निकाय के रूप में कार्य करता है (AUTOSAR AP EXP SWArchitecture पृ. 56)।
Execution Management दो पूरक भूमिकाओं के लिए मूल C++ रनटाइम इंटरफेस कार्यान्वित करता है: वर्ग [SWS_EM_02562] ara::exec::ExecutionClient के माध्यम से, एप्लिकेशन प्रक्रियाएं और प्लेटफ़ॉर्म-आंतरिक डेमॉन (जैसे Diagnostic Management, Platform Health Management या Communication Management) डेमॉन को अपनी निष्पादन अवस्था की रिपोर्ट करते हैं (AUTOSAR AP EXP SWArchitecture पृ. 48, AUTOSAR AP SWS CommunicationManagement पृ. 34)। इंटरफ़ेस [SWS_EM_02276] ara::exec::StateClient के माध्यम से, State Management फ़ंक्शन समूह और मशीन संक्रमणों का अनुरोध करने तथा स्थिति रिपोर्ट प्राप्त करने के लिए डेमॉन के साथ इंटरैक्ट करता है (AUTOSAR AP SWS ExecutionManagement पृ. 17)।
संदर्भ आरेख: State Management, POSIX ऑपरेटिंग सिस्टम और क्लाइंट प्रक्रियाओं के बीच केंद्रीय डेमॉन के रूप में Execution Management का अंतःस्थापन। स्रोत: AUTOSAR AP EXP SWArchitecture पृ. 56, AUTOSAR AP SWS ExecutionManagement पृ. 18, [SWS_EM_02003], [SWS_EM_02278]।
अवस्था वास्तुकला और बहुस्तरीय जीवनचक्र मॉडल
Execution Management में अवस्था प्रबंधन तीन परस्पर संबंधित पदानुक्रम स्तरों पर संचालित होता है: उच्च-स्तरीय Function Group स्थितियां (Function Group States), डेमॉन के दृष्टिकोण से बाहरी ऑपरेटिंग सिस्टम जीवनचक्र स्थितियां (Process States), और प्रक्रिया-आंतरिक स्थितियां (Execution States) (AUTOSAR EXP PlatformDesign पृ. 29, AUTOSAR AP SWS ExecutionManagement पृ. 62)। डेमॉन स्तर पर, एक कॉन्फ़िगर की गई प्रक्रिया आमतौर पर Idle, Starting, Running, Terminating और Terminated की श्रृंखला से होकर गुजरती है (AUTOSAR AP SWS StateManagement पृ. 32)।
प्रक्रिया-आंतरिक दृष्टिकोण के लिए, मॉड्यूल एन्यूमरेशन [SWS_EM_02000] ara::exec::ExecutionState को परिभाषित करता है। Execution Management को मानक रूप से रिपोर्ट करने योग्य स्थिति सदस्य फ़ंक्शन [SWS_EM_02003] ReportExecutionState() के माध्यम से kRunning है। Initializing जैसे प्रारंभिक चरण Execution Management के लिए अंतर्निहित स्थितियां हैं, जो उपयोगी कोड के निष्पादन से पहले POSIX प्रक्रिया के पहले शेड्यूलिंग के साथ तुरंत शुरू होती हैं ([SWS_EM_02000], AUTOSAR EXP AdaptivePlatformInterfacesGuidelines पृ. 11)। अनुप्रयोग संचालन और ऊर्जा मोड (PowerModes) ऑपरेटिंग सिस्टम अवस्थाएँ नहीं हैं, बल्कि तार्किक रूप से सक्रिय जीवनचक्र चरण Running से जुड़े हैं (AUTOSAR AP SWS StateManagement पृ. 32)।
अवस्था आरेख: Execution Management में जीवनचक्र चरणों और आंतरिक प्रक्रिया अवस्थाओं के साथ फ़ंक्शन समूह अवस्थाओं का सहसंबंध। स्रोत: AUTOSAR EXP PlatformDesign पृ. 29, AUTOSAR AP SWS ExecutionManagement पृ. 32, [SWS_EM_02000]।
नियतात्मक प्लेटफ़ॉर्म स्टार्टअप और प्रारंभीकरण
AUTOSAR Adaptive Platform का स्टार्टअप ऑपरेटिंग सिस्टम कर्नेल (AUTOSAR EXP SWArchitecture पृ. 148) से शुरू होकर एक कड़ाई से समन्वित अनुक्रम में होता है। ऑपरेटिंग सिस्टम Execution Management को उसके प्रोग्राम प्रविष्टि बिंदु main() (AUTOSAR AP SWS ExecutionManagement पृ. 52) के माध्यम से प्रारंभ करता है। स्व-प्रारंभीकरण के तुरंत बाद, Execution Management State Management की प्रक्रिया बनाता है (AUTOSAR AP SWS StateManagement पृ. 25)।
जैसे ही State Management प्रारंभ हो जाता है, यह ExecutionClient के ज़रिये [SWS_EM_02003] ReportExecutionState(ExecutionState::kRunning) के साथ अपनी परिचालन तत्परता की रिपोर्ट Execution Management को करता है (AUTOSAR AP SWS ExecutionManagement पृ. 52)। इसके बाद, State Management [SWS_EM_02279] GetInitialMachineStateTransitionResult() के माध्यम से स्थिति Startup में प्रारंभिक मशीन संक्रमण के पूरा होने पर सिंक्रनाइज़ होता है; यह विधि एक ara::core::Future<void> लौटाती है ([SWS_EM_02279], AUTOSAR EXP SWArchitecture पृ. 151)। केवल इस फ़्यूचर के सफल रिज़ॉल्यूशन के बाद ही State Management बाद की Function Group अवस्थाओं में परिवर्तन का अनुरोध करता है (AUTOSAR AP SWS StateManagement पृ. 24)।
अनुक्रम आरेख: ऑपरेटिंग सिस्टम दीक्षा से लेकर State Management के प्रारंभ और अनुवर्ती अवस्था की स्वीकृति तक प्लेटफ़ॉर्म स्टार्टअप। स्रोत: AUTOSAR AP SWS ExecutionManagement पृ. 52, AUTOSAR AP SWS StateManagement पृ. 25, [SWS_EM_02279], [SWS_EM_02003]।
फ़ंक्शन समूहों का नियंत्रण और एसिंक्रोनस अवस्था संक्रमण
अवस्था परिवर्तनों को कक्षाओं [SWS_EM_02586] ara::exec::FunctionGroup और [SWS_EM_02324] ara::exec::FunctionGroupState के प्रतिनिधियों के माध्यम से अनुप्रयोग स्तर पर तैयार किया जाता है। नियतात्मक संसाधन प्रबंधन सुनिश्चित करने के लिए, FunctionGroup प्रतिलिपि योग्य नहीं है ([SWS_EM_02322], [SWS_EM_02327]), बल्कि विशेष रूप से स्थानांतरित करने योग्य ([SWS_EM_02328], [SWS_EM_02329]) है और इंस्टेंस तुलनाओं के माध्यम से मूल्यांकन योग्य है ([SWS_EM_02267], [SWS_EM_02268])। FunctionGroupState एक Function Group को एक लक्षित अवस्था ([SWS_EM_02324]) से जोड़ता है और कॉपी और मूव सेमेंटिक्स दोनों का समर्थन करता है ([SWS_EM_02325], [SWS_EM_02330], [SWS_EM_02331], [SWS_EM_02332], [SWS_EM_02273], [SWS_EM_02274])।
State Management [SWS_EM_02278] StateClient::SetState() को कॉल करके संक्रमण शुरू करता है, जो सिंक्रोनस रूप से ara::core::Future<void> लौटाता है (AUTOSAR AP SWS StateManagement पृ. 31)। Execution Management इसके बाद संक्रमण श्रृंखला निष्पादित करता है: चल रही प्रक्रियाएँ जो लक्षित अवस्था में अब कॉन्फ़िगर नहीं हैं, उन्हें एक SIGTERM सिग्नल प्राप्त होता है (AUTOSAR AP SWS ExecutionManagement पृ. 53)। उनकी समाप्ति के बाद, EM लक्षित अवस्था के लिए अभीष्ट प्रक्रियाओं को प्रारंभ करता है और [SWS_EM_02003] ReportExecutionState() (AUTOSAR AP SWS StateManagement पृ. 26, AUTOSAR SWS ExecutionManagement पृ. 49) के माध्यम से उनकी स्थिति रिपोर्ट की प्रतीक्षा करता है। सभी शामिल प्रक्रियाओं के सफलतापूर्वक प्रारंभ होने के बाद ही SetState() का Future सकारात्मक रूप से हल होता है (AUTOSAR AP SWS ExecutionManagement पृ. 53)।
स्टार्टअप निर्भरताओं (Execution Dependencies) को कभी भी किसी एकल Function Group की सीमाओं के पार या भिन्न अवस्थाओं के पार परिभाषित नहीं किया जाना चाहिए (SWS ExecutionManagement पृ. 65)। अवस्था परिवर्तनों के दौरान, Execution Management अनुरोधित लक्षित अवस्था (RequestedState) की प्रक्रियाओं के लिए स्टार्टअप निर्भरताओं का समाधान कड़ाई से निष्पादित करता है (SWS ExecutionManagement पृ. 71)। यदि किसी प्रक्रिया का स्टार्टअप कॉन्फ़िगरेशन प्रारंभिक अवस्था और लक्षित अवस्था के बीच भिन्न होता है, तो Execution Management उसके पुनरारंभ को बाध्य करता है (SWS ExecutionManagement पृ. 65)।
अनुक्रम आरेख: व्यवस्थित प्रक्रिया समाप्ति और प्रक्रिया पुनरारंभ के साथ एक फ़ंक्शन समूह का सफल अवस्था परिवर्तन। स्रोत: AUTOSAR AP SWS ExecutionManagement पृ. 53, AUTOSAR AP SWS StateManagement पृ. 26, [SWS_EM_02278], [SWS_EM_02003]।
प्रक्रिया कॉन्फ़िगरेशन, मेमोरी आवंटन और प्री-मैपिंग
वास्तविक प्रणालियों में, मानक अनुप्रयोगों के अलावा एकीकृत स्थिति रिपोर्टिंग के बिना प्रक्रियाएं (Non-reporting Processes) भी मौजूद होती हैं। ऐसी प्रक्रियाएँ प्रारंभ होने के बाद स्वचालित रूप से निष्पादन स्थिति Running में परिवर्तित हो जाती हैं (SWS ExecutionManagement पृ. 44)। निर्भरता श्रृंखलाओं को फिर भी सुरक्षित करने के लिए, एक परियोजना-विशिष्ट साथी प्रक्रिया (Companion Process) को पहले जोड़ा जा सकता है, जो नॉन-रिपोर्टिंग प्रक्रिया की कार्यात्मक तत्परता का मूल्यांकन करती है और आश्रित अनुवर्ती प्रक्रियाओं के प्रारंभ होने से पहले प्रतिनिधि के रूप में [SWS_EM_02003] kRunning की रिपोर्ट करती है (SWS ExecutionManagement पृ. 44, SWS ExecutionManagement पृ. 48)।
संसाधन आवश्यकताओं के संबंध में, पैरामीटर resourceConsumption.memoryUsage स्वयं प्रक्रिया द्वारा आवंटित की जाने वाली मुख्य मेमोरी को सीमित करता है, जिसे POSIX सिस्टम पर आमतौर पर RLIMIT_AS के माध्यम से कार्यान्वित किया जाता है (SWS ExecutionManagement पृ. 82, SWS ExecutionManagement पृ. 104)। समयबद्ध नियतत्व और कार्यात्मक सुरक्षा सुनिश्चित करने के लिए, Execution Management प्री-मैपिंग (Pre-mapping) का समर्थन करता है: यदि मैनिफ़ेस्ट में Process.preMapping सक्रिय है, तो EM प्रक्रिया के कोड और डेटा क्षेत्रों को भौतिक मेमोरी में पूरी तरह से प्री-मैप करता है (SWS ExecutionManagement पृ. 82)। यह पहली बार एक्सेस करने पर मांग-आधारित लोडिंग (demand-loading) के कारण होने वाले विलंब को रोकता है, सुरक्षा-महत्वपूर्ण त्रुटि प्रबंधन रूटीनों की निरंतर उपलब्धता सुनिश्चित करता है, और क्षतिग्रस्त फ़ाइल सिस्टम के कारण होने वाली बाद की त्रुटियों से बचाता है (SWS ExecutionManagement पृ. 82)।
नियतात्मक निष्पादन समय और सिंक्रोनाइज़ेशन मॉडल
रीयल-टाइम महत्वपूर्ण अनुप्रयोगों के लिए, Execution Management नियतात्मक निष्पादन के लिए तंत्र प्रदान करता है (SWS ExecutionManagement पृ. 79)। चक्रीय प्रक्रियाएं एक प्रतीक्षा-बिंदु API के माध्यम से क्लाइंट के साथ इंटरैक्ट करती हैं, जो सर्विस डिस्कवरी, इनिशियलाइज़ेशन, निष्पादन और समाप्ति जैसे मोड को नियंत्रित करता है (SWS ExecutionManagement पृ. 79)। समानांतर डेटा प्रोसेसिंग को वर्कर पूल्स के माध्यम से सारगर्भित किया जाता है: डेटा नियतत्व सुनिश्चित करने के लिए, WorkerRunnable के समवर्ती इंस्टेंस के बीच डेटा विनिमय निषिद्ध है (SWS ExecutionManagement पृ. 86)।
एकाधिक निरर्थक या वितरित प्रक्रियाओं के समन्वय के लिए, DeterministicSyncMaster का उपयोग किया जाता है (SWS ExecutionManagement पृ. 92)। घटना-चालित सक्रियण में, एक कॉन्फ़िगर करने योग्य नीति (जैसे कि N में से M का बहुमत निर्णय) यह तय करती है कि सिंक्रोनाइज़ेशन प्रतिक्रियाएं कब भेजी जाएंगी (SWS ExecutionManagement पृ. 92)। आवधिक सक्रियण में, शुरुआत में एक बार सिंक्रोनाइज़ेशन होता है, जिसके बाद एक वैश्विक टाइमस्टैम्प बफ़र प्रारंभिक चक्र निर्धारित करता है और बाद के चक्र स्थानीय काउंटरों और समय सीमा निगरानी के माध्यम से स्वायत्त रूप से नियंत्रित होते हैं (SWS ExecutionManagement पृ. 92)। सिंक-मास्टर को या तो एक स्वतंत्र प्रक्रिया के रूप में प्रदान किया जा सकता है या सॉफ्टवेयर लॉकस्टेप फ्रेमवर्क के हिस्से के रूप में एक लाइब्रेरी के रूप में एकीकृत किया जा सकता है (SWS ExecutionManagement पृ. 94, SWS ExecutionManagement पृ. 95)।
त्रुटि की स्थिति में व्यवहार
त्रुटि की स्थिति में, वास्तुकला को सामान्य त्रुटि सहनशीलता योजना के अनुसार त्रुटि पहचान (Error Detection) और बाद में त्रुटि निवारण (Error Recovery) में विभाजित किया गया है (SWS ExecutionManagement पृ. 86, SWS ExecutionManagement पृ. 107)। यदि किसी Function Group स्थिति परिवर्तन के दौरान स्टार्टअप टाइमआउट होता है - उदाहरण के लिए क्योंकि प्रारंभ होने वाली प्रक्रिया पैरामीटराइज़्ड समय सीमा के भीतर [SWS_EM_02003] ReportExecutionState(kRunning) नहीं भेजती है - तो Execution Management नियमित प्रक्रिया को निरस्त कर देता है (AUTOSAR AP SWS ExecutionManagement पृ. 54)।
इस मामले में आंतरिक वृद्धि में संभवतः SIGKILL के माध्यम से त्रुटिपूर्ण प्रक्रिया की जबरन समाप्ति शामिल होगी; कॉन्फ़िगर किए गए पुनरारंभ प्रयासों के समाप्त होने के बाद, प्रभावित Function Group एक अनिर्धारित स्थिति (Undefined Function Group State) में चला जाता है (AUTOSAR AP SWS ExecutionManagement पृ. 54, [SWS_EM_02542])। प्रश्न Q-5a8b6ad2e9e22eb4 (खुला) एक अनिर्धारित स्थिति में प्रवेश करने पर, Execution Management StateClient के इंस्टेंस निर्माण के दौरान पारित कॉलबैक undefinedStateCallback को ट्रिगर करता है ([SWS_EM_02276], [SWS_EM_02561])। State Management तब [SWS_EM_02542] GetExecutionError() के माध्यम से संबंधित घटना ara::exec::ExecutionErrorEvent को पुनः प्राप्त कर सकता है, जो त्रुटिपूर्ण Function Group ([SWS_EM_02546]) और त्रुटि कोड [SWS_EM_02541] ExecutionError ([SWS_EM_02545]) प्रदान करता है ([SWS_EM_02542])। यदि Function Group फिर से एक परिभाषित स्थिति में आ जाता है, तो GetExecutionError() विफल हो जाता है ([SWS_EM_02542])।
अनुक्रम आरेख: एक अवस्था संक्रमण के दौरान किसी प्रक्रिया के स्टार्टअप टाइमआउट पर त्रुटि प्रबंधन। स्रोत: AUTOSAR AP SWS ExecutionManagement पृ. 54, [SWS_EM_02278], [SWS_EM_02276], [SWS_EM_02542]।
मानकीकृत त्रुटि प्रबंधन के लिए, मॉड्यूल में त्रुटि डोमेन [SWS_EM_02286] ara::exec::ExecErrorDomain है ([SWS_EM_02290] GetExecErrorDomain() के माध्यम से प्राप्त करने योग्य, [SWS_EM_02287] Name() के माध्यम से पहचान नाम, [SWS_EM_02288] Message() के माध्यम से पाठ संदेश)। विशिष्ट निष्पादन त्रुटियाँ एन्यूमरेशन कोड [SWS_EM_02281] ExecErrc (जैसे kNoCommunication) द्वारा दर्शायी जाती हैं और [SWS_EM_02291] MakeErrorCode() के माध्यम से निर्मित होती हैं। अपवाद हैंडलिंग सक्रिय होने पर, त्रुटियों को [SWS_EM_02289] ThrowAsException() के माध्यम से [SWS_EM_02283] ExecException के रूप में फेंका जा सकता है। इसके अलावा, डिस्ट्रक्टर [SWS_EM_02002] ~ExecutionClient() यह सुनिश्चित करता है कि SIGTERM के लिए पहले से अधिग्रहित हैंडलर अपने मूल मान पर रीसेट हो जाएं, जबकि प्रक्रिया निर्माण पर पारित निरस्तीकरण कॉलबैक समाप्ति संकेत प्राप्त होने पर प्रभावी होते हैं ([SWS_EM_02560], [SWS_EM_02562])। व्यापक पुनर्प्राप्ति क्रियाएं (रिकवरी क्रियाएं जैसे कि प्रक्रिया पुनरारंभ या आपातकालीन संचालन में संक्रमण) Platform Health Management के सहयोग से ऑर्केस्ट्रेट की जाती हैं (AUTOSAR SWS ExecutionManagement पृ. 54)।
आगे विस्तृत साक्ष्य
निम्नलिखित अवलोकन प्रासंगिक विनिर्देशन आवश्यकताओं और संदर्भ स्थलों को शामिल किए गए विषय क्षेत्रों से संबद्ध करता है:
| विषय क्षेत्र | महत्वपूर्ण संदर्भ | कार्यात्मक महत्व |
|---|---|---|
| प्रोसेस-स्टेट रिपोर्टिंग | [SWS_EM_02000], [SWS_EM_02003], [SWS_EM_02562] | ExecutionState, ExecutionClient का निर्माण और kRunning की रिपोर्टिंग को परिभाषित करता है। |
| फ़ंक्शन ग्रुप नियंत्रण | [SWS_EM_02278], [SWS_EM_02586], [SWS_EM_02324] | SetState() के माध्यम से अतुल्यकालिक (asynchronous) स्टेट ट्रांज़िशन, FunctionGroup और FunctionGroupState का इंस्टैंसिएशन। |
| प्लेटफ़ॉर्म स्टार्टअप | [SWS_EM_02279], AUTOSAR AP SWS ExecutionManagement S. 52 | State Management का प्रारंभिक मशीन स्थिति Startup पर सिंक्रोनाइज़ेशन। |
| त्रुटि प्रबंधन & कॉलबैक्स | [SWS_EM_02276], [SWS_EM_02542], [SWS_EM_02281] | undefinedStateCallback का पंजीकरण, ExecutionErrorEvent की क्वेरी, त्रुटि डोमेन ExecErrc। |
| मेमोरी डिटर्मिनिज़्म | SWS ExecutionManagement S. 82 | डिमांड-लोडिंग के कारण होने वाली विलंबता से बचने के लिए प्रक्रियाओं की पूर्ण प्री-मैपिंग। |
यह मॉड्यूल गाइड AUTOSAR Adaptive Platform Release R25-11 के विनिर्देशन डेटा के आधार पर स्वचालित रूप से जनरेट किया गया था।
function: 42 class: 6 enumeration: 2 variable: 2 type alias: 1 struct: 1
विषय मानचित्र
इस रिलीज़ के लिए कोई तत्व डेटा उपलब्ध नहीं
ara::exec
Defines a class representing the Execution Management error domain.
से इनहेरिट करता है ara::core::ErrorDomain
Defines a class for exceptions to be thrown by the Execution Management.
से इनहेरिट करता है ara::core::Exception
The ara::exec::ExecutionClient API provides the functionality for a Process to report its Execution State to the Execution Management.
Represents an execution error event which happens in a Function Group.
Class representing Function Group defined in meta-model (ARXML)
Class representing Function Group State defined in meta-model (ARXML)
ara::exec::StateClient is an interface of Execution Management that is used by State Management to request transitions between Function Grou
Returns a reference to the global ExecErrorDomain object.
const ara::core::ErrorDomain & GetExecErrorDomain () noexcept;Creates an instance of ErrorCode.
ara::core::ErrorCode MakeErrorCode (ara::exec::ExecErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;Defines an enumeration class for the Execution Management error codes.
enum class ExecErrc : ara::core::ErrorDomain::CodeType {...};Defines the internal states of a Process. Scoped enumeration of uint32_t. Please note that ara::exec::ExecutionState includes only states reportable by the Process to Execution Management and therefore does not include enumerations e.g. the "Initializing" state mentioned in Figure 7.2 and Figure 7.12, which are an implied states for Execution Management. The Initializing state starts when Process is first scheduled (so no code executed yet) and ends when kRunning is reported ([SWS_EM_01004]). The Terminating state starts when termination is requested by Execution Management and ends when the Process terminates ([SWS_EM_01404]). For the reasons mentioned, Execution Management assumes that Process is in initializing state until kRunning will be reported by it.
enum class ExecutionState : std::uint32_t {...};Represents the execution error.
using ExecutionError = std::uint32_t;नेमस्पेस
- ara::exec 7 Klassen, 2 freie Funktionen
मॉड्यूल का UML क्लास आरेख
Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल