DEENESPTFRRUARHIKOZHNL

بنية ara::diag::SovdOperationExecution::GetStatusResponse

[SWS_DM_02200] Upstream: RS_Diag_04262

struct GetStatusResponse {...};

Get Status response .

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::SovdOperationExecution

دليل المستخدممولَّد بالذكاء الاصطناعي

يُستخدم كهيكل إرجاع للاستعلام غير المتزامن عن حالة عمليات SOVD إلى Diagnostic Management.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b16aa086639a المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يُستخدم كهيكل إرجاع للاستعلام غير المتزامن عن حالة عمليات SOVD إلى Diagnostic Management.

يُستخدم هيكل البيانات GetStatusResponse كحاوية إرجاع للاستعلام غير المتزامن عن حالة عمليات SOVD ([SWS_DM_02200]). ويُمرر من مثيل SovdOperationExecution عبر ara::core::Future إلى Diagnostic Management، الذي يشتق منه السمتين status وparameters لاستجابة ASAM-SOVD ([SWS_DM_02181]). ويشترط لتوفيره نجاح التحقق من القرب بالإضافة إلى التنفيذ غير المتزامن الخالي من الأخطاء للاستدعاء.

السياق

الهيكل ara::diag::SovdOperationExecution::GetStatusResponse هو هيكل بيانات استجابة في Adaptive Platform ([SWS_DM_02200])، ويُستخدم كحاوية إرجاع قياسية عند الاستعلام عن حالة عمليات SOVD (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 «Struct: GetStatusResponse»). وداخل الوحدة diag، يعمل الهيكل كعنصر واجهة بين عفريت التشخيص Diagnostic Management (DM) وخدمات التشخيص المخصصة للتطبيق التي تُنفذ الواجهة SovdOperationExecution. وإذا تلقى Diagnostic Management استدعاء SOVD خارجيًا للاستعلام عن حالة العملية («Read the Status of an operation»)، يُعيد DM توجيه هذا الطلب إلى المثيل المسؤول ([SWS_DM_02180]). يُغلف GetStatusResponse بيانات الحالة والنتائج المحددة، ويُمكّن DM من بناء الاستجابة المتوافقة مع المعايير وفقًا لـ ASAM SOVD ([SWS_DM_02181]).

دورة الحياة

بصفته هيكل بيانات (struct GetStatusResponse)، يُنشأ مثيل منه عادةً في سياق تطبيق الخدمة بمجرد استدعاء الدالة الافتراضية SovdOperationExecution::GetStatus للمعالجة. ويُدمج الكائن كقيمة داخل ara::core::Future<GetStatusResponse>، والذي يفرض توقيع الدالة غير المتزامن كنوع إرجاع (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). تفسير: يُرجح أن يكون GetStatusResponse مصممًا ككائن نقل قيمة بحت، ترتبط دورة حياته ارتباطًا وثيقًا بزوج Future وPromise المقترن به. سؤال Q-e5e2b31a97df0af4 (مفتوح) وبمجرد اكتمال التحديد المخصص للتطبيق وتحقيق Future، ينتقل الوصول إلى البيانات إلى Diagnostic Management المستدعي. وبعد قراءة السمات لتجميع استجابة SOVD ([SWS_DM_02181])، تنتهي فترة حياة الهيكل ويُدمّر بصورة نظامية.

مسار الاستخدام

يتضمن المسار النظامي عند الاستعلام عن حالة العملية تفاعل عدة مكونات:

  1. يرسل عميل SOVD خارجي الدالة «Read the Status of an operation» مع execution-id محدد إلى DM ([SWS_DM_02180]).
  2. يتحقق DM من الطلب ويجري عند الحاجة تحققًا من تحدي القرب ([SWS_DM_02173]).
  3. بعد نجاح التحقق، يُوجّه DM الطلب بناءً على execution-id إلى مثيل SovdOperationExecution المقابل ([SWS_DM_02177]) ويستدعي دالته GetStatus(meta_info, cancellation_handler) ([SWS_DM_02180]، AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).
  4. يحدد التطبيق حالة التنفيذ، ويملأ GetStatusResponse بقيمة الحالة (status) ومعاملات الإخراج (Parameters من DiagnosticSovdContentData)، ويُتيح الكائن عبر ara::core::Future ([SWS_DM_02181]).
  5. يستخرج DM البيانات من GetStatusResponse المتوفر، ويضبط الحقل capability على execute، ويُعيد إرسال نص الاستجابة وفقًا لـ ASAM SOVD إلى العميل ([SWS_DM_02181]).
تسلسل الاستعلام عن حالة عملية SOVDSOVD-ClientDiagnostic ManagementSovdOperationExecutionRead the Status of an operation (execution-id)optفحص التقارب مطلوبproximity_challenge validieren [SWS_DM_02173]GetStatus(meta_info, cancellation_handler)Status & Parameters ermittelnGetStatusResponse erzeugenFuture<GetStatusResponse>SOVD Response (status, parameters, capability)

مخطط تسلسلي: التفاعل عند الاستعلام عن حالة العملية عبر GetStatusResponse. المصادر: [SWS_DM_02180]، [SWS_DM_02181]، AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»، [SWS_DM_02173]

سيناريوهات الأخطاء

تعتمد معالجة GetStatusResponse والتبادل الناجح له على شروط مسبقة ومسارات أخطاء متعددة:

  • إذا فشل تحدي قرب مطلوب ([SWS_DM_02173])، فلا يستدعي DM الدالة GetStatus أصلًا ([SWS_DM_02180])؛ وفي هذه الحالة، يُستغنى تمامًا عن إنشاء مثيل لـ GetStatusResponse أو تقييمه.
  • أُعلنت الدالة SovdOperationExecution::GetStatus كـ noexcept (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). وبناءً على ذلك، لا يجوز تمرير الأخطاء عند تحديد الحالة عبر استثناءات ++C، بل يجب الإشارة إليها بشكل غير متزامن عبر مسار الأخطاء الخاص بـ ara::core::Future.
  • إذا لم ينجح تنفيذ الدالة (عدم تحقق شرط «succeeded»)، يتوقف التجميع النظامي لاستجابة نجاح SOVD ([SWS_DM_02181]).
  • عبر الكائن المُمرر ara::diag::CancellationHandler، يمكن إبلاغ العملية الجارية بالرغبة في الإلغاء (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).

أُنشئ هذا الدليل بواسطة ذكاء اصطناعي ويستند إلى مواصفة AUTOSAR R25-11.