मॉड्यूल ara::phm — Platform Health Management
मॉड्यूल गाइडएआई जनित
समयबद्ध और तार्किक प्रोग्राम निष्पादन की निगरानी करता है तथा त्रुटियों की स्थिति में समन्वित सुरक्षा प्रतिक्रियाओं को सक्रिय करता है।
समयबद्ध और तार्किक प्रोग्राम निष्पादन की निगरानी करता है तथा त्रुटियों की स्थिति में समन्वित सुरक्षा प्रतिक्रियाओं को सक्रिय करता है।
Platform Health Management एक केंद्रीय डीमन के रूप में AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15 के अनुसार अनुप्रयोगों और प्लेटफ़ॉर्म सेवाओं की कार्यात्मक सुरक्षा एवं रनटाइम अखंडता की निगरानी करता है। निगरानी की जाने वाली इकाइयाँ अपने चेकपॉइंट्स की रिपोर्ट चक्रीय रूप से या घटना-संचालित तरीके से सिस्टम को करती हैं, जो डेडलाइन्स, अलाइव साइकिल्स और तार्किक नियंत्रण प्रवाहों का मूल्यांकन करता है। पहचानी गई त्रुटियों की स्थिति में, यह मॉड्यूल [SWS_PHM_01142] के माध्यम से लक्षित पुनर्प्राप्ति क्रियाएँ शुरू करने के लिए State Management को सूचित करता है। यदि पुनर्प्राप्ति नहीं होती है या केंद्रीय इंस्टेंस विफल हो जाते हैं, तो एक वॉचडॉग ट्रिगर सुरक्षित मशीन स्थिति को बाध्य करता है।
Platform Health Management (PHM) ISO 26262 AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15 के अनुसार कार्यात्मक सुरक्षा और सॉफ़्टवेयर अखंडता सुनिश्चित करने के लिए AUTOSAR Adaptive Platform की केंद्रीय पृष्ठभूमि सेवा बनाता है। यह नियतात्मक चेकपॉइंट संदेशों के माध्यम से एप्लिकेशन और प्लेटफ़ॉर्म दोनों प्रक्रियाओं की निगरानी करता है और चक्रीय वॉचडॉग ट्रिगर्स AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 46 के माध्यम से हार्डवेयर को सुरक्षित करता है।
संदर्भ आरेख: निगरानी किए गए एप्लिकेशन, State Management, Execution Management, वॉचडॉग और IdsM के साथ मिलकर PHM डीमन का वास्तुशिल्प समावेश। स्रोत: AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 46, AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15, AUTOSAR_AP_EXP_SWArchitecture पृ. 131।
कार्यात्मक निगरानी ara::phm::SupervisedEntity इंटरफ़ेस पर आधारित है, जिसके माध्यम से प्रक्रियाएँ ReportCheckpoint() ([SWS_PHM_01123], [SWS_PHM_01127]) के ज़रिए चेकपॉइंट्स की रिपोर्ट करती हैं। PHM सत्यापन को तीन प्रकार की निगरानी [SWS_PHM_01138] में विभाजित करता है:
- चक्रीय आवृत्ति नियंत्रण के लिए Alive Supervision AUTOSAR_FO_ASWS_HealthMonitoring पृ. 22,
- अधिकतम निष्पादन समय सीमाओं की निगरानी के लिए Deadline Supervision AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15,
- परिभाषित नियंत्रण प्रवाह ग्राफ़ के अनुपालन के लिए Logical Supervision AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15।
GlobalSupervisionStatus में संकलित किए जाते हैं ([SWS_PHM_01137], SWS_PlatformHealthManagement पृ. 39)।
पहचाने गए उल्लंघनों के मामले में, PHM त्रुटि निवारण को इंटरफ़ेस RecoveryAction के RecoveryHandler() के माध्यम से State Management को सौंप देता है, जब वह Offer() ([SWS_PHM_01142], [SWS_PHM_01143]) के ज़रिए अपनी सेवा तत्परता की रिपोर्ट कर देता है। यदि State Management त्रुटि को ठीक नहीं कर पाता है या केंद्रीय डीमन स्वयं विफल हो जाते हैं, तो सुरक्षा एस्केलेशन प्रभावी हो जाता है: PHM FireWatchdogReaction() के साथ मूल WatchdogInterface के माध्यम से तत्काल हार्डवेयर रीसेट को ट्रिगर करता है ([SWS_PHM_01256], AUTOSAR_AP_EXP_SWArchitecture पृ. 220)।
अनुक्रम आरेख: त्रुटि की स्थिति में वॉचडॉग ट्रिगरिंग की शाखा के साथ RecoveryHandler के माध्यम से State Management को त्रुटि एस्केलेशन। स्रोत: [SWS_PHM_01142], [SWS_PHM_01256], AUTOSAR_AP_EXP_SWArchitecture पृ. 234, AUTOSAR_AP_EXP_SWArchitecture पृ. 220, AUTOSAR_AP_EXP_SWArchitecture पृ. 220।
सिस्टम सीमाएँ और Health Management का कार्यात्मक समावेश
Platform Health Management (PHM) AUTOSAR Adaptive Platform के भीतर ISO 26262 AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15 के अनुसार निष्पादन अखंडता, सेवा उपलब्धता और कार्यात्मक सुरक्षा की निगरानी के लिए केंद्रीय कार्यात्मक इंस्टेंस बनाता है। एक स्वतंत्र पृष्ठभूमि सेवा (daemon-based) के रूप में, यह मॉड्यूल सुरक्षा-प्रासंगिक प्रक्रियाओं AUTOSAR_AP_EXP_SWArchitecture पृ. 128 में लौकिक और तार्किक नियंत्रण प्रवाहों के नियतात्मक सत्यापन को लागू करता है। सिस्टम सीमाओं में तीन प्रमुख इंटरैक्शन अक्ष शामिल हैं: निगरानी की गई सॉफ़्टवेयर इकाइयों से चेकपॉइंट रिपोर्ट की प्राप्ति, State Management को त्रुटि एस्केलेशन, और हार्डवेयर-स्तरीय वॉचडॉग AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 46 को चक्रीय जीवन-संकेत संदेश ट्रिगर करना।
निगरानी के कर्तव्य केवल नियमित उपयोगकर्ता अनुप्रयोगों (Adaptive Applications) तक ही सीमित नहीं हैं। बल्कि, Execution Management, State Management, Diagnostic Manager और समय सिंक्रनाइज़ेशन जैसी मूलभूत प्लेटफ़ॉर्म सेवाएँ भी PHM द्वारा निगरानी के अधीन हैं, क्योंकि वे स्वयं निगरानी की गई इकाइयों के रूप में कार्य करती हैं और Health Management AUTOSAR_AP_EXP_SWArchitecture पृ. 130 को चेकपॉइंट्स प्रेषित करती हैं। आंतरिक सहायक कार्यों के लिए, PHM डीमन Execution Management के इंटरफ़ेस (प्रक्रिया स्थिति रिपोर्टिंग के लिए ExecutionClient) और लॉगिंग सबसिस्टम (Log and Trace से Logger) AUTOSAR_AP_EXP_SWArchitecture पृ. 131 पर निर्भर करता है।
संदर्भ आरेख: निगरानी किए गए एप्लिकेशन, State Management, Execution Management, वॉचडॉग और IdsM के साथ मिलकर PHM डीमन का वास्तुशिल्प समावेश। स्रोत: AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 46, AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15, AUTOSAR_AP_EXP_SWArchitecture पृ. 131।
निगरानी की गई इकाइयों का इंस्ट्रूमेंटेशन और जीवन चक्र
एक प्रक्रिया के भीतर एक तार्किक निगरानी इकाई को इंटरफ़ेस ara::phm::SupervisedEntity [SWS_PHM_01123] द्वारा दर्शाया जाता है। इंस्टेंसिएशन स्पष्ट रूप से ara::core::InstanceSpecifier प्रकार के एक टाइप किए गए पहचानकर्ता को निर्दिष्ट करके किया जाता है, जो सिस्टम मेनिफेस्ट AUTOSAR_TPS_ManifestSpecification पृ. 141 में कॉन्फ़िगर किए गए पोर्ट पाथ को संदर्भित करता है। इंस्टेंस अखंडता की रक्षा के लिए, कॉपी कंस्ट्रक्टर और कॉपी असाइनमेंट ऑपरेटर हटा दिए गए हैं ([SWS_PHM_01212], [SWS_PHM_01213]); हालाँकि, इंस्टेंसेस को स्थानांतरित (move) किया जा सकता है ([SWS_PHM_01214], [SWS_PHM_01215])। निष्कासन के समय, डिस्ट्रक्टर इकाई को साफ़ करता है [SWS_PHM_01211]।
इंस्ट्रूमेंटेड सॉफ़्टवेयर सिंक्रोनस कॉल ReportCheckpoint() [SWS_PHM_01127] के माध्यम से निर्धारित प्रोग्राम बिंदुओं तक पहुँचने की रिपोर्ट करता है। इंटरफ़ेस हेडर ([SWS_PHM_00424], [SWS_PHM_00425]) से उत्पन्न एक टाइप की गई चेकपॉइंट गणना (enumeration) पैरामीटर के रूप में कार्य करती है। PHM डीमन प्रत्येक संदेश के साथ प्रक्रिया प्राधिकरण की पुष्टि करता है; यदि मेनिफेस्ट में मॉडल नहीं की गई कोई प्रक्रिया इस विधि को कॉल करती है, तो एक एक्सेस उल्लंघन की पहचान की जाती है [SWS_PHM_01127]। सुरक्षा-महत्वपूर्ण विसंगतियों के मामले में, PHM एक्सेस त्रुटि को Intrusion Detection System Manager (IdsM) को अग्रेषित कर सकता है AUTOSAR_AP_EXP_SWArchitecture पृ. 236।
किसी इकाई की निगरानी को रनटाइम पर स्थिति-निर्भर तरीके से नियंत्रित किया जा सकता है: Enable() के माध्यम से निगरानी सक्रिय की जाती है, बशर्ते संबद्ध फ़ंक्शन समूह की वर्तमान स्थिति इसकी अनुमति देती हो [SWS_PHM_01130]। Disable() के साथ निगरानी को फिर से निलंबित किया जा सकता है [SWS_PHM_01380]। दोनों विधियाँ एक ara::core::Future<void> लौटाती हैं और अतुल्यकालिक प्रावधान त्रुटियों का संकेत देती हैं, उदाहरण के लिए PhmErrc::kServiceNotReady [SWS_PHM_01130]।
अनुक्रम आरेख: IdsM द्वारा अधिकार जाँच और सुरक्षा निगरानी के साथ SupervisedEntity के माध्यम से चेकपॉइंट रिपोर्टिंग का प्रवाह। स्रोत: [SWS_PHM_01127], AUTOSAR_AP_EXP_SWArchitecture पृ. 236।
निगरानी के प्रकार और बहुस्तरीय स्थिति समूहन
Platform Health Management तीन प्राथमिक प्राथमिक निगरानी प्रकारों ([SWS_PHM_01138], AUTOSAR_AP_EXP_SWArchitecture पृ. 128) के बीच अंतर करता है:
- Alive Supervision (
kAliveSupervision): जाँच करता है कि क्या चक्रीय प्रोग्राम भाग परिभाषित समय सीमाओं के भीतर चेकपॉइंट संदेशों की एक कॉन्फ़िगर की गई न्यूनतम और अधिकतम संख्या भेजते हैं AUTOSAR_FO_ASWS_HealthMonitoring पृ. 22। - Deadline Supervision (
kDeadlineSupervision): कॉन्फ़िगर की गई न्यूनतम और अधिकतम समय सीमाओं के अनुपालन के लिए दो चेकपॉइंट्स के बीच निष्पादन अवधि की निगरानी करता है AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15। - Logical Supervision (
kLogicalSupervision): अमान्य छलांगों या नियंत्रण प्रवाह शाखाओं की पहचान करने के लिए एक प्रतिरूपित संक्रमण ग्राफ़ के आधार पर निष्पादन क्रम को मान्य करता है AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 15।
प्रत्येक व्यक्तिगत निगरानी की अपनी प्राथमिक स्थिति (ElementarySupervisionStatus) [SWS_PHM_01358] के लिए अपनी स्वयं की स्टेट मशीन होती है। जब PHM शुरू होता है, तो सभी प्राथमिक स्टेट मशीनों को kDEACTIVATED स्थिति में इनिशियलाइज़ किया जाता है और त्रुटि काउंटरों को शून्य पर सेट किया जाता है SWS_PlatformHealthManagement पृ. 31। सक्रियण के बाद, निगरानी kOK में बदल जाती है, जब तक कि सभी परीक्षण मानदंड पूरे होते हैं। यदि कोई उल्लंघन होता है, तो स्थिति kFailed [SWS_PHM_01358] में बदल जाती है।
स्थिति आरेख: kDEACTIVATED से kOK होते हुए kFailed तक प्राथमिक निगरानी (ElementarySupervisionStatus) के स्थिति संक्रमण। स्रोत: [SWS_PHM_01358], SWS_PlatformHealthManagement पृ. 31।
कई प्राथमिक नगरानियों को एक उच्च-स्तरीय वैश्विक निगरानी SWS_PlatformHealthManagement पृ. 24 में संयोजित किया जाता है। विनिर्देश के अनुसार, प्रति कॉन्फ़िगर किए गए Global Supervision के लिए ठीक एक GlobalSupervisionStatus मौजूद होता है, जो सख्ती से एक एकल फ़ंक्शन समूह (Function Group) से बंधा होता है और कई फ़ंक्शन समूहों ([SWS_PHM_01137], SWS_PlatformHealthManagement पृ. 39) में विस्तारित नहीं हो सकता है। वैश्विक स्थिति kDEACTIVATED, kOK, kFAILED, kEXPIRED और kSTOPPED AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 39 स्थितियों में परिणामों को एकत्रित करती है। स्थिति kOK के लिए आवश्यक है कि कम से कम एक संबंधित निगरानी त्रुटिरहित काम करे और कोई भी त्रुटि स्थिति [SWS_PHM_01137] में न रहे।
स्थिति आरेख: kDEACTIVATED, kOK, kFAILED, kEXPIRED और kSTOPPED के साथ वैश्विक निगरानी स्थिति (GlobalSupervisionStatus) का स्थिति मॉडल। स्रोत: [SWS_PHM_01137], AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 39, SWS_PlatformHealthManagement पृ. 39।
चक्रीय वॉचडॉग सर्विसिंग और हार्डवेयर सुरक्षा
हैंग या गंभीर सिस्टम क्रैश के विरुद्ध संपूर्ण कंप्यूटिंग इकाई की निष्पादन क्षमता को सुरक्षित करने के लिए, PHM इंटरफ़ेस apext::phm::WatchdogInterface [SWS_PHM_01255] के माध्यम से हार्डवेयर-स्तरीय वॉचडॉग सबसिस्टम को जोड़ता है। यह मूल प्लेटफ़ॉर्म एक्सटेंशन (Platform Extension) सर्विस मिडलवेयर के माध्यम से कार्यान्वित नहीं किया जाता है, बल्कि एक नियतात्मक मूल ड्राइवर कॉल AUTOSAR_AP_EXP_SWArchitecture पृ. 130 के रूप में निष्पादित किया जाता है।
एक कॉन्फ़िगर करने योग्य चक्र में, PHM आंतरिक रूप से सभी सक्रिय निगरानी मेट्रिक्स की जाँच करता है और समग्र स्थिति सकारात्मक होने पर AliveNotification() ([SWS_PHM_01255], AUTOSAR_AP_EXP_SWArchitecture पृ. 233) के माध्यम से वॉचडॉग को एक जीवन-संकेत संदेश भेजता है। यदि यह संदेश कॉन्फ़िगर की गई समय सीमा के भीतर विफल रहता है — उदाहरण के लिए क्योंकि PHM डीमन अवरुद्ध है या एक महत्वपूर्ण निगरानी विफल हो जाती है —, तो वॉचडॉग इंटरफ़ेस स्वतंत्र रूप से एक हार्डवेयर सुरक्षा प्रतिक्रिया [SWS_PHM_01255] शुरू करता है।
अनुक्रम आरेख: निगरानी परिणामों का आवधिक मूल्यांकन और वॉचडॉग इंटरफ़ेस को Alive सिग्नलिंग। स्रोत: [SWS_PHM_01255], AUTOSAR_AP_EXP_SWArchitecture पृ. 233, AUTOSAR_AP_EXP_SWArchitecture पृ. 130।
State Management के साथ पुनर्प्राप्ति क्रियाओं का समन्वय
यदि PHM निगरानी शर्तों के उल्लंघन का पता लगाता है, तो वह त्रुटि निवारण को स्वतंत्र रूप से शुरू नहीं करता है, बल्कि केंद्रीय नियामक प्राधिकरण (AUTOSAR_AP_EXP_SWArchitecture पृ. 129, AUTOSAR_AP_EXP_SWArchitecture पृ. 220) के रूप में इस उपाय को State Management को सौंपता है। यह डिकूपलिंग इस वास्तुशिल्प सिद्धांत को बनाए रखती है कि कार्यात्मक सिस्टम स्थितियों और प्रक्रिया पुनरारंभ पर निर्णय State Management AUTOSAR_AP_SWS_StateManagement पृ. 28 के पास ही रहते हैं।
State Management पोर्ट इंटरफ़ेस ara::phm::RecoveryAction [SWS_PHM_01141] के माध्यम से त्रुटि प्रबंधन के लिए अपनी तत्परता दर्ज करता है। Offer() को कॉल करके, त्रुटि संदेशों का स्वागत सक्रिय हो जाता है [SWS_PHM_01143]; StopOffer() के साथ State Management सेवा तत्परता को फिर से निष्क्रिय कर सकता है [SWS_PHM_01144]। व्युत्पन्न वर्गों के पूर्ण निर्माण से पहले समय से पहले कॉलबैक कॉल के कारण होने वाली घातक रेस स्थितियों और अनिर्धारित व्यवहार को रोकने के लिए, RecoveryAction के लिए कॉपी और मूव संचालन स्पष्ट रूप से प्रतिबंधित हैं ([SWS_PHM_01149], [SWS_PHM_01150], [SWS_PHM_01151], [SWS_PHM_01152])।
त्रुटि की स्थिति में, PHM State Management के शुद्ध वर्चुअल कॉलबैक फ़ंक्शन RecoveryHandler() को कॉल करता है और त्रुटि घटना ara::exec::ExecutionErrorEvent के साथ-साथ उल्लंघन की गई निगरानी के प्रकार TypeOfSupervision [SWS_PHM_01142] को पास करता है। State Management तब फ़ंक्शन समूह की आगामी स्थिति निर्धारित करता है और प्रभावित प्रक्रियाओं (AUTOSAR_AP_EXP_SWArchitecture पृ. 169, AUTOSAR_AP_EXP_SWArchitecture पृ. 220) की स्थिति बदलने या उन्हें पुनरारंभ करने के लिए Execution Management को निर्देश देता है।
अनुक्रम आरेख: त्रुटि की स्थिति में वॉचडॉग ट्रिगरिंग की शाखा के साथ RecoveryHandler के माध्यम से State Management को त्रुटि एस्केलेशन। स्रोत: [SWS_PHM_01142], [SWS_PHM_01256], AUTOSAR_AP_EXP_SWArchitecture पृ. 234, AUTOSAR_AP_EXP_SWArchitecture पृ. 220, AUTOSAR_AP_EXP_SWArchitecture पृ. 220।
त्रुटि की स्थिति में व्यवहार और बहुस्तरीय एस्केलेशन पथ
Platform Health Management रनटाइम त्रुटियों को नियंत्रित करने के लिए एक श्रेणीबद्ध एस्केलेशन रणनीति लागू करता है AUTOSAR_AP_EXP_SWArchitecture पृ. 200। यदि कोई निगरानी त्रुटि होती है, तो सबसे पहले प्राथमिक पथ अपनाया जाता है: निगरानी त्रुटि की रिपोर्ट State Management को करती है, जो RecoveryHandler() के माध्यम से एक नियंत्रित पुनर्गठन करता है [SWS_PHM_01142]।
यदि State Management पुनर्प्राप्ति निष्पादित नहीं कर पाता है (उदाहरण के लिए त्रुटि कोड PhmErrc::kSMCanNotHandleRecovery के साथ स्वीकार किया गया) या प्रतिक्रिया टाइमआउट में चली जाती है, तो माध्यमिक एस्केलेशन पथ प्रभावी होता है ([SWS_PHM_01240], AUTOSAR_AP_EXP_SWArchitecture पृ. 220)। इस मामले में, PHM सॉफ़्टवेयर स्तर को बायपास करता है और FireWatchdogReaction() ([SWS_PHM_01256], AUTOSAR_AP_EXP_SWArchitecture पृ. 201) के माध्यम से तत्काल हार्डवेयर-स्तरीय आपातकालीन प्रतिक्रिया (सिस्टम रीसेट या सुरक्षित स्थिति में संक्रमण) को बाध्य करता है।
केंद्रीय प्लेटफ़ॉर्म डीमन्स की अपनी विफलता विशेष रूप से महत्वपूर्ण है: यदि Execution Management या State Management विफल हो जाते हैं, तो ऑपरेटिंग सिस्टम स्तर पर एक समन्वित पुनर्प्राप्ति अब संभव नहीं है (AUTOSAR_AP_EXP_SWArchitecture पृ. 235, AUTOSAR_AP_EXP_SWArchitecture पृ. 235)। PHM इन डीमन्स के दोषपूर्ण या अनुपस्थित चेकपॉइंट्स के माध्यम से इस स्थिति का पता लगाता है और बिना किसी देरी के वॉचडॉग प्रतिक्रिया [SWS_PHM_01256] को ट्रिगर करता है।
C++-API में सभी त्रुटि स्थितियों को त्रुटि डोमेन ara::phm::PhmErrorDomain ([SWS_PHM_01247], [SWS_PHM_01251]) के माध्यम से टाइप किया जाता है। त्रुटि कोड Enum PhmErrc ([SWS_PHM_01240], [SWS_PHM_01245]) में संक्षेपित हैं। सिंक्रोनस इंटरफ़ेस और अपवादों के लिए, MakeErrorCode() [SWS_PHM_01244] जैसे सहायक फ़ंक्शन और अपवाद प्रकार PhmException उपलब्ध हैं ([SWS_PHM_01243], [SWS_PHM_01250])।
मेनिफेस्ट मॉडलिंग, ID सिंक्रनाइज़ेशन और इंस्टेंसिएशन
एप्लिकेशन कोड और PHM डीमन के बीच सही लिंकिंग AUTOSAR मेनिफेस्ट AUTOSAR_AP_TPS_ManifestSpecification पृ. 566 में सख्त ID सिंक्रनाइज़ेशन पर आधारित है। एप्लिकेशन डिज़ाइन में, इकाई को AUTOSAR_AP_TPS_ManifestSpecification पृ. 208 एकत्रित PhmCheckpoint तत्वों के साथ PhmSupervisedEntityInterface के रूप में मॉडल किया गया है। मशीन स्तर पर डिप्लॉयमेंट के लिए, प्रत्येक प्रक्रिया इंस्टेंस के लिए एक SupervisionCheckpoint उत्पन्न होता है, जो पोर्ट और निष्पादन संदर्भ (Process) TPS_ManifestSpecification पृ. 568 के इंस्टेंस संदर्भ को हल करता है।
यदि एक ही सॉफ़्टवेयर घटक प्रकार को कई बार इंस्टेंसिएट किया जाता है — चाहे उसी प्रक्रिया के भीतर या कई प्रक्रियाओं में —, तो मेनिफेस्ट कॉन्फ़िगरेशन प्रत्येक पोर्ट के लिए एक विशिष्ट InstanceSpecifier AUTOSAR_AP_SWS_PlatformHealthManagement पृ. 51 उत्पन्न करता है। यह PHM डीमन को स्रोत कोड से समान चेकपॉइंट ID को संबंधित घटक इंस्टेंस और प्रक्रिया पहचान के लिए विशिष्ट रूप से निर्दिष्ट करने की अनुमति देता है AUTOSAR_AP_TPS_ManifestSpecification पृ. 566। व्याख्या: एप्लिकेशन यूज़र स्पेस और PHM डीमन के बीच इंटर-प्रोसेस संचार ऑपरेटिंग-सिस्टम-विशिष्ट रूप से अनुकूलित होने की संभावना है (जैसे साझा मेमोरी या POSIX डोमेन सॉकेट्स के माध्यम से), क्योंकि C++ क्लास SupervisedEntity पारदर्शी रूप से परिवहन विवरणों को समाहित करती है [SWS_PHM_01123]।
त्रुटि प्रबंधन के संबंध में, मेनिफेस्ट RecoveryNotification तत्वों को मॉडल करता है, जो State Management के एक PPortPrototype को सौंपे जाते हैं AUTOSAR_AP_TPS_ManifestSpecification पृ. 587। यहाँ एक टाइमआउट मान (recoveryNotificationTimeout) भी परिभाषित किया गया है, जिसकी समाप्ति के बाद त्रुटि प्रबंधन को विफल माना जाता है AUTOSAR_AP_TPS_ManifestSpecification पृ. 587।
आगे विस्तृत साक्ष्य
रिलीज़ R25-11 में Platform Health Management का बाध्यकारी मानक डिज़ाइन विशेष रूप से निम्नलिखित विनिर्देशन एंकरों पर आधारित है:
- निगरानी के मुख्य घटक: [SWS_PHM_01123] और [SWS_PHM_01127] C++ क्लास
SupervisedEntityतथा रिपोर्टिंग तंत्रReportCheckpoint()को परिभाषित करते हैं; [SWS_PHM_01130] और [SWS_PHM_01380] सक्रियण व निष्क्रियण को नियंत्रित करते हैं। - स्टेट मॉडल: [SWS_PHM_01358] मौलिक अवस्थाओं (
kDEACTIVATED,kOK,kFailed) को निर्दिष्ट करता है; [SWS_PHM_01137] प्रति फ़ंक्शन समूह SWS_PlatformHealthManagement पृ. 39 वैश्विक स्थिति एकत्रीकरण को स्थापित करता है। - पुनर्प्राप्ति और एस्केलेशन: [SWS_PHM_01141], [SWS_PHM_01142] और [SWS_PHM_01143] State Management में
RecoveryHandler()के प्रावधान और निष्पादन को नियंत्रित करते हैं; [SWS_PHM_01256] हार्डवेयर वॉचडॉग के माध्यम से आपातकालीन एस्केलेशन को सुरक्षित करता है। - एरर डोमेन और अपवाद: [SWS_PHM_01240] त्रुटि कोड्स (
PhmErrc) प्रस्तुत करता है, जिन्हेंPhmErrorDomain([SWS_PHM_01247], [SWS_PHM_01251]) औरPhmException[SWS_PHM_01243] के माध्यम से प्रेषित किया जाता है।
यह मॉड्यूल गाइड AUTOSAR Adaptive रिलीज़ R25-11 के प्रामाणिक विनिर्देशों और सिस्टम आर्किटेक्चर संबंधी आवश्यकताओं पर आधारित है।
function: 27 class: 5 enumeration: 5 type alias: 2 header file: 1 variable: 1
ara::phm::supervised_entities::{ <hierarchical-namespace-list-lower-skeleton>}
<SE><Checkpoint>विषय मानचित्र
इस रिलीज़ के लिए कोई तत्व डेटा उपलब्ध नहीं
apext::phm
class for interface to hardware watchdog Note: class WatchdogInterface although identifiable in code as an interface, it is a PlatformExtens
ara::phm
Defines the error domain for Platform Health Management.
से इनहेरिट करता है ara::core::ErrorDomain
Exception type thrown by Platform Health Management.
से इनहेरिट करता है ara::core::Exception
RecoveryAction abstract class.
SupervisedEntity Class.
Returns the global PhmErrorDomain object.
constexpr const ara::core::ErrorDomain & GetPhmDomain () noexcept;Creates an error code.
constexpr ara::core::ErrorCode MakeErrorCode (PhmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;Enumeration of elementary supervision status. Scoped Enumeration of uint32_t.
enum class ElementarySupervisionStatus : std::uint32_t {...};Enumeration of global supervision status. Scoped Enumeration of uint32_t.
enum class GlobalSupervisionStatus : std::uint32_t {...};Defines an enumeration class for the Platform Health Management error codes.
enum class PhmErrc : ara::core::ErrorDomain::CodeType {...};Enumeration of type of supervision. Scoped Enumeration of uint32_t.
enum class TypeOfSupervision : std::uint32_t {...};ara::phm::supervised_entities::{ <hierarchical-namespace-list-lower-skeleton>}
Defines the checkpoints for the ara::phm::PhmSupervisedEntityInterface
enum class {<phmssi-sn>} : std::uint32_t {...};For each enumeration in {<phm-checkpoint-list>} in [SWS_PHM_00424] there shall exist a C++ enumerator declaration.
{<symbol-phm-checkpoint>} = {<phm-checkpoint-value>};नेमस्पेस
- apext::phm 1 Klassen, 0 freie Funktionen
- ara::phm 4 Klassen, 2 freie Funktionen
- ara::phm::supervised_entities::{ <hierarchical-namespace-list-lower-skeleton>} 0 Klassen, 0 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 · जर्मन मूल