تعمل كواجهة عامة لقراءة وكتابة بيانات تشخيص SOVD من جانب التطبيق.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: e0fb00ce3377المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تعمل كواجهة عامة لقراءة وكتابة بيانات تشخيص SOVD من جانب التطبيق.
توفر الفئة ara::diag::GenericDiagnosticSovdContent واجهة عامة للتطبيقات التكيفية لربط موارد SOVD في نظام AUTOSAR [SWS_DM_02186]. وبعد إنشاء النسخة، ينشط التطبيق استقبال طلبات التشخيص عبر Offer()، وبناءً على ذلك تعيد Diagnostic Management توجيه طلبات القراءة والكتابة الواردة بشكل غير متزامن إلى Read() وWrite()[SWS_DM_02193]. وقبل الإنهاء، يجب إلغاء تنشيط الإتاحة بواسطة StopOffer()، بينما يجب على عمليات الوصول الجارية مراعاة معالج الإلغاء الممرر.
السياق
توفر الفئة ara::diag::GenericDiagnosticSovdContent واجهة البرمجة العامة التي تقدم عبرها التطبيقات التكيفية موارد البيانات لتشخيص المركبات الموجه نحو الخدمات (SOVD) وفقًا لـ ASAM SOVD وتعالجها [SWS_DM_02186]. وفي سيناريو التشخيص النموذجي، تشارك ثلاثة مكونات رئيسية: عميل SOVD الخارجي، وDiagnostic Management (DM)، والمعالج الخاص بالتطبيق في التطبيق التكيفي.
مخطط السياق: تضمين GenericDiagnosticSovdContent بين عميل SOVD الخارجي وDiagnostic Management والمعالج الخاص بالتطبيق. المصادر: [SWS_DM_01431]، [SWS_DM_01432]، [SWS_DM_02186].
دورة الحياة
يتم إنشاء النسخة عبر المُنشئ مع تحديد ara::core::InstanceSpecifier الذي يشير إلى PortPrototype لـ DiagnosticDataIdentifierGenericInterface، بالإضافة إلى وضع التزامن من النوع SovdContentConcurrencyType[SWS_DM_02187]. وصُممت الفئة لتكون آمنة مؤشريًا وآمنة من الاستثناءات [SWS_DM_02187].
بعد الإنشاء، تكون النسخة في حالة عدم الإتاحة. وفقط من خلال استدعاء Offer()، يُصرح لـ DM بتوجيه طلبات التشخيص الواردة إلى النسخة [SWS_DM_02193]. وقبل إيقاف التشغيل أو عند انتهاء الخدمة، يُسحب التوجيه مجددًا عبر StopOffer()[SWS_DM_02194].
يقوم التطبيق بإنشاء مثيل لتنفيذه من GenericDiagnosticSovdContent ويسجل نفسه لدى Diagnostic Management عبر Offer()[SWS_DM_02193].
إذا استقبل Diagnostic Management طلب قراءة من العميل («Read a data resource from an Entity»)، فإنه يستدعي الطريقة Read()[SWS_DM_01432]، [SWS_DM_02191]. تُرجع الطريقة ara::core::Future<DiagnosticSovdContentData>، والذي يوفر إما بيانات المحتوى المجردة أو خطأ SOVD [SWS_DM_02191]. ومن هذه البيانات يُشكّل Diagnostic Management استجابة SOVD [SWS_DM_01432]، [SWS_DM_02164]، [SWS_DM_02165].
إذا استقبل Diagnostic Management طلب كتابة («Write a data resource from an Entity»)، فإنه يفوضه عبر Write() إلى المعالج [SWS_DM_01431]، [SWS_DM_02166]، [SWS_DM_02192]. تظل البيانات صالحة حتى يتم استيفاء الـ Promise المقترن أو يتم إلغاء العملية [SWS_DM_02192].
مخطط تسلسلي: تسلسل تسجيل الخدمة، واستدعاء القراءة غير المتزامن، وإنهاء الخدمة. المصادر: [SWS_DM_01432]، [SWS_DM_02191]، [SWS_DM_02193]، [SWS_DM_02194].
سيناريوهات الأخطاء
إذا تم استدعاء Offer() على الرغم من أن الخدمة معروضة بالفعل، تفشل العملية برمز الخطأ DiagOfferErrc::kAlreadyOffered[SWS_DM_02193].
إذا حدثت أخطاء خاصة بالتطبيق أثناء استرداد البيانات في Read() أو أثناء الكتابة في Write()، فسيتم استيفاء ara::core::Future المرجع بخطأ SOVD المقابل [SWS_DM_02191]، [SWS_DM_02192]، وبناءً عليه يرسل Diagnostic Management استجابة SOVD سلبية إلى العميل.
بالإضافة إلى ذلك، يتم تمرير ara::diag::CancellationHandler إلى كلا الاستدعاءين، والذي يشير إلى ما إذا تم إلغاء العملية مبكرًا [SWS_DM_02191]، [SWS_DM_02192]. لا يجوز تخزين هذا المعالج ولا استدعاؤه بعد انتهاء عمر العملية [SWS_DM_02191]، [SWS_DM_02192].
يستند هذا الدليل حصريًا إلى بيانات مواصفة AUTOSAR Adaptive Platform الإصدار R25-11.
This Offer will enable the DM to forward request messages to this handler.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5a32b6fc61beالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُفعل الطريقة ara::diag::GenericDiagnosticSovdContent::Offer Diagnostic Management (DM) لإعادة توجيه رسائل الطلب الواردة (request messages) إلى مثيل المعالج [SWS_DM_02193]. يتم الاستدعاء بشكل متزامن، ولا يقبل أي معلمات، ويشير إلى النتيجة عبر نوع الإرجاع ara::core::Result<void>[SWS_DM_02193]. وتؤكد النتيجة الإيجابية التسجيل الناجح للخدمة لدى DM [SWS_DM_02193].
معالجة الأخطاء
إذا فشل التسجيل، تُرجع الطريقة ara::core::Result مع رمز خطأ [SWS_DM_02193]:
DiagOfferErrc::kAlreadyOffered: يحدث إذا كانت الخدمة قد عُرضت بالفعل مسبقاً؛ وفي هذه الحالة تُطبق دلالات التراجع (Rollback) [SWS_DM_02193]. ويتوافق رمز الخطأ هذا مع حالة التشخيص العامة kAlreadyOffered في DiagErrc[SWS_DM_00514] وكذلك DiagReportingErrc[SWS_DM_00560].
التزامن والقيود
الدالة محددة كـ noexcept وexception safe[SWS_DM_02193]. بالإضافة إلى ذلك، تم تصنيفها صراحةً كـ thread-safe[SWS_DM_02193]. وهذا يميز GenericDiagnosticSovdContent::Offer جوهرياً عن معظم طرق Offer الأخرى لـ DM مثل GenericRoutine::Offer[SWS_DM_00557]، أو GenericUDSService::Offer[SWS_DM_00619]، أو CommunicationControl::Offer[SWS_DM_00809]، والتي تم التصريح عن كل منها كـ not thread-safe.
تفاعل
يُعد التوفير عبر Offer شرطاً أساسياً لكي يتمكن DM من إعادة توجيه الطلبات إلى التطبيق [SWS_DM_02193]. وطالما لم يتم التوفير، فلا يمكن لـ DM تلبية أي طلبات موجهة إلى الواجهة، وهو ما يتوافق مع مبدأ التوفير العام في إدارة تشخيص AUTOSAR [SWS_DM_01525]، [SWS_DM_01527]. وتتبع التسمية النمط الراسخ في DM، والذي تم اختياره بصورة مماثلة لخدمات المراقبة (Monitor Services) AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».
تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Adaptive Platform الإصدار R25-11.
Called for "Read Single Data Value request" for the specified SOVD Content.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: e27f0077c84cالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام ودلالات الاستدعاء
تُستخدم الطريقة الافتراضية الصرفة Read للفئة ara::diag::GenericDiagnosticSovdContent لمعالجة الطلبات من النوع «Read Single Data Value» لمحتوى SOVD المحدد [SWS_DM_02191]. وعند الاستدعاء بواسطة Diagnostic Manager، يتم تمرير معرّف المحتوى sovd_content_name، ومعلومات التشخيص المتعلقة بالسياق عبر meta_info، بالإضافة إلى cancellation_handler[SWS_DM_02191]. ومن خلال cancellation_handler، يمكن للتطبيق التحقق مما إذا كان الطلب الجاري قد تم إلغاؤه؛ ولا يجوز تخزين هذا المثيل أو الإشارة إليه بما يتجاوز فترة بقاء العملية [SWS_DM_02191]. ويتم توفير البيانات بشكل غير متزامن عبر القيمة المرجعة ara::core::Future<DiagnosticSovdContentData>، والتي تغلف بيانات محتوى SOVD المجردة في حالة النجاح [SWS_DM_02191].
معالجة الأخطاء
الطريقة محددة كـ noexcept وexception safe، وبالتالي لا يجوز الإبلاغ عن الأخطاء التي تحدث عبر استثناءات C++ [SWS_DM_02191]. وبدلاً من ذلك، يُرجع في حالة الخطأ SOVD Error مناسب عبر ara::core::Future، والذي يُترجم إلى رسالة استجابة سلبية [SWS_DM_02191]. وإذا كانت الواجهة لم يتم توفيرها بعد من قبل التطبيق أو لم تعد متوفرة باستخدام offer()، فإن Diagnostic Manager يجيب على طلبات الخدمة الواردة برمز الاستجابة السلبية NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257].
التزامن والتفاعل
دالة الواجهة معرّفة كـ thread-safe[SWS_DM_02191]. وما إذا كان يُسمح باستدعاء عمليات الوصول للقراءة والكتابة في نفس الوقت بواسطة Diagnostic Manager، فإنه يُحدد عبر متغير التكوين readWrite في البنية ara::diag::SovdContentConcurrencyType[SWS_DM_02185]. وفقط عندما يتم ضبطه على kConcurrent، يتم استدعاء Read وWrite بالتزامن، في حين تستبعد القيمة الافتراضية kNotConcurrent عمليات الوصول المتزامنة [SWS_DM_02185].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R25-11.
This StopOffer will disable the forwarding of request messages from DM.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a2e6fc88edb0المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُنهي الطريقة ara::diag::GenericDiagnosticSovdContent::StopOffer توفير محتوى التشخيص لـ Diagnostic Management (DM) وتمنع إعادة توجيه رسائل المتطلبات الواردة اعتباراً من وقت الاستدعاء [SWS_DM_02194]. تتطلب الدالة ملف الترويسة ara/diag/generic_diagnostic_sovd_content.h، ولا تتوقع أي معلمات، ولا تُرجع أي قيمة [SWS_DM_02194].
فيما يتعلق بمعالجة الأخطاء، تم التصريح عن العملية بأنها noexcept وتُعد آمنة تمامًا من الاستثناءات (exception safe) [SWS_DM_02194]. لا يتم إرسال رموز أخطاء ولا حالة إرجاع؛ كما أن فشل الاستدعاء غير منصوص عليه في تصميم API.
في مجال التزامن، تتميز الدالة بأنها محددة صراحةً بأنها آمنة مؤشريًا (thread-safe) [SWS_DM_02194]. ويمثل هذا ميزة جوهرية مقارنة بالعديد من واجهات التشخيص الأخرى التي يُعرّف فيها StopOffer بأنه غير آمن مؤشريًا، كما هو الحال على سبيل المثال في GenericUDSService[SWS_DM_00620] أو GenericRoutine[SWS_DM_00558] أو CommunicationControl[SWS_DM_00810].
يتبع مخطط التسمية والسلوك نمط AUTOSAR العام لآليات Offer وStopOffer للتحكم في تدفق الرسائل بين DM ومعالجات التطبيق AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». تفسير: من المرجح أن يتم الاستدعاء عادةً قبل تدمير كائن المعالج أو في حالة عدم التوفر المؤقت لخدمة SOVD، وذلك لمنع الطلبات المعلقة بشكل موثوق. سؤال Q-5a2db04b82fed06b (مفتوح)
تم توليد إشعار الاستخدام هذا آليًا استنادًا إلى مواصفة AUTOSAR Adaptive R25-11.
Called for "Write a Data Value" request for the specified SOVD Content.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 545b938dce05المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يتم استدعاء الطريقة [SWS_DM_02192] للفئة ara::diag::GenericDiagnosticSovdContent بواسطة Diagnostic Management (DM) بمجرد استلام الطريقة «Write a data resource» لعنصر تشخيصي عبر ASAM SOVD [SWS_DM_02166]. ويُعد توفير عملية الكتابة هذه اختيارياً ويتطلب وجود التكوين DiagnosticSovdData.DiagnosticSovdMethod.put[SWS_DM_01431].
sovd_abstract_content_data: البيانات المجدية المجردة (DiagnosticSovdContentData)، المكونة من اسم العنصر والقيمة المحوّلة [SWS_DM_02166]. وتظل هذه البيانات صالحة حتى يتم الوفاء بـ Promise أو يتم إلغاء المعالجة عبر معالج الإلغاء (Cancellation Handler).
meta_info: معلومات وصفية إضافية حول سياق الطلب.
cancellation_handler: يُستخدم للتعرف على إلغاء العملية الجارية، ولا يجوز تخزينه أو الإشارة إليه بما يتجاوز فترة بقاء الدالة.
الدالة محددة كـ noexcept، وتُعتبر آمنة من الاستثناءات، وتُرجع ara::core::Future<void> ينقل قيمة void في حالة النجاح، أو ينقل خطأ SOVD في حالة الرد السلبي [SWS_DM_02192]. والطريقة مصرّح عنها كآمنة لخيوط المعالجة [SWS_DM_02192]؛ وما إذا كان يُسمح لـ DM بتنفيذ طرق القراءة والكتابة بالتزامن، فيتم تنظيمه بواسطة المعلمة readWrite في ara::diag::SovdContentConcurrencyType[SWS_DM_02185].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني