يمكّن التطبيقات من معالجة طلبات عمليات SOVD العامة لـ Diagnostic Manager والرد عليها.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 23f008b064deالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يمكّن التطبيقات من معالجة طلبات عمليات SOVD العامة لـ Diagnostic Manager والرد عليها.
يخدم الصنف الأساسي تنفيذ معالجات عمليات SOVD العامة لمعالجة طلبات التنفيذ في Diagnostic Management [SWS_DM_02203]. بعد إنشاء النسخة، يُنشّط التطبيق الاستقبال عبر Offer()، وعندها يعيد Diagnostic Manager توجيه الطلبات الواردة عبر الواجهة غير المتزامنة StartExecution[SWS_DM_02174][SWS_DM_02210]. وترتبط بيانات المحتوى الممررة ومعالج الإلغاء بشكل صارم بمدة العملية [SWS_DM_02210].
السياق
يوفر الصنف ara::diag::GenericDiagnosticSovdOperation واجهة عامة لتنفيذ العمليات في إطار ASAM SOVD (Service-Oriented Vehicle Diagnostics) [SWS_DM_02203]. وهو يعمل كحلقة وصل بين منصة التشخيص والتنفيذ الخاص بالتطبيق لإجراءات التشخيص أو إجراءاته. عندما يطلب عميل SOVD خارجي تنفيذ عملية، توفر نسخة Diagnostic Server دالة SOVD المقابلة AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 «Operations – Start execution of an operation»[SWS_DM_01396]. وبمجرد اكتمال التفويض أو التحقق بنجاح من Proximity Challenge المطلوبة، يعيد Diagnostic Manager (DM) توجيه الاستدعاء إلى الدالة StartExecution لنسخة المعالج المسجلة [SWS_DM_02174].
دورة الحياة
يتم إنشاء النسخة عبر المنشئ مع تحديد ara::core::InstanceSpecifier يشير إلى PortPrototype، بالإضافة إلى نوع التزامن (ConcurrencyType) [SWS_DM_02204]. ونظرًا لأن منشئ النقل [SWS_DM_02206] وعامل تعيين النقل [SWS_DM_02207] مصرح عنهما كـ protected، فإن الصنف مصمم كصنف أساسي للمعالجات المشتقة الخاصة بالتطبيق. بعد إنشاء النسخة، يكون الكائن في حالة غير نشطة ولا يقبل أي طلبات. ويتم تفعيل إعادة توجيه الطلبات بواسطة Diagnostic Manager عبر Offer()[SWS_DM_02211]. وباستخدام StopOffer() يمكن إلغاء تفعيل إعادة التوجيه هذه مجددًا [SWS_DM_02212]. وعند تدمير النسخة، يضمن المدمر الافتراضي إجراء تنظيف سليم [SWS_DM_02205]. وقد حُدد المنشئ والمدمر وعمليات النقل كمواصفات بأنها آمنة خيطيًا، بينما Offer() وStopOffer() ليستا آمنتين خيطيًا وينبغي استدعاؤهما عادةً أثناء مرحلة التهيئة أو إيقاف التشغيل للعملية.
يتضمن المسار المنتظم تقديم المعالج، واستقبال طلبات العمليات، وتوفير الاستجابة بشكل غير متزامن:
تقديم الخدمة: يستدعي التطبيق Offer()، وبذلك يُفوَّض Diagnostic Manager بإعادة توجيه طلبات SOVD الواردة إلى الكائن [SWS_DM_02211].
بدء العملية: بعد وصول دالة SOVD واجتياز اختبار Proximity Challenge بنجاح، يستدعي DM الدالة الافتراضية الصرفة StartExecution[SWS_DM_02174][SWS_DM_02210]. وأثناء ذلك يتم تمرير اسم عملية SOVD (sovd_operation_name)، وبيانات الحمولة (sovd_content_data)، والمعلومات الوصفية (meta_info)، بالإضافة إلى CancellationHandler[SWS_DM_02210].
إرجاع النتيجة: تُرجع الدالة ara::core::Future، والذي يحتوي إما على استجابة متزامنة (StartSynchronousExecutionResponse) أو استجابة غير متزامنة (StartAsynchronousExecutionResponse) [SWS_DM_02210]. في حالة العملية المتزامنة، يأخذ DM البيانات من النتيجة لإنشاء جسم استجابة SOVD [SWS_DM_02176].
إنهاء الخدمة: قبل تدمير الكائن، ينهي التطبيق إعادة التوجيه باستخدام StopOffer()[SWS_DM_02212].
عند استخدام الواجهة، يمكن أن تحدث أخطاء إدارية وأخطاء خاصة بالبروتوكول:
مُقدَّمة بالفعل: يفشل الاستدعاء المتكرر لـ Offer() على نسخة تم تقديمها بالفعل مع رمز الخطأ DiagOfferErrc::kAlreadyOffered[SWS_DM_02211].
خطأ SOVD: إذا فشل تنفيذ العملية، يجب إرجاع رمز استجابة سلبية مطابق وفقًا للمعيار ISO 17978-3 أو ASAM SOVD 1.1 في ara::core::Future[SWS_DM_02210].
الإلغاء: عبر الكائن الممرر cancellation_handler، يتم إخطار التطبيق في حال تم إلغاء الطلب الجاري. وتحظر المواصفة صراحةً تخزين هذا المعالج أو الوصول إليه بعد انتهاء فترة بقاء العملية الجارية [SWS_DM_02210]. علاوة على ذلك، تظل بيانات الإدخال الممررة في sovd_content_data صالحة فقط حتى يتم استيفاء Promise المقترن أو يتم إلغاء المعالجة [SWS_DM_02210].
يستند هذا الدليل حصريًا إلى مواصفة AUTOSAR Adaptive Platform R25-11 (الوحدة diag) وتم إعداده آليًا.
This Offer will enable the DM to forward request messages to this handler.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: e7a3d094ee66المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُفعّل الدالة Offer للفئة ara::diag::GenericDiagnosticSovdOperation إعادة توجيه طلبات التشخيص والخدمة الواردة من Diagnostic Management (DM) إلى المعالج المعني [SWS_DM_02211]. لا تقبل الدالة أي معلمات، وتُصرّح عن noexcept وتُرجع ara::core::Result<void>[SWS_DM_02211]. تفسير: نظرًا لعدم إرجاع ara::core::Future، فمن المرجح أن يكتمل تفعيل إعادة التوجيه بشكل متزامن أثناء استدعاء الدالة. سؤال Q-d9213a2118672440 (مفتوح)
فيما يتعلق بمعالجة الأخطاء، تضمن الواجهة دلالات التراجع (Rollback) [SWS_DM_02211]. إذا كانت الخدمة قد عُرضت بالفعل مسبقًا لنسخة المعالج المتطابقة هذه، يفشل الاستدعاء ويُرجع رمز الخطأ DiagOfferErrc::kAlreadyOffered[SWS_DM_02211]. تتطابق حالة الخطأ هذه مع نمط الخطأ المحدد في نطاقات أخطاء التشخيص للتسجيلات المتعددة [SWS_DM_00514].
تنطبق القيود التالية على التزامن وسياق الاستدعاء:
الأمان المؤشري: تم تحديد العملية بأنها not thread-safe، ولكن exception safe[SWS_DM_02211]. يجب مزامنة الاستدعاءات المتوازية على نفس نسخة المعالج المتطابقة من جانب التطبيق.
تسلسل الحالة: يجب استدعاء Offer قبل إعادة توجيه الطلبات [SWS_DM_02211]. ويؤدي الاستدعاء مجددًا دون إلغاء بيني إلى حدوث خطأ.
في النظام ككل، يتبع Offer نمط التوفير الموحد الخاص بـ Adaptive Diagnostic Management، كما هو محدد بالمثل أيضًا للإجراءات الروتينية العامة [SWS_DM_00557]، أو خدمات UDS [SWS_DM_00619]، أو عناصر التحكم في الاتصال [SWS_DM_00809]. هذا المبدأ مصمم خصيصًا لـ ara::diag ولا يجوز الخلط بينه وبين توفير الخدمة في ara::com (SWS Diagnostics §7.3.4.1.2 «Monitors»).
تم توليد هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R25-11.
sovd_operation_name: اسم عملية SOVD المراد تنفيذها [SWS_DM_02210].
sovd_content_data: بيانات الإدخال الخاصة بالعملية، والتي تظل صالحة حتى يتم استيفاء الوعد المرتبط أو إلغاء المعالجة عبر معالج الإلغاء [SWS_DM_02210].
meta_info: معلومات وصفية إضافية حول سياق التشخيص [SWS_DM_02210].
cancellation_handler: يُبلّغ عن إلغاء الطلب الجاري؛ ولا يجوز تخزين هذا الكائن أو الإشارة إليه بعد انتهاء دورة حياة العملية [SWS_DM_02210].
كقيمة إرجاع، تُرجع الدالة ara::core::Future مع ara::core::Variant من StartSynchronousExecutionResponse أو StartAsynchronousExecutionResponse[SWS_DM_02210]. في حالة التنفيذ المتزامن، يقوم Diagnostic Management بضبط المعلمات في متن استجابة SOVD من بيانات محتوى الاستجابة [SWS_DM_02176]. وفي حالة المعالجة غير المتزامنة، يعيّن Diagnostic Management معرفًا فريدًا (id) لتحديد العملية الجارية ويضبط حالة التنفيذ [SWS_DM_02177].
A future with either StartSynchronousExecutionResponse or StartAsynchronousExecutionResponse(for a positive response message) or a SOVD Error (for an negative response message)
Fehler
Fehlercode
Beschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.
Request a governed re-review of this record. The record is not changed immediately.
This StopOffer will disable the forwarding of request messages from DM.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ab28d5476140المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الدالة StopOffer للفئة ara::diag::GenericDiagnosticSovdOperation من ملف الترويسة ara/diag/generic_diagnostic_sovd_operation.h لتعطيل إعادة توجيه رسائل الطلبات الواردة من Diagnostic Management (DM) إلى العملية [SWS_DM_02212].
الاستخدام والدلالات: تمتلك الدالة التوقيع void StopOffer() noexcept;، ولا تقبل أي معلمات ولا تُرجع أي قيمة [SWS_DM_02212]. ونظرًا لعدم تعريف أي أنواع إرجاع غير متزامنة مثل العقود الآجلة (Futures) أو عمليات الاستدعاء الراجعة (Callbacks)، فمن المرجح أن يسري مفعول التعطيل بشكل متزامن ومباشر أثناء الاستدعاء. سؤال Q-b0723617991a4e39 (مفتوح) وقد تم التصريح عنها بأنها آمنة من الاستثناءات (exception safe) [SWS_DM_02212].
التزامن ومعالجة الأخطاء: تم تحديد الواجهة بأنها غير آمنة مؤشريًا (not thread-safe) [SWS_DM_02212]. لذلك، يجب مزامنة عمليات الوصول المتوازية إلى نفس النسخة المتطابقة على مستوى المستخدم. لا يتم إرجاع رموز أخطاء ولا يتم إنشاء رسائل DET أو DEM محددة [SWS_DM_02212].
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني