تتيح للتطبيقات إنشاء أدلة التقارب والتحقق منها لعمليات تشخيص SOVD المحمية.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 7c7c088635a6المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تتيح للتطبيقات إنشاء أدلة التقارب والتحقق منها لعمليات تشخيص SOVD المحمية.
تُستخدَم فئة الواجهة في AUTOSAR Adaptive Platform لتنفيذ عمليات التحقق من التقارب لعمليات SOVD في بيئة التشخيص [SWS_DM_01481]. تشتق التطبيقات من هذه الفئة، وتفعّل إعادة التوجيه بواسطة Diagnostic Management عبر Offer()، وتوفر بشكل غير متزامن التحدي (Challenge) المطلوب والتحقق اللاحق منه [SWS_DM_01478]. وتعتمد الاستدعاءات المتزامنة لطرق التحقق على نمط التزامن المختار أثناء الإنشاء، في حين أن التسجيل والتدمير ليسا آمنين لسلاسل العمليات.
السياق
تُستخدم الفئة ara::diag::SovdProximityChallenge[SWS_DM_01481] في AUTOSAR Adaptive Platform لتنفيذ واجهة إثباتات القرب (Proximity Challenge) من جانب التطبيق في بيئة Service-Oriented Vehicle Diagnostics (SOVD). وهي تشكل جسر الربط بين AUTOSAR Diagnostic Management (DM أو Diagnostic Server) وتطبيق المركبة الفعلي، الذي يوفر منطق الأمان لعمليات التحقق من القرب المادية أو التشفيرية AUTOSAR_AP_SWS_Diagnostics §8.56 «Providing the SOVD operation proximity_challenge». إذا تم تكوين عملية SOVD على أن إثبات القرب مطلوب (السمة proximityProofRequired هي TRUE)، تطلب Diagnostic Management تحدياً (Challenge) من التطبيق أثناء معالجة طلب تشخيص، وتعمل على التحقق من صحة الاستجابة المرسلة من العميل [SWS_DM_01398]. تشترك في هذا الاتحاد ثلاثة أطراف رئيسية: عميل SOVD الخارجي، وDiagnostic Management الوسيطة، والتطبيق المستفيد.
يتم إنشاء مثيل لفئة المعالج عبر المُنشئ SovdProximityChallenge[SWS_DM_01480]. يربط هذا المنشئ المثيل بـ ara::core::InstanceSpecifier محدد في البيان (Manifest)، ويحدد عبر المعامل ConcurrencyType ما إذا كان التنفيذ اللاحق سيتم بشكل متزامن (kConcurrent) أو تسلسلي (kNotConcurrent). المُنشئ نفسه محدد على أنه آمن بالنسبة للخيوط (thread-safe) [SWS_DM_01480]. بعد إنشاء الكائن، يكون المعالج في البداية في حالة خاملة. وفقط من خلال الاستدعاء الصريح لـ Offer()[SWS_DM_01478]، يتم تخويل Diagnostic Management لإعادة توجيه الطلبات إلى مثيل التطبيق.
يمكن إلغاء تنشيط إعادة التوجيه مرة أخرى في أي وقت باستخدام StopOffer()[SWS_DM_01495]. لا يُعد Offer() ولا StopOffer() ولا المُدمِّر الافتراضي ~SovdProximityChallenge()[SWS_DM_01479] آمنين بالنسبة للخيوط. تفسير: قبل تدمير الكائن، يُرجح أنه من الضروري استدعاء StopOffer() لتجنب إعادة التوجيه إلى كائن قيد الهدم. سؤال Q-b4c66854163f433e (مفتوح) بالإضافة إلى ذلك، يُرجح في الممارسة العملية الاحتفاظ بمثيل التطبيق عادةً طوال فترة تشغيل عملية التشخيص بأكملها لتأمين عمليات SOVD بصورة مستمرة. ويتم التحكم في أمان الخيوط لدوال الاستعلام والتحقق الفعلية GetChallenge()[SWS_DM_01494] وValidateResponse()[SWS_DM_01493] من خلال ConcurrencyType الممرر في المُنشئ.
تنقل Diagnostic Management السمة proximity_challenge في نص الاستجابة إلى العميل [SWS_DM_01398]. إذا استجاب العميل بإثبات قرب، تعيد DM توجيه هذه البيانات عبر ValidateResponse()[SWS_DM_01493]. تظل منطقة الذاكرة الممررة proximityResponse صالحة حتى يتم استيفاء ara::core::Future<ProximityChallengeValidationResultType> المُرجع أو يتم إلغاء المعالجة [SWS_DM_01493]. قبل إيقاف تشغيل العملية، يتم إلغاء تسجيل الخدمة عبر StopOffer()[SWS_DM_01495].
عند إنشاء الكائن عبر المُنشئ [SWS_DM_01480]، يتحقق إطار العمل بالفعل من اتساق النموذج ويمكنه الإبلاغ عن الانتهاكات التالية: InstanceSpecifierMappingIntegrityViolation (لا يمكن حل المعرّف أو أنه لا يشير إلى نموذج أولي للمنفذ)، أو PortInterfaceMappingViolation (النموذج الأولي للمنفذ ليس من النوع DiagnosticSovdProximityChallengeInterface)، أو ProcessMappingViolation (لم يتم العثور على عملية منمذجة مطابقة)، أو InstanceSpecifierAlreadyInUseViolation (المعرّف مستخدم بالفعل في العملية) [SWS_DM_01480].
عند استدعاء Offer()[SWS_DM_01478]، يرجع ara::core::Result<void> الناتج رموز خطأ قياسية في حالة الفشل: DiagOfferErrc::kAlreadyOffered إذا كانت الخدمة مقدمة بالفعل بشكل نشط لهذا المنفذ، أو DiagOfferErrc::kConfigurationMismatch إذا كان تكوين المراقب لا يتطابق مع DEXT. لا توجد رموز خطأ قياسية محددة لـ GetChallenge()[SWS_DM_01494] وValidateResponse()[SWS_DM_01493]. جميع الدوال الأعضاء في الفئة مصرح عنها بأنها noexcept وتضمن الأمان من الاستثناءات.
يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive Platform الإصدار R25-11.
This Offer will enable the DM to forward request messages to this handler.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f009f89ccf76المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تسجل الطريقة المتزامنة Offer من الفئة ara::diag::SovdProximityChallenge (المعرفة في #include "ara/diag/sovd_proximity_challenge.h") المعالج لدى Diagnostic Management (DM) وتمكّنه من إعادة توجيه رسائل الطلب (request messages) الواردة إلى مثيل المعالج [SWS_DM_01478]. يتم الاستدعاء بدون معلمات وهو محدد بـ noexcept[SWS_DM_01478].
تُستخدم ara::core::Result<void> كقيمة مرجعة [SWS_DM_01478]. وفي حالة الخطأ، تُرجع الطريقة كود خطأ محددًا بدلالات التراجع (rollback) [SWS_DM_01478]:
DiagOfferErrc::kAlreadyOffered: تم بالفعل عرض الخدمة عبر المثيل [SWS_DM_01478].
DiagOfferErrc::kConfigurationMismatch: تكوين المعالج لا يتطابق مع بيانات DEXT [SWS_DM_01478].
فيما يتعلق بأمان التنفيذ، فإن الطريقة مصرح عنها كـ exception safe، ولكنها تُعتبر صراحةً not thread-safe[SWS_DM_01478]. لذلك، يجب مزامنة الاستدعاءات المتوازية على نفس المثيل من قِبل التطبيق المستدعي. يتوافق نمط التوفير مع مبدأ التفعيل الموحد لمعالجات DM، كما يُطبق أيضًا في ara::diag::GenericRoutine[SWS_DM_00557]، وara::diag::GenericUDSService[SWS_DM_00619]، وara::diag::CommunicationControl[SWS_DM_00809] وغيرها. تفسير: طالما لم يتم تنفيذ Offer بنجاح، يُفترض أن DM لن يعيد توجيه طلبات تحدي القرب (Proximity-Challenge) إلى المعالج. سؤال Q-320a80aca81ef460 (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه آليًا بناءً على AUTOSAR 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 DiagnosticSovdProximityChallengePortMapping needs to be typed by a DiagnosticSovdProximityChallengeInterface. 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
instanceSpecifier
InstanceSpecifier to a PortPrototype of a DiagnosticSovdProximityChallengeInterface service instance in the manifest.
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 StopOffer will disable the forwarding of request messages from DM.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d973f1eccf91المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُعطّل الطريقة StopOffer للفئة ara::diag::SovdProximityChallenge إعادة توجيه رسائل الطلب من Diagnostic Management (DM) إلى مثيل الخدمة هذا ([SWS_DM_01495]). يتم توفير الواجهة عبر الترويسة ara/diag/sovd_proximity_challenge.h.
الاستخدام وسياق التنفيذ
يتم استدعاء الدالة بشكل متزامن، ولا تقبل معلمات تمرير وليس لها قيمة إرجاع ([SWS_DM_01495]). بعد التنفيذ، لا يُعيد DM توجيه أي طلبات أخرى خاصة بـ Proximity-Challenge إلى التطبيق.
معالجة الأخطاء وأمان الاستثناءات
تم الإعلان عن الطريقة بأنها noexcept وهي آمنة تمامًا من الاستثناءات (exception safe) ([SWS_DM_01495]). لا توجد حالات خطأ أو رموز خطأ محددة مخصصة لهذا الاستدعاء.
التزامن ودورة الحياة
فيما يتعلق بالتنفيذ، تم تحديد StopOffer صراحةً بأنه غير آمن مؤشريًا (not thread-safe) ([SWS_DM_01495]). يجب مزامنة الاستدعاءات المتوازية على المثيل نفسه من جانب المتصل. التفسير: من المحتمل أن يتم الاستدعاء عادةً أثناء إيقاف تشغيل المكون أو عند تعليق فحص Proximity-Challenge مؤقتًا. سؤال Q-7b8910a8d5f6dc05 (مفتوح)
This function validates the proximity response sent by the client.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 0179eb4520d7المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الطريقة الافتراضية الصرفة ara::diag::SovdProximityChallenge::ValidateResponse للتحقق من صحة استجابة تقارب مرسلة من العميل [SWS_DM_01493]. وتستدعي حالة Diagnostic Server هذه الطريقة بمجرد أن يحتوي نص طلب SOVD على السمة proximity_response[SWS_DM_01395]، كما هو الحال مثلاً في طلبات إنهاء تنفيذ عملية [SWS_DM_01391]. ويتم تمرير نطاق البايتات proximityResponse وكائن السياق metaInfo[SWS_DM_01493]. ويتيح هذا الأخير للتطبيق إجراء عمليات فحص خاصة بالعميل أو العملية عند الحاجة SWS Diagnostics ص. 215. وتُتاح نتيجة التحقق بشكل غير متزامن عبر ara::core::Future<ProximityChallengeValidationResultType>[SWS_DM_01493].
أُعلن عن الواجهة بأنها noexcept وآمنة من الاستثناءات (exception safe) [SWS_DM_01493]. ولا توجد رموز خطأ قياسية محددة مسبقاً [SWS_DM_01493]. تفسير: يُرجح أن يتم تمثيل فشل التحقق من التقارب عبر نوع الإرجاع ProximityChallengeValidationResultType أو قناة الخطأ الخاصة بـ Future. سؤال Q-1be6378537b59f2b (مفتوح)
فيما يتعلق بالتزامن، فإن أمان الخيوط مشروط (conditional): وما إذا كان التنفيذ يجب أن يكون آمناً بالنسبة للخيوط، يتم التحكم فيه عبر ConcurrencyType المحدد في الدالة الإنشائية [SWS_DM_01493]. وتظل البيانات المُمررة في المخزن المؤقت proximityResponse صالحة حتى يتم استيفاء Promise المرتبط أو إلغاء المعالجة بواسطة CancellationHandler [SWS_DM_01493].
تتفاعل الدالة مع توفير التحدي عبر GetChallenge[SWS_DM_01398]. وفقط بعد التحقق الناجح من استجابة التقارب، ينفذ الخادم الإجراءات المطلوبة، مثل إنهاء عملية عبر Terminate في SovdOperationExecution[SWS_DM_02179].
تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى مواصفة AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني