يُستخدم لنقل حالة خط تفعيل DoIP وإدارتها لدى Diagnostic Manager.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f91d71d289e3المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُستخدم لنقل حالة خط تفعيل DoIP وإدارتها لدى Diagnostic Manager.
تتيح الفئة ara::diag::DoIPActivationLine للتطبيق توفير حالة خط تفعيل DoIP ونقل التغييرات إلى Diagnostic Manager [SWS_DM_00830]. وبعد إنشاء النسخة بالاعتماد على المنفذ (port-based)، يتم تنشيط الخدمة بواسطة Offer()، وبناءً على ذلك يستعلم DM عن حالة الخط ومُعرّف الشبكة ID، ويتلقى تغيّرات الحالة عبر UpdateActivationLineState()[SWS_DM_00834]. وبوصفه شرطاً حافياً أساسياً، يجب تكوين واجهة الشبكة المرتبطة في النموذج لتكون معتمدة على خط التفعيل [SWS_DM_00833].
السياق
تمثّل الفئة ara::diag::DoIPActivationLine الواجهة DiagnosticDoIPActivationLineInterface وفقاً لـ [SWS_DM_00830]. وتتيح لـ 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]. وتمثّل الفئة نسخة فريدة: فمُنشئات النسخ والنقل، وكذلك معاملات الإسناد بالنسخ والنقل محذوفة (=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]. وفيما يتعلق بالتزامن، فإن المُنشئ [SWS_DM_00831] واستعلامات القراءة البحتة GetActivationLineState()[SWS_DM_00835] وGetNetworkInterfaceId()[SWS_DM_00833] تم تنفيذها لتكون آمنة خيطياً، بينما Offer()[SWS_DM_00836] وStopOffer()[SWS_DM_00837] وUpdateActivationLineState()[SWS_DM_00834] ليست آمنة خيطياً.
مسار الاستخدام
يتضمن المسار المعتاد اشتقاق وتسجيل فئة خاصة بالتطبيق، بالإضافة إلى النقل المستمر للحالة:
إنشاء النسخة: تقوم الـ Adaptive Application بإنشاء نسخة من الفئة المشتقة مع تحديد InstanceSpecifier المناسب [SWS_DM_00831].
عرض الخدمة: يستدعي التطبيق Offer() لإتاحة الواجهة لـ DM [SWS_DM_00836].
استعلام الشبكة والاستعلام الأولي: يحدد DM عبر الطريقة الافتراضية البحتة (pure virtual) GetNetworkInterfaceId() مُعرّف الواجهة Interface-ID المرتبط [SWS_DM_00833] ويستعلم باستخدام GetActivationLineState() عن حالة الخط الحالية [SWS_DM_00835]. وتُرجع كلتا الطريقتين ara::core::Future.
تحديث الحالة: إذا تغيّرت الحالة الفيزيائية للخط (مثل تغيّر المستوى في خط عتادي)، يقوم التطبيق بإبلاغ DM تزامناً عبر UpdateActivationLineState()[SWS_DM_00834]. ويؤدي هذا إلى حثّ DM على اتخاذ إجراءات تابعة مثل إرسال إخطارات الحالة إلى واجهات الشبكة [SWS_DM_00816].
الإنهاء: يستدعي التطبيق StopOffer() قبل إيقاف التشغيل أو عند إلغاء التنشيط [SWS_DM_00837].
عند استخدام ara::diag::DoIPActivationLine، يمكن أن تحدث أخطاء وظيفية وأخطاء في التكوين:
انتهاكات النموذج والمنفذ عند الإنشاء: يتحقق المُنشئ من صلاحية InstanceSpecifier[SWS_DM_00831]. وإذا فشل التحليل، يتم إطلاق إخطارات انتهاك قياسية: InstanceSpecifierMappingIntegrityViolation (عنصر نموذج غير صالح)، أو PortInterfaceMappingViolation (المنفذ غير محدّد النوع بواسطة DiagnosticDoIPActivationLineInterface)، أو ProcessMappingViolation (غياب الارتباط بالعملية)، أو InstanceSpecifierAlreadyInUseViolation (تم تعيين المحدد مسبقاً داخل العملية).
العرض المتعدد: إذا تم استدعاء Offer() أثناء كون الخدمة معروضة بالفعل، تفشل العملية برمز الخطأ DiagOfferErrc::kAlreadyOffered[SWS_DM_00836].
عدم اتساق تكوين واجهة الشبكة: إذا أبلغ التطبيق عبر GetNetworkInterfaceId() عن مُعرّف واجهة Interface-ID تمتلك DoIpNetworkConfiguration المرتبطة به الخاصية isActivationLineDependent = 'FALSE'، فإن هذا يُعد وفقاً للمواصفة صراحةً خطأ تكوين جسيماً [SWS_DM_00833].
أمان الاستثناءات: بينما تم تحديد المُنشئ ودوال الجلب (getters) وOffer() وStopOffer() والمُدمّر على أنها آمنة من حيث الاستثناءات (exception safe)، فإن UpdateActivationLineState() محدد صراحةً على أنه غير آمن من حيث الاستثناءات (not exception safe) [SWS_DM_00834]. ولذلك، يجب معالجة الأخطاء داخل هذا الاستدعاء بعناية من قِبل التطبيق المستدعي.
يستند هذا الدليل حصرياً إلى متطلبات المواصفة من AUTOSAR AP الإصدار 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 · الأصل الألماني
تمكّن الطريقة المتزامنة Offer من الفئة ara::diag::DoIPActivationLine ([SWS_DM_00836]، ملف الرأس #include "ara/diag/doip_activationline.h") Diagnostic Management (DM) من اكتشاف تغييرات حالة خط التنشيط. لا تحتوي العملية على معلمات تمرير وتبلغ بالنتيجة عبر نوع الإرجاع ara::core::Result<void>.
بمجرد توفير الواجهة بواسطة Offer، يراقب DM خط التنشيط. إذا اكتشف DM انتقالاً إلى الحالة «active»، فإنه يبادر بإرسال رسائل إعلان المركبة (Vehicle Announcement Messages) وفقاً للمعيار ISO 13400-2 على واجهات الشبكة المعنية ([SWS_DM_00816]، AUTOSAR_AP_SWS_Diagnostics §[SWS_DM_00816] ص. 106). تفسير: يُرجح أن يتم استدعاء Offer عادةً في مرحلة تهيئة التطبيق، وذلك لاكتشاف تغييرات الحالة في وقت مبكر. سؤال Q-254ced2fd3a1e3d2 (مفتوح)
في حالة الخطأ، يتم إرجاع رمز خطأ مناسب في Result. وإذا تم استدعاء الطريقة بشكل متكرر لنفس المثيل أثناء تقديم الخدمة بالفعل، فإنها تعيد رمز الخطأ DiagOfferErrc::kAlreadyOffered مع دلالات التراجع ([SWS_DM_00836]).
فيما يتعلق بالتزامن، تم تحديد الطريقة على أنها غير آمنة لمؤشرات الترابط (not thread-safe) ([SWS_DM_00836]). ولذلك، يجب مزامنة الاستدعاءات المتزامنة على نفس المثيل من جانب التطبيق. وبفضل التصريح عنها كـ noexcept، تكون الدالة آمنة تماماً من الاستثناءات ([SWS_DM_00836]).
تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Adaptive Platform الإصدار 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 توفير حالة خط تنشيط DoIP (Activation Line) لـ Diagnostic Management (DM) وفقاً لـ [SWS_DM_00837].
تمتلك الدالة البنية void StopOffer() noexcept ويتم تنفيذها بشكل متزامن على نسخة من ara::diag::DoIPActivationLine (AUTOSAR_AP_SWS_Diagnostics §5 «Overview»). ولا تقبل أي معلمات ولا تُرجع أي قيمة. ومن خلال الاستدعاء، يتم تعطيل الإرسال النشط لتغييرات حالة خط التنشيط إلى Diagnostic Manager.
فيما يتعلق بمعالجة الأخطاء، تم تحديد الدالة بأنها exception safe وتضمن عبر noexcept عدم إطلاق أي استثناءات ([SWS_DM_00837]). ونظراً لأن العملية not thread-safe وفقاً للمواصفة، فلا يجوز أن تحدث الاستدعاءات على نفس النسخة بشكل متزامن دون حماية من عدة خيوط؛ وتتطلب عمليات الوصول المتوازية حتماً مزامنة من جانب التطبيق.
يتبع نمط التصميم التسمية المعتمدة في منصة Adaptive لتوفير الخدمة (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). وبينما تعطل StopOffer في فئات DoIP ذات الصلة مثل ara::diag::DoIPGroupIdentification ([SWS_DM_00726]) أو ara::diag::DoIPPowerMode ([SWS_DM_00736]) إعادة توجيه طلبات DM الواردة، فإنها توقف هنا تحديداً إبلاغ حالة خط التنشيط إلى DM. التفسير: من أجل سير عمل متسق، يُرجح افتراض أنه تم بالفعل بدء التوفير بنشاط عبر نفس النسخة قبل استدعاء StopOffer. سؤال Q-c5d38151ef8198e7 (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R25-11.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: becd58166c09المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الدالة UpdateActivationLineState التابعة للفئة ara::diag::DoIPActivationLine لإرسال الحالة الحالية لخط تنشيط 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) وتعمل بشكل متزامن.
التزامن والقيود:
أمان الخيوط: تم تحديد الدالة صراحةً بأنها not thread-safe[SWS_DM_00834]. التفسير: يجب مزامنة الاستدعاءات على نفس النسخة من DoIPActivationLine من قِبل التطبيق المستدعي لتجنب تضارب البيانات. سؤال Q-d1c43b8ffc4bdcff (مفتوح)
معالجة الأخطاء: تم التصريح عن الدالة بأنها not exception safe[SWS_DM_00834]. ولم يتم تحديد رموز خطأ أو استثناءات معينة؛ ويُرجح ألا يتمكن التطبيق المستدعي في الحالة العامة من التقاط أي استثناءات. سؤال Q-394304b9d771cf69 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني