يمكّن التطبيقات التكيفية من توفير تعريف كيان DoIP لصالح إدارة التشخيص.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 73f8b2cf1d2eالمصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يمكّن التطبيقات التكيفية من توفير تعريف كيان DoIP لصالح إدارة التشخيص.
تتيح الفئة ara::diag::DoIPEntityIdentification للتطبيقات التكيفية التوفير الديناميكي لتعريف الكيان (EID) لبروتوكول تشخيص DoIP [SWS_DM_01361]. بعد إنشاء النسخة، ينشط التطبيق إعادة التوجيه بواسطة Offer() ويجيب على استعلامات Diagnostic Management عبر الدالة الافتراضية الصرفة GetEntityId() بشكل غير متزامن بواسطة Future [SWS_DM_01366]، [SWS_DM_01367]. وإذا لم تكن الواجهة متوفرة بعد عند الاستعلام، ترسل إدارة التشخيص بدلاً من ذلك قيمة 0xFF قياسية [SWS_DM_01528].
السياق
تُستخدم الفئة ara::diag::DoIPEntityIdentification للتوفير الديناميكي لتعريف الكيان (EID) لبروتوكول DoIP (Diagnostic over IP) [SWS_DM_01361]. في بيئة AUTOSAR Adaptive، تشكل الجسر الوظيفي بين تطبيق تكيفي فردي وDiagnostic Management (DM) AUTOSAR_AP_SWS_Diagnostics, ص. 107. إذا تم ضبط DoIpNetworkConfiguration.eidRetrieval في التكوين على الوضع DoIpEidRetrievalEnum.eidUseApi، يطلب Diagnostic Management الـ EID عبر واجهة برمجة التطبيقات هذه [SWS_DM_01361]. ويتم الربط بالبنية المعمارية للبرمجيات عبر ara::core::InstanceSpecifier يشير إلى PortPrototype لـ DiagnosticDoIPEntityIdentificationInterface[SWS_DM_01364].
دورة الحياة
يتم الإنشاء عبر المنشئ الصريح، الذي يُمرر إليه المعلمة ConcurrencyType (kConcurrent أو kNotConcurrent) بجانب InstanceSpecifier[SWS_DM_01364]. يحدد هذا الأخير ما إذا كان يجب معالجة عمليات الاستدعاء اللاحقة للواجهة بأمان خيوط [SWS_DM_01364]، [SWS_DM_01366]. بعد الإنشاء، يظل الكائن في البداية في حالة غير نشطة. ومن خلال استدعاء Offer()، يتم تفعيل الواجهة لصالح Diagnostic Management وتنشيط إعادة توجيه الطلبات إلى المعالج [SWS_DM_01367]. وقبل تدمير الكائن أو عند إنهاء التشغيل، يمنع StopOffer() إعادة التوجيه مرة أخرى [SWS_DM_01368]. وأخيرًا، يتم التدمير عبر المُهدم الافتراضي [SWS_DM_01365]. لا Offer() ولا StopOffer() ولا المُهدم آمنة الخيوط، وبالتالي تتطلب مزامنة منسقة في كود التطبيق [SWS_DM_01365]، [SWS_DM_01367]، [SWS_DM_01368].
في سيناريو الاستخدام النموذجي، يشتق التطبيق التكيفي فئة تنفيذ خاصة به من ara::diag::DoIPEntityIdentification ويقوم بتجاوز الدالة الافتراضية الصرفة GetEntityId()[SWS_DM_01366]. بعد إنشاء النسخة باستخدام معرف صالح، يسجل التطبيق المعالج بواسطة Offer()[SWS_DM_01367]. وبمجرد أن يحتاج Diagnostic Management إلى معرف الكيان لتجميع رسائل DoIP، يستدعي GetEntityId()[SWS_DM_01361]، [SWS_DM_01366]. تُرجع الدالة ara::core::Future<EntityId>، مما يتيح تحديد بيانات التعريف وتوفيرها بشكل غير متزامن [SWS_DM_01366]. وعند انتهاء التشغيل الوظيفي، يسحب التطبيق العرض عبر StopOffer()[SWS_DM_01368].
تؤدي تكوينات النماذج الخاطئة أثناء الإنشاء إلى انتهاكات وقت تشغيل محددة: إذا تعذر حل InstanceSpecifier في النموذج أو كان لا يشير إلى PortPrototype، ينتج عن ذلك InstanceSpecifierMappingIntegrityViolation[SWS_DM_01364]. وإذا كان تعيين المنفذ لا يشير إلى DiagnosticDoIPEntityIdentificationInterface، تحدث PortInterfaceMappingViolation، في حين يؤدي غياب مطابقة العملية إلى إطلاق ProcessMappingViolation[SWS_DM_01364]. وإذا استُخدم المعرف نفسه عدة مرات في العملية، يتبع ذلك InstanceSpecifierAlreadyInUseViolation[SWS_DM_01364].
إذا تم استدعاء Offer() عندما تكون الخدمة معروضة بشكل نشط بالفعل، تُرجع الدالة ara::core::Result مع رمز الخطأ DiagOfferErrc::kAlreadyOffered[SWS_DM_01367]. وإذا تعذر على Diagnostic Management الاستعلام عن EID - على سبيل المثال لأن الواجهة لم تكن معروضة بعد في وقت الطلب - يتم اللجوء إلى بروتوكول احتياطي محدد: يرسل Diagnostic Management بدلاً من ذلك في رسائل DoIP قيمة EID بطول 6 بايت من 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF[SWS_DM_01528].
تم إنشاء هذا الدليل بواسطة مساعد ذكاء اصطناعي بناءً على مواصفة AUTOSAR Adaptive 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 DiagnosticDoIpEntityIdentificationPortMapping needs to be typed by a DiagnosticDoIPEntityIdentificationInterface. 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 DiagnosticDoIPEntityIdentificationInterface.
concurrencyType
Specifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent)..
Request a governed re-review of this record. The record is not changed immediately.
This Offer will enable the DM to forward request messages to this handler.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 60c723a50d6cالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تفعّل الطريقة Offer من الفئة ara::diag::DoIPEntityIdentification إعادة توجيه طلبات DoIP الواردة بواسطة خادم Diagnostic Management الخفي (DM) إلى المعالج المسجل ([SWS_DM_01367]). ولا يتم تمرير الرسائل إلى المعالج إلا بعد نجاح الاستدعاء. تفسير: يحدث الاستدعاء نمطيًا في مرحلة تهيئة التطبيق التكيفي (Adaptive Application)، قبل أن يُراد استقبال رسائل التشخيص. سؤال Q-4b78d4f80bda63a4 (مفتوح)
الاستخدام والدلالات:
سياق الاستدعاء: يتم تنفيذ العملية بشكل متزامن ومصرح عنها كـ noexcept؛ ولا تطلق أي استثناءات ([SWS_DM_01367]).
القيمة المرجعة: تُرجع ara::core::Result<void>، والتي لا تحتوي على قيمة في حالة النجاح ([SWS_DM_01367]).
معالجة الأخطاء:
إذا كانت الواجهة قد عُرضت بالفعل للمثيل، يفشل الاستدعاء ويُرجع كود الخطأ DiagOfferErrc::kAlreadyOffered بدلالات التراجع (rollback) ([SWS_DM_01367]).
التزامن والقيود:
تم تحديد الواجهة على أنها غير آمنة لمؤشرات الترابط (not thread-safe) ([SWS_DM_01367]). ويجب مزامنة الاستدعاءات المتزامنة على نفس المثيل بواسطة التطبيق المستدعي.
This StopOffer will disable the forwarding of request messages from DM.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2e0edce0b8e6المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تنهي الطريقة ara::diag::DoIPEntityIdentification::StopOffer عرض الخدمة الخاصة بتحديد هوية كيان DoIP وتعطل إعادة توجيه رسائل الطلب من Diagnostic Management (DM) إلى التطبيق [SWS_DM_01368]. يتم توفير الواجهة عبر ملف الترويسة ara/diag/doip_entity_identification.h. وهي لا تقبل أي معلمات ولا تُرجع أي قيمة (void) [SWS_DM_01368]. تفسير: نظرًا لأن التوقيع لا ينص على كائن Future ولا على إشعار عبر دالة رد نداء (callback)، فيُرجح أن يُنفذ الاستدعاء بشكل حاجب متزامن حتى تنتهي إعادة التوجيه في DM. سؤال Q-75f67df3a003b08f (مفتوح)
معالجة الأخطاء وأمان الاستثناءات
العملية مصرح عنها باستخدام المحدد noexcept ومحددة على أنها آمنة من الاستثناءات (exception safe) [SWS_DM_01368]. ولا يتم إرجاع أكواد أخطاء محددة ولا يتم إطلاق أي استثناءات.
التزامن والقيود
فيما يتعلق ببيئة التنفيذ، تم تصنيف الطريقة على أنها غير آمنة لمؤشرات الترابط (not thread-safe) [SWS_DM_01368]. وفي حال حدوث استدعاءات متوازية أو وصول متزامن إلى نفس المثيل لـ ara::diag::DoIPEntityIdentification، يجب مزامنتها من جانب التطبيق.
تفاعل
يندرج هذا السلوك ضمن نمط دورة الحياة الموحد لـ AUTOSAR Adaptive Diagnostic Management. وتحدث عملية تعطيل مماثلة لإعادة توجيه الرسائل، على سبيل المثال، في تعريف المجموعة عبر [SWS_DM_00726] وكذلك في محولات التشخيص ووحدات المراقبة عبر [SWS_DM_01089]. وكما هو موضح في AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»، تستند تسمية Offer وStopOffer إلى أنماط ara::com، لكنها تمثل تنفيذًا مستقلًا لواجهات التشخيص.
تم توليد إشعار الاستخدام هذا آليًا استنادًا إلى مواصفة AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني