डायग्नोस्टिक संचालन चक्रों की निगरानी करने और मॉडल किए गए पोर्ट्स के माध्यम से चक्र पुनरारंभ ट्रिगर करने में सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 3e8e62c1c567उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
डायग्नोस्टिक संचालन चक्रों की निगरानी करने और मॉडल किए गए पोर्ट्स के माध्यम से चक्र पुनरारंभ ट्रिगर करने में सक्षम बनाता है।
क्लास ara::diag::OperationCycle अनुप्रयोग को डायग्नोस्टिक संचालन चक्रों के नियंत्रण और निगरानी के लिए फ़ंक्शन प्रदान करती है [SWS_DM_00752]। इंस्टेंस ara::core::InstanceSpecifier के माध्यम से एक मॉडल किए गए पोर्ट से बंधे होते हैं, न तो कॉपी किए जा सकते हैं और न ही स्थानांतरित किए जा सकते हैं, और प्रति पहचानकर्ता प्रोसेस में केवल एक बार मौजूद हो सकते हैं। SetNotifier के माध्यम से चक्र परिवर्तनों के लिए एक अधिसूचना पंजीकृत की जा सकती है और RestartOperationCycle के माध्यम से संचालन चक्र का पुनरारंभ ट्रिगर किया जा सकता है [SWS_DM_01102]। थ्रेड-सुरक्षित कंस्ट्रक्टर के अपवाद के साथ, सभी विधियों के साथ-साथ डिस्ट्रक्टर भी थ्रेड-सुरक्षित नहीं हैं और समानांतर एक्सेस के मामले में अनुप्रयोग-पक्षीय सिंक्रोनाइज़ेशन की आवश्यकता होती है।
संदर्भ
क्लास ara::diag::OperationCycle AUTOSAR Adaptive Diagnostics के भीतर DiagnosticOperationCycleInterface को साकार करती है और संचालन चक्रों के प्रबंधन और नियंत्रण के लिए फ़ंक्शन प्रदान करती है। यह संचालन चक्रों की स्थितियों की निगरानी करने या उन्हें लक्षित रूप से रीसेट करने के लिए अनुकूली अनुप्रयोग और डायग्नोस्टिक्स प्रबंधन के बीच एक इंटरफ़ेस के रूप में कार्य करती है।
संपूर्ण सिस्टम से कनेक्शन एक ara::core::InstanceSpecifier के माध्यम से होता है, जिसे कंस्ट्रक्टर कॉल के दौरान पास किया जाता है [SWS_DM_00752]। यह पहचानकर्ता मॉडल में परिभाषित एक PortPrototype को संदर्भित करता है। मॉडल यहाँ एक अद्वितीय असाइनमेंट निर्धारित करता है: एक DiagnosticOperationCyclePortMapping द्वारा संदर्भित PortPrototype को DiagnosticOperationCycleInterface द्वारा टाइप किया जाना चाहिए [SWS_DM_00752]। नियंत्रण के अतिरिक्त, क्लास ara::diag::OperationCycle::OperationCycleSetNotifier प्रकार के एक कॉलबैक इंटरफ़ेस (std::function<void(void)> के रूप में परिभाषित) के माध्यम से इंटरैक्ट करती है, जिसके माध्यम से संचालन चक्र में बदलाव होने पर अनुप्रयोग को सूचनाएं भेजी जाती हैं [SWS_DM_02078], [SWS_DM_00755]।
जीवनचक्र
ara::diag::OperationCycle का निर्माण कंस्ट्रक्टर OperationCycle(const ara::core::InstanceSpecifier &specifier)[SWS_DM_00752] के माध्यम से पोर्ट इंस्टेंस विनिर्देश प्रदान करके स्पष्ट रूप से किया जाता है। कंस्ट्रक्टर को अपवाद-सुरक्षित (exception safe) और थ्रेड-सुरक्षित (thread-safe) के रूप में निर्दिष्ट किया गया है [SWS_DM_00752]।
स्वामित्व और कॉपी सिमेंटिक्स के संबंध में, क्लास को एक सख्त एकल ऑब्जेक्ट के रूप में मॉडल किया गया है, जो मॉडल किए गए पोर्ट के लिए एक निश्चित 1:1 बाइंडिंग का प्रतिनिधित्व करता है। कॉपी करना और स्थानांतरित करना पूरी तरह से प्रतिबंधित है:
डुप्लिकेट्स को बाहर करने के लिए कॉपी कंस्ट्रक्टर डिलीट किया गया है (delete) [SWS_DM_01598]।
मूव कंस्ट्रक्टर डिलीट किया गया है (delete) [SWS_DM_01599]।
कॉपी असाइनमेंट ऑपरेटर डिलीट किया गया है (delete) [SWS_DM_01596]।
मूव असाइनमेंट ऑपरेटर डिलीट किया गया है (delete) [SWS_DM_01597]।
इसके अतिरिक्त, फ्रेमवर्क एकाधिक असाइनमेंट को प्रतिबंधित करता है: एक InstanceSpecifier को उसी प्रोसेस के भीतर इंस्टेंसिएशन के लिए बार-बार उपयोग नहीं किया जा सकता है [SWS_DM_00752]। रीलीज़ डिस्ट्रक्टर ~OperationCycle()[SWS_DM_00753] में होती है। कंस्ट्रक्टर के विपरीत, डिस्ट्रक्टर थ्रेड-सुरक्षित (not thread-safe) नहीं है, यद्यपि इसे अपवाद-सुरक्षित घोषित किया गया है [SWS_DM_00753]। क्लास की अन्य विधियाँ और साथ ही कॉलबैक प्रकार भी थ्रेड-सुरक्षित नहीं हैं [SWS_DM_00755], [SWS_DM_01102], [SWS_DM_02078], इसलिए समान इंस्टेंस पर समानांतर एक्सेस को अनुप्रयोग पक्ष पर सिंक्रोनाइज़ किया जाना चाहिए।
उपयोग पथ
एक विशिष्ट उपयोग पथ में इंस्टेंसिएशन, चक्र परिवर्तनों के लिए हैंडलर का वैकल्पिक पंजीकरण, चक्र पुनरारंभ का बार-बार ट्रिगर होना और साथ ही रीलीज़ शामिल है:
इंस्टेंसिएशन: अनुप्रयोग संबंधित InstanceSpecifier[SWS_DM_00752] को पास करते हुए ऑब्जेक्ट OperationCycle बनाता है।
नोटिफ़ायर पंजीकृत करना: विधि SetNotifier के माध्यम से, अनुप्रयोग प्रकार OperationCycleSetNotifier[SWS_DM_00755], [SWS_DM_02078] का एक कॉलबैक फ़ंक्शन पंजीकृत करता है। जब संचालन चक्र बदलता है तो यह फ़ंक्शन कॉल किया जाता है। SetNotifier का लगातार कॉल पहले से पंजीकृत नोटिफ़ायर को पूरी तरह से अधिलेखित कर देता है [SWS_DM_00755]।
संचालन चक्र पुनरारंभ करना:RestartOperationCycle() के माध्यम से अनुप्रयोग संचालन चक्र के पुनरारंभ को ट्रिगर करता है [SWS_DM_01102]। डायग्नोस्टिक्स प्रबंधन चक्र को अपडेट करता है और स्थिति परिवर्तनों पर पंजीकृत कॉलबैक को सूचित करता है [SWS_DM_00755]। यहाँ अधिसूचना संभवतः डायग्नोस्टिक्स प्रबंधन के संदर्भ में एसिंक्रोनस रूप से होनी चाहिए। प्रश्न Q-7cd22debf6fa91d7 (खुला)
विनाश: सॉफ़्टवेयर घटक के शटडाउन होने पर, ऑब्जेक्ट को डिस्ट्रक्टर [SWS_DM_00753] के माध्यम से नष्ट कर दिया जाता है।
इनिशियलाइज़ेशन में त्रुटियों को फ्रेमवर्क द्वारा उल्लंघनों (Violations) के रूप में संकेतित किया जाता है, क्योंकि कंस्ट्रक्टर को noexcept[SWS_DM_00752] के रूप में घोषित किया गया है:
InstanceSpecifierMappingIntegrityViolation: InstanceSpecifier को निष्पादन योग्य के संदर्भ में हल नहीं किया जा सकता है या यह ऐसे तत्व को संदर्भित करता है जो PortPrototype नहीं है [SWS_DM_00752]।
PortInterfaceMappingViolation: DiagnosticOperationCyclePortMapping द्वारा संदर्भित PortPrototype को DiagnosticOperationCycleInterface द्वारा टाइप नहीं किया गया है [SWS_DM_00752]।
ProcessMappingViolation: यद्यपि एक उपयुक्त इंस्टेंस संदर्भ मौजूद है, लेकिन रनटाइम प्रोसेस के लिए कोई उपयुक्त मॉडल किया गया प्रोसेस नहीं मिला [SWS_DM_00752]।
InstanceSpecifierAlreadyInUseViolation: कंस्ट्रक्टर को एक ऐसे InstanceSpecifier के साथ कॉल किया गया था, जो वर्तमान प्रोसेस के भीतर पहले से ही उपयोग किया जा रहा है [SWS_DM_00752]।
नियमित संचालन में, विधियाँ SetNotifier और RestartOperationCycle एक ara::core::Result<void> लौटाती हैं [SWS_DM_00755], [SWS_DM_01102]। दोनों फ़ंक्शंस के लिए मानक में कोई विशिष्ट त्रुटि कोड परिभाषित नहीं हैं (“This function does not specify any standardized errors.”) [SWS_DM_00755], [SWS_DM_01102]। Result प्रकार का उपयोग मुख्य रूप से एक समान इंटरफ़ेस डिज़ाइन की सेवा के लिए और कार्यान्वयन-विशिष्ट त्रुटि स्थितियों के लिए स्थान प्रदान करने के लिए होने की संभावना है। प्रश्न Q-2c59a287c0d5783a (खुला)
यह मार्गदर्शिका AUTOSAR Adaptive R25-11 विनिर्देश के आधार पर एक AI सिस्टम द्वारा तैयार की गई थी।
Registering a notifier function which is called if the operation cycle is changed. A consecutive call of this method will overwrite the previous registered notifier.
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- A PortPrototype that is referenced by a pingViolation DiagnosticOperationCyclePortMapping needs to be typed by a DiagnosticOperationCycleInterface. 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.
Parameter (in)
Parameter
Beschreibung
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticOperationCycleInterface.
Request a governed re-review of this record. The record is not changed immediately.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 3cc8bab8ea58उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
वर्ग ara::diag::OperationCycle का सदस्य फ़ंक्शन RestartOperationCycle (#include "ara/diag/operation_cycle.h" के माध्यम से प्रदान किया गया) Diagnostic Management (DM) को ऑपरेटिंग चक्र के पुनरारंभ की सूचना देने के लिए कार्य करता है [SWS_DM_01102]। ऑपरेटिंग चक्र जैसे इग्निशन चक्र ("Ignition on/off"), वोल्टेज चक्र ("Power up/power down") या संचित ऑपरेटिंग समय को अनुकूली एप्लिकेशन द्वारा प्रबंधित किया जाता है और ISO 14229-1 के अनुसार UDS DTC स्थिति बाइट और इवेंट मेमोरी के व्यवहार पर सीधा प्रभाव डालते हैं SWS Diagnostics §7.3.4.3 “Operation Cycles Management”।
कॉल और सिमेंटिक्स
फ़ंक्शन को बिना किसी पैरामीटर के कॉल किया जाता है और यह एक ara::core::Result<void> लौटाता है [SWS_DM_01102]। यदि DM कॉल के समय पुनरारंभ के बारे में संदेश को संसाधित करने के लिए अभी तक तैयार नहीं है, तो यह जानकारी खोती नहीं है: DM अस्थायी रूप से घटना को बफ़र (कैश) करता है और कनेक्शन पुनर्स्थापित होते ही चक्र पुनरारंभ का मूल्यांकन करता है [SWS_DM_01103]।
त्रुटि हैंडलिंग और समवर्तीता
RestartOperationCycle के लिए कोई मानकीकृत त्रुटि कोड निर्दिष्ट नहीं हैं [SWS_DM_01102]। फ़ंक्शन को अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट किया गया है और यह कोई C++ अपवाद नहीं फेंकता है (noexcept) [SWS_DM_01102]। हालाँकि, चूंकि इंटरफ़ेस स्पष्ट रूप से थ्रेड-सुरक्षित नहीं (not thread-safe) के रूप में नामित है [SWS_DM_01102], इसलिए कॉल करने वाले एप्लिकेशन द्वारा समान इंस्टेंस पर समवर्ती पहुँच को सिंक्रनाइज़ करने की आवश्यकता होगी। प्रश्न Q-b3b258a20fd9db22 (खुला)
यह उपयोग नोट AUTOSAR विनिर्देश R25-11 के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
Registering a notifier function which is called if the operation cycle is changed. A consecutive call of this method will overwrite the previous registered notifier.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 4ba4d539945dउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
विधि ara::diag::OperationCycle::SetNotifier ([SWS_DM_00755]) एप्लिकेशन-साइड कॉलबैक फ़ंक्शन प्रकार OperationCycleSetNotifier को पंजीकृत करने का कार्य करती है। यह नोटिफ़ायर फ़ंक्शन Diagnostic Management (DM) द्वारा कॉल किया जाता है जैसे ही मॉनिटर किए गए संचालन चक्र की स्थिति बदलती है ([SWS_DM_00755])। विधि का उपयोग करने के लिए हेडर फ़ाइल ara/diag/operation_cycle.h शामिल की जानी चाहिए ([SWS_DM_00755])।
ऑपरेशन को noexcept घोषित किया गया है और अपवाद सुरक्षा (exception safe) प्रदान करता है ([SWS_DM_00755])। समकालिक वापसी मान के रूप में ara::core::Result<void> लौटाया जाता है; हालाँकि, विशिष्ट मानकीकृत त्रुटि कोड परिभाषित नहीं हैं ([SWS_DM_00755])। इसलिए Result ऑब्जेक्ट में कोई भी त्रुटि स्थिति निर्माता- या प्लेटफ़ॉर्म-विशिष्ट होने की संभावना है। प्रश्न Q-6799492164efd793 (खुला) समवर्तीता के संबंध में, विधि को गैर-थ्रेड-सुरक्षित (not thread-safe) निर्दिष्ट किया गया है ([SWS_DM_00755]), जिससे उसी ऑब्जेक्ट इंस्टेंस पर समानांतर कॉलों को एप्लिकेशन द्वारा सिंक्रनाइज़ किया जाना अनिवार्य है।
यह उपयोग नोट स्वचालित रूप से बनाया गया था और विनिर्देश AUTOSAR Adaptive R25-11 पर आधारित है।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल