Class representing Function Group defined in meta-model (ARXML). An instance of this class will represent Function Group defined inside meta-model (ARXML). This class is intended to be an implementation specific representation, of information inside meta-model. Once created based on ARXML path, its internal value stays bounded to it for entire lifetime of a object.
रनटाइम पर टाइप किए गए पहचान के लिए AUTOSAR मेटा-मॉडल में परिभाषित एक फ़ंक्शन समूह का प्रतिनिधित्व करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: de9017db52cfउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
रनटाइम पर टाइप किए गए पहचान के लिए AUTOSAR मेटा-मॉडल में परिभाषित एक फ़ंक्शन समूह का प्रतिनिधित्व करता है।
यह क्लास AUTOSAR मेटा-मॉडल में परिभाषित फ़ंक्शन समूह के कार्यान्वयन-विशिष्ट रनटाइम प्रतिनिधित्व के रूप में कार्य करती है। इसका इंस्टेंसिएशन विशेष रूप से फ़ंक्शन समूह पोर्ट [SWS_EM_02586] के इंस्टेंस विनिर्देशक के माध्यम से होता है, जिसके पथ से ऑब्जेक्ट अपने संपूर्ण जीवनकाल के दौरान मजबूती से बंधा रहता है। संसाधन आवंटन में समस्याओं से बचने के लिए, क्लास कॉपी करने योग्य नहीं है, लेकिन अपवाद-सुरक्षित मूव सेमांटिक्स का समर्थन करती है [SWS_EM_02328]। तुलना ऑपरेटरों के माध्यम से यह निर्धारित किया जा सकता है कि क्या दो इंस्टेंस एक ही मेटा-मॉडल तत्व को मैप करते हैं।
संदर्भ
क्लास ara::exec::FunctionGroup Adaptive Platform मॉड्यूल exec (Execution Management) में AUTOSAR मेटा-मॉडल (ARXML) में परिभाषित फ़ंक्शन समूह के प्रतिनिधित्व के रूप में कार्य करती है। इस क्लास का एक इंस्टेंस मेटा-मॉडल में संग्रहीत जानकारी का कार्यान्वयन-विशिष्ट अमूर्तता प्रदान करता है। विनिर्देश के अनुसार, ARXML पथ के आधार पर इसके निर्माण के बाद किसी ऑब्जेक्ट का आंतरिक मान अपने संपूर्ण जीवनकाल में इस मेटा-मॉडल तत्व से मजबूती से बंधा रहता है।
लागू सॉफ़्टवेयर घटक (State Client), इंस्टेंस विनिर्देशक (ara::core::InstanceSpecifier) और अंतर्निहित मेटा-मॉडल मुख्य इंटरैक्शन भागीदारों के रूप में दिखाई देते हैं। सिस्टम कॉन्फ़िगरेशन के साथ लिंक विशेष रूप से एक InstanceSpecifier के माध्यम से स्थापित होता है, जो StateClientInterface के RPortPrototype को संदर्भित करता है [SWS_EM_02586]। इस प्रकार यह क्लास प्रक्रियाओं और नियंत्रण इंस्टेंसों को असंरचित पथों या मॉडल विवरणों को सीधे संभाले बिना, फ़ंक्शन समूहों को टाइप किए गए तरीके से संदर्भित करने और पहचान की जाँच करने में सक्षम बनाती है।
संदर्भ आरेख: पोर्ट विनिर्देश और मेटा-मॉडल के बीच क्लास ara::exec::FunctionGroup का एकीकरण। स्रोत: [SWS_EM_02586]।
जीवनचक्र
ara::exec::FunctionGroup ऑब्जेक्ट्स का निर्माण और प्रबंधन संसाधन प्रबंधन और मेमोरी अखंडता के संबंध में कड़े नियमों का पालन करता है। पैरामीटर रहित डिफ़ॉल्ट कंस्ट्रक्टर स्पष्ट रूप से हटाया गया है (= delete) [SWS_EM_02321]। इसके बजाय, एक इंस्टेंस को अनिवार्य रूप से ara::core::InstanceSpecifier के स्थिरांक संदर्भ को पास करके नियमित कंस्ट्रक्टर के माध्यम से इंस्टैंसिएट किया जाता है [SWS_EM_02586]। यह कंस्ट्रक्टर अपवाद-सुरक्षित (noexcept) और थ्रेड-सुरक्षित घोषित किया गया है।
स्वामित्व और कॉपी प्रक्रिया के संबंध में, क्लास को केवल मूव-ओनली डेटा प्रकार के रूप में डिज़ाइन किया गया है। कॉपी संचालन के दौरान आंतरिक संसाधनों के असाइनमेंट में संभावित टकराव और रनटाइम समस्याओं को शुरुआत से ही समाप्त करने के लिए कॉपी कंस्ट्रक्टर [SWS_EM_02322] और कॉपी असाइनमेंट ऑपरेटर [SWS_EM_02327] दोनों को हटा दिया गया है। इंस्टेंस का स्थानांतरण या पुनर्गठन विशेष रूप से मूव संचालन के माध्यम से संभव है: मूव कंस्ट्रक्टर [SWS_EM_02328] और मूव असाइनमेंट ऑपरेटर [SWS_EM_02329] एक नए या मौजूदा ऑब्जेक्ट में कुशल स्वामित्व हस्तांतरण को सक्षम करते हैं। व्याख्या: मूव संचालन के दौरान, लक्ष्य ऑब्जेक्ट को मेटा-मॉडल तत्व से बाइंडिंग को सुचारू रूप से अपनाना चाहिए, जबकि स्रोत इंस्टेंस को एक मान्य लेकिन अनिर्दिष्ट स्थिति में रखा जाता है। प्रश्न Q-99b40860db69ffe6 (खुला)
विनाश नियतात्मक रूप से डिस्ट्रक्टर [SWS_EM_02266] के माध्यम से होता है, जिसे अपवाद-सुरक्षित (noexcept) के रूप में भी परिभाषित किया गया है। जबकि InstanceSpecifier[SWS_EM_02586] के माध्यम से निर्माण थ्रेड-सुरक्षित है, मूव संचालन [SWS_EM_02328], [SWS_EM_02329] तथा डिस्ट्रक्टर [SWS_EM_02266] गैर-थ्रेड-सुरक्षित (not thread-safe) निर्दिष्ट हैं। इसलिए, यदि एकाधिक निष्पादन थ्रेड समवर्ती रूप से एक ही इंस्टेंस तक पहुँचते हैं, तो एप्लिकेशन-पक्षीय सिंक्रोनाइज़ेशन आवश्यक है।
उपयोग पथ
ara::exec::FunctionGroup के नियमित उपयोग में आमतौर पर कार्य चरणों का निम्नलिखित क्रम शामिल होता है:
पोर्ट पहचानकर्ता का प्रावधान: एप्लिकेशन ara::core::InstanceSpecifier के रूप में इसके मॉडल पथ के आधार पर वांछित स्थिति इंटरफ़ेस पोर्ट की पहचान करता है।
इंस्टेंसिएशन: पैरामीटरयुक्त कंस्ट्रक्टर के माध्यम से FunctionGroup इंस्टेंस बनाया जाता है और लक्ष्य पोर्ट के मेटा-मॉडल तत्व से मजबूती से बांधा जाता है [SWS_EM_02586]।
पहचान जाँच और तुलना: स्थिति क्वेरी या सत्यापन के संदर्भ में, दो इंस्टेंस की तुलना रिलेशनल ऑपरेटर operator==[SWS_EM_02267] या operator!=[SWS_EM_02268] के माध्यम से की जा सकती है। तुलना केवल और केवल तभी true लौटाती है (समानता ऑपरेटर के मामले में), जब दोनों इंस्टेंस ARXML मेटा-मॉडल में सटीक रूप से एक ही तत्व का प्रतिनिधित्व करते हैं। दोनों ऑपरेटर थ्रेड-सुरक्षित और अपवाद-सुरक्षित हैं।
स्थानांतरण या सफ़ाई: यदि ऑब्जेक्ट को कंटेनर संरचनाओं में स्थानांतरित किया जाना है या मॉड्यूल के बीच आगे बढ़ाया जाना है, तो यह मूव सेमांटिक्स [SWS_EM_02328], [SWS_EM_02329] के माध्यम से किया जाता है। यदि ऑब्जेक्ट अपने कार्यक्षेत्र (स्कोप) से बाहर निकलता है, तो डिस्ट्रक्टर [SWS_EM_02266] सभी संबद्ध बाइंडिंग को रिलीज़ करता है।
त्रुटि परिदृश्य
त्रुटि परिदृश्यों के क्षेत्र में, इंटरफ़ेस को एक कठोर, त्रुटि-निवारक डिज़ाइन द्वारा चित्रित किया गया है:
अनधिकृत कॉपी संचालन: कॉपी कंस्ट्रक्टर [SWS_EM_02322] या कॉपी असाइनमेंट ऑपरेटर [SWS_EM_02327] के माध्यम से इंस्टेंस को डुप्लिकेट करने के प्रयासों के परिणामस्वरूप तुरंत संकलन त्रुटि (कम्पाइल-टाइम एरर) होती है।
अनुपलब्ध इंस्टेंस पहचानकर्ता: मेटा-मॉडल संदर्भ के बिना अपूर्ण आरंभीकरण को रोक दिया जाता है, क्योंकि पैरामीटर रहित कंस्ट्रक्टर हटा दिया गया है [SWS_EM_02321]।
अमान्य समवर्तीता: चूँकि मूव संचालन और डिस्ट्रक्टर थ्रेड-सुरक्षित नहीं हैं, इसलिए असंबद्ध समानांतर पहुँच अपरिभाषित व्यवहार (रेस कंडीशंस) की ओर ले जाती है, जिसे कॉलर स्तर पर सिंक्रोनाइज़ेशन तंत्र द्वारा रोका जाना चाहिए।
यह गाइड AUTOSAR विनिर्देश R25-11 के आधार पर एक AI सहायक द्वारा तैयार किया गया था।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल