Diagnostic Manager को DoIP एक्टिवेशन लाइन की स्थिति के संचरण और प्रबंधन का कार्य करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: f91d71d289e3उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
Diagnostic Manager को DoIP एक्टिवेशन लाइन की स्थिति के संचरण और प्रबंधन का कार्य करता है।
क्लास ara::diag::DoIPActivationLine किसी अनुप्रयोग को DoIP एक्टिवेशन लाइन की स्थिति प्रदान करने और Diagnostic Manager को परिवर्तनों को प्रेषित करने में सक्षम बनाती है [SWS_DM_00830]। पोर्ट-आधारित इंस्टैंशिएशन के बाद, सेवा को Offer() के माध्यम से सक्रिय किया जाता है, जिसके बाद DM लाइन स्थिति और नेटवर्क ID की क्वेरी करता है और UpdateActivationLineState() के माध्यम से स्थिति परिवर्तनों को स्वीकार करता है [SWS_DM_00834]। एक केंद्रीय बाधा के रूप में, मॉडल में संबंधित नेटवर्क इंटरफ़ेस को एक्टिवेशन लाइन पर निर्भर के रूप में कॉन्फ़िगर किया जाना चाहिए [SWS_DM_00833]।
संदर्भ
क्लास ara::diag::DoIPActivationLine[SWS_DM_00830] के अनुसार इंटरफ़ेस DiagnosticDoIPActivationLineInterface का प्रतिनिधित्व करती है। यह एक Adaptive Application (AA) को Diagnostic Manager (DM) को DoIP एक्टिवेशन लाइन की भौतिक या तार्किक स्थिति रिपोर्ट करने और प्रदान करने में सक्षम बनाती है। इस एक्टिवेशन लाइन के माध्यम से, एक अनुप्रयोग DoIP वाहन घोषणा संदेशों (Vehicle Announcement Messages) के प्रसारण को अप्रत्यक्ष रूप से नियंत्रित करता है, जैसा कि AUTOSAR_AP_SWS_Diagnostics, पृ. 107 में निर्दिष्ट है, बिना ट्रांसमिशन को स्पष्ट रूप से स्वयं ट्रिगर किए।
इंटरैक्शन में अनिवार्य रूप से तीन घटक शामिल होते हैं: कार्यान्वयन करने वाली Adaptive Application, सेवा इंटरफ़ेस के रूप में ara::diag::DoIPActivationLine का इंस्टेंस, और बेस सिस्टम का Diagnostic Manager। यदि DM को इस इंटरफ़ेस के माध्यम से एक्टिवेशन लाइन के स्थिति परिवर्तन का पता चलता है, तो यह आश्रित नेटवर्क इंटरफेस को सूचित करता है और मानकीकृत DoIP प्रक्रियाओं को शुरू करता है [SWS_DM_00816]।
ara::diag::DoIPActivationLine का एक इंस्टेंस ara::core::InstanceSpecifier के माध्यम से बनाया जाता है, जो PortPrototype को संदर्भित करता है [SWS_DM_00831]। यह क्लास एक अद्वितीय इंस्टेंस का निरूपण करती है: Copy और Move कंस्ट्रक्टर के साथ-साथ Copy और Move असाइनमेंट ऑपरेटर हटा दिए गए हैं (=delete), जिससे मूव या डुप्लिकेट करना बाहर रखा गया है ([SWS_DM_01631], [SWS_DM_01632], [SWS_DM_01633], [SWS_DM_01634])।
इंस्टैंशिएशन के बाद, ऑब्जेक्ट "प्रदान नहीं की गई" स्थिति में होता है। Offer() को कॉल करके प्रावधान सक्रिय हो जाता है, जिससे DM एक्टिवेशन लाइन के स्थिति परिवर्तनों को सुन सकता है [SWS_DM_00836]। StopOffer() के माध्यम से यह प्रावधान फिर से निष्क्रिय कर दिया जाता है [SWS_DM_00837]। वर्चुअल डिस्ट्रक्टर को डिफ़ॉल्ट डिस्ट्रक्टर के रूप में घोषित किया गया है और यह संसाधनों को मुक्त करता है [SWS_DM_00832]। संगामी (concurrency) के संबंध में, कंस्ट्रक्टर [SWS_DM_00831] और केवल-पढ़ने के लिए क्वेरीज़ GetActivationLineState()[SWS_DM_00835] और GetNetworkInterfaceId()[SWS_DM_00833] थ्रेड-सुरक्षित रूप से निष्पादित होते हैं, जबकि Offer()[SWS_DM_00836], StopOffer()[SWS_DM_00837] और UpdateActivationLineState()[SWS_DM_00834] थ्रेड-सुरक्षित नहीं हैं।
उपयोग पथ
नियमित प्रवाह में अनुप्रयोग-विशिष्ट क्लास का व्युत्पत्ति (derivation) और पंजीकरण के साथ-साथ निरंतर स्थिति संचरण शामिल है:
इंस्टैंशिएशन: Adaptive Application उपयुक्त InstanceSpecifier निर्दिष्ट करते हुए व्युत्पन्न क्लास को इंस्टैंशिएट करती है [SWS_DM_00831]।
सेवा प्रदान करना: DM के लिए इंटरफ़ेस को सक्षम करने के लिए अनुप्रयोग Offer() को कॉल करता है [SWS_DM_00836]।
नेटवर्क और प्रारंभिक क्वेरी: DM शुद्ध-वर्चुअल (pure virtual) मेथड GetNetworkInterfaceId() के माध्यम से संबद्ध इंटरफ़ेस ID [SWS_DM_00833] निर्धारित करता है और GetActivationLineState() के साथ वर्तमान लाइन स्थिति की क्वेरी करता है [SWS_DM_00835]। दोनों मेथड एक ara::core::Future लौटाते हैं।
स्थिति अद्यतन: यदि लाइन की भौतिक स्थिति बदलती है (उदा. हार्डवेयर लाइन पर स्तर में परिवर्तन), तो अनुप्रयोग UpdateActivationLineState() के माध्यम से DM को समकालिक रूप से सूचित करता है [SWS_DM_00834]। यह DM को अनुवर्ती कार्रवाइयों के लिए प्रेरित करता है, जैसे नेटवर्क इंटरफेस को स्थिति संदेश भेजना [SWS_DM_00816]।
समाप्ति: शटडाउन से पहले या निष्क्रियता की स्थिति में, अनुप्रयोग StopOffer() को कॉल करता है [SWS_DM_00837]।
ara::diag::DoIPActivationLine का उपयोग करते समय कार्यात्मक और कॉन्फ़िगरेशन संबंधी त्रुटियाँ हो सकती हैं:
निर्माण के समय मॉडल और पोर्ट उल्लंघन: कंस्ट्रक्टर InstanceSpecifier की वैधता की जाँच करता है [SWS_DM_00831]। यदि रिज़ॉल्यूशन विफल हो जाता है, तो मानकीकृत उल्लंघन संदेश ट्रिगर होते हैं: InstanceSpecifierMappingIntegrityViolation (अमान्य मॉडल तत्व), PortInterfaceMappingViolation (DiagnosticDoIPActivationLineInterface द्वारा टाइप न किया गया पोर्ट), ProcessMappingViolation (प्रक्रिया संदर्भ का अभाव) या InstanceSpecifierAlreadyInUseViolation (प्रक्रिया के भीतर पहले से असाइन किया गया Specifier)।
एकाधिक प्रावधान: यदि Offer() को तब कॉल किया जाता है जब सेवा पहले से ही प्रदान की जा रही हो, तो ऑपरेशन त्रुटि कोड DiagOfferErrc::kAlreadyOffered के साथ विफल हो जाता है [SWS_DM_00836]।
नेटवर्क इंटरफ़ेस की कॉन्फ़िगरेशन विसंगति: यदि अनुप्रयोग GetNetworkInterfaceId() के माध्यम से एक इंटरफ़ेस ID की रिपोर्ट करता है, जिसका संबंधित DoIpNetworkConfiguration गुण isActivationLineDependent = 'FALSE' रखता है, तो विनिर्देश के अनुसार इसे स्पष्ट रूप से एक गंभीर कॉन्फ़िगरेशन त्रुटि माना जाता है [SWS_DM_00833]।
अपवाद सुरक्षा: जबकि कंस्ट्रक्टर, गेटर्स, Offer(), StopOffer() और डिस्ट्रक्टर को अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट किया गया है, UpdateActivationLineState() को स्पष्ट रूप से अपवाद-सुरक्षित नहीं (not exception safe) के रूप में दर्शाया गया है [SWS_DM_00834]। इसलिए इस कॉल के भीतर त्रुटियों को कॉलिंग अनुप्रयोग द्वारा सावधानीपूर्वक संभाला जाना चाहिए।
यह गाइड विशेष रूप से AUTOSAR AP Release R25-11 के विनिर्देश विनिर्देशों पर आधारित है।
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 DiagnosticDoIpActivationLinePortMapping needs to be typed by a DiagnosticDoIPActivationLineInterface. 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 DiagnosticDoIPActivationLineInterface
Request a governed re-review of this record. The record is not changed immediately.
network interface id for which this activation line is responsible.
Fehler
Fehlercode
Beschreibung
This function does not specify any standardized errors.
Hinweise: If the reported DoIpNetworkConfiguration.networkInterfaceId belongs to a DoIpNetworkConfiguration with property isActivationLineDependent = ’FALSE’, this is an error!
Request a governed re-review of this record. The record is not changed immediately.
This Offer will enable the DM to listen to activation line state changes.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 3534ff4305bfउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
वर्ग ara::diag::DoIPActivationLine ([SWS_DM_00836], हेडर फ़ाइल #include "ara/diag/doip_activationline.h") की समकालिक विधि Offer Diagnostic Management (DM) को सक्रियण लाइन की स्थिति में परिवर्तनों का पता लगाने में सक्षम बनाती है। ऑपरेशन में कोई पासिंग पैरामीटर नहीं होता है और रिटर्न प्रकार ara::core::Result<void> के माध्यम से परिणाम की रिपोर्ट करता है।
जैसे ही Offer का उपयोग करके इंटरफ़ेस प्रदान किया जाता है, DM सक्रियण लाइन की निगरानी करता है। यदि DM "सक्रिय" स्थिति में संक्रमण का पता लगाता है, तो यह संबंधित नेटवर्क इंटरफ़ेसों पर ISO 13400-2 के अनुसार वाहन घोषणा संदेश (Vehicle Announcement Messages) भेजने की शुरुआत करता है ([SWS_DM_00816], AUTOSAR_AP_SWS_Diagnostics §[SWS_DM_00816] पृ. 106)। व्याख्या: Offer का कॉल आम तौर पर एप्लिकेशन के आरंभीकरण चरण के दौरान होना चाहिए ताकि स्थिति परिवर्तनों का जल्दी पता लगाया जा सके। प्रश्न Q-254ced2fd3a1e3d2 (खुला)
त्रुटि के मामले में, Result में एक संबंधित त्रुटि कोड लौटाया जाता है। यदि विधि को उसी इंस्टेंस के लिए बार-बार कॉल किया जाता है जबकि सेवा पहले से ही प्रस्तुत की जा रही है, तो यह रोलबैक शब्दार्थ ([SWS_DM_00836]) के साथ त्रुटि कोड DiagOfferErrc::kAlreadyOffered प्रदान करता है।
समवर्तीता के संबंध में, विधि को थ्रेड-सुरक्षित नहीं (not thread-safe) के रूप में निर्दिष्ट किया गया है ([SWS_DM_00836])। इसलिए उसी इंस्टेंस पर समवर्ती कॉल को अनुप्रयोग पक्ष पर सिंक्रनाइज़ किया जाना चाहिए। noexcept के रूप में घोषणा के कारण, फ़ंक्शन पूरी तरह से exception-safe है ([SWS_DM_00836])।
यह उपयोग नोट विनिर्देश AUTOSAR Adaptive Platform Release R25-11 पर आधारित है।
This StopOffer will disable the provision of activation line state to DM.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 668b8f5f37f2उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
मेथड ara::diag::DoIPActivationLine::StopOffer[SWS_DM_00837] के अनुसार Diagnostic Management (DM) को DoIP एक्टिवेशन लाइन (Activation Line) की स्थिति के प्रावधान को समाप्त करता है।
फ़ंक्शन का हस्ताक्षर void StopOffer() noexcept है और यह ara::diag::DoIPActivationLine के इंस्टेंस पर सिंक्रोनस रूप से निष्पादित होता है (AUTOSAR_AP_SWS_Diagnostics §5 “Overview”)। यह कोई पैरामीटर नहीं लेता है और कोई रिटर्न मान नहीं देता है। इस कॉल द्वारा Diagnostic Manager को एक्टिवेशन लाइन के स्थिति परिवर्तनों का सक्रिय प्रेषण निष्क्रिय कर दिया जाता है।
त्रुटि प्रबंधन के संबंध में, मेथड को exception safe के रूप में निर्दिष्ट किया गया है और noexcept के माध्यम से गारंटी देता है कि कोई एक्सेप्शन नहीं फेंका जाएगा ([SWS_DM_00837])। चूंकि विनिर्देश के अनुसार ऑपरेशन not thread-safe है, इसलिए एक ही इंस्टेंस पर एकाधिक थ्रेड्स से असुरक्षित समवर्ती कॉल नहीं होने चाहिए; समानांतर एक्सेस के लिए अनिवार्य रूप से एप्लिकेशन-साइड सिंक्रोनाइज़ेशन की आवश्यकता होती है।
डिज़ाइन पैटर्न सेवा प्रावधान (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”) के लिए Adaptive प्लेटफ़ॉर्म में स्थापित नामकरण का पालन करता है। जबकि StopOffer संबंधित DoIP क्लासों जैसे ara::diag::DoIPGroupIdentification ([SWS_DM_00726]) या ara::diag::DoIPPowerMode ([SWS_DM_00736]) में आने वाले DM अनुरोधों के अग्रेषण को निष्क्रिय करता है, यहाँ यह विशेष रूप से DM को एक्टिवेशन लाइन स्थिति की रिपोर्टिंग को रोकता है। व्याख्या: एक सुसंगत परिचालन प्रक्रिया के लिए, यह माना जा सकता है कि StopOffer को कॉल करने से पहले उसी इंस्टेंस के माध्यम से एक प्रावधान पहले से ही सक्रिय रूप से शुरू किया गया था। प्रश्न Q-c5d38151ef8198e7 (खुला)
यह उपयोग नोट AUTOSAR R25-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: becd58166c09उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::diag::DoIPActivationLine का मेथड UpdateActivationLineState एडेप्टिव डायग्नोस्टिक प्रबंधन को DoIP एक्टिवेशन लाइन की वर्तमान स्थिति संचारित करने के लिए कार्य करता है [SWS_DM_00834] (AUTOSAR_AP_SWS_Diagnostics §8.32.1.1.3.5)। घोषणा हेडर फ़ाइल ara/diag/doip_activationline.h के माध्यम से प्रदान की जाती है।
उपयोग और पैरामीटर:
पैरामीटर: बूलियन इनपुट पैरामीटर activation_line_state सिस्टम को संकेत देता है कि एक्टिवेशन लाइन सक्रिय (TRUE) है या निष्क्रिय (FALSE) है [SWS_DM_00834]।
रिटर्न मान: ऑपरेशन का कोई रिटर्न मान नहीं है (void) और यह सिंक्रोनस रूप से कार्य करता है।
कनकcurrency और सीमाएं:
थ्रेड-सुरक्षा: फ़ंक्शन स्पष्ट रूप से not thread-safe के रूप में निर्दिष्ट है [SWS_DM_00834]। व्याख्या: डेटा टकराव से बचने के लिए कॉलिंग एप्लिकेशन द्वारा DoIPActivationLine के समान इंस्टेंस पर कॉल को सिंक्रोनाइज़ किया जाना चाहिए। प्रश्न Q-d1c43b8ffc4bdcff (खुला)
त्रुटि प्रबंधन: मेथड को not exception safe घोषित किया गया है [SWS_DM_00834]। विशिष्ट त्रुटि कोड या एक्सेप्शन परिभाषित नहीं हैं; कॉलिंग एप्लिकेशन सामान्य तौर पर किसी भी एक्सेप्शन को पकड़ने में सक्षम नहीं होगा। प्रश्न Q-394304b9d771cf69 (खुला)
यह पाठ विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल