DEENESPTFRRUARHIKOZHNL

فئة ara::diag::SovdServiceValidation

[SWS_DM_01822] Upstream: RS_Diag_04256

class SovdServiceValidation {...};

Class to implement manufacturer-/supplier-specific checks for SOVD in the application.

Header-Datei#include "ara/diag/sovd_service_validation.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

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

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

تتحقق من أذونات الوصول والشروط المسبقة لطلبات خدمة SOVD الواردة في التطبيق.

تُستخدم الفئة ara::diag::SovdServiceValidation للتحقق الخاص بالتطبيق من أذونات الوصول والشروط المسبقة عند ورود طلبات خدمة SOVD ([SWS_DM_01822]). بعد إنشاء مثيل المنفذ والتنشيط الصريح عبر Offer()، تستدعي Diagnostic Management دالة التحقق غير المتزامنة Validate() لكل مورد مطلوب ([SWS_DM_01827]). إذا أرجعت عملية التحقق قيمة خطأ حتى لمورد فرعي واحد فقط، يوقف النظام المعالجة بالكامل على الفور ويرفض طلب العميل. بينما يُعد إنشاء المثيل آمناً بالنسبة للخيوط، يجب أن تتم مزامنة دوال مثل Offer() وStopOffer() بواسطة المتصل.

السياق

تُستخدم الفئة ara::diag::SovdServiceValidation في Adaptive Platform لتوفير عمليات تحقق خاصة بالشركة المصنعة والمورّد لـ Service-Oriented Vehicle Diagnostics (SOVD) داخل تطبيق تشخيصي ([SWS_DM_01822]). بينما يتم تقييم الشروط المسبقة القياسية والظروف المحيطة في إطار بروتوكول SOVD بواسطة Diagnostic Management (DM) قبل تنفيذ الدالة ([SWS_DM_01468])، تنقل هذه الواجهة منطق التحقق المخصص مباشرةً إلى التطبيق التكيفي.

تشترك ثلاثة أطراف رئيسية في التحقق من صحة الخدمة:

  • عميل SOVD: يبدأ طلبات التشخيص عبر دوال HTTP إلى نظام المركبة.
  • Diagnostic Management (DM): تستقبل طلبات SOVD، وتتحقق من الشروط ذات المستوى الأعلى، وتفوّض التحقق إلى تعيينات المنافذ المكوّنة ([SWS_DM_01467]، SWS Diagnostics §7.3.3.2.3 «SOVD – Validation of Environmental Conditions»).
  • معالج التحقق: ينفذ التخصيص المحدد للتطبيق لـ SovdServiceValidation ويبت في مدى قبول العملية المطلوبة ([SWS_DM_01822]، [SWS_DM_01827]).
SovdServiceValidationKontext client SOVD-Client dm Diagnostic Management (Diagnostic Server) client->dm SOVD-Request dm->client SOVD-Response handler ara::diag::SovdServiceValidation (Anwendungs-Handler) dm->handler Validate(requestMethod, metaInfo) handler->dm Future<void> (Ergebnis)

مخطط السياق: المكونات وعلاقات الواجهات في التحقق من صحة خدمة SOVD. المصادر: [SWS_DM_01822]، [SWS_DM_01823]، SWS Diagnostics §7.3.3.2.3 «SOVD – Validation of Environmental Conditions»

دورة الحياة

يتم إنشاء مثيل لمعالج التحقق عبر مُنشئ SovdServiceValidation، والذي يرتبط عبر ara::core::InstanceSpecifier بـ PortPrototype منمذج في البيان ([SWS_DM_01823]). يجب أن يكون المنفذ هنا من النوع DiagnosticSovdServiceValidationInterface ([SWS_DM_01823]). عبر المعامل ConcurrencyType، يحدد التطبيق بشكل ملزم ما إذا كان تنفيذه مصمماً للاستدعاءات المتزامنة (kConcurrent) أو يجب خدمته بشكل غير متزامن (kNotConcurrent) ([SWS_DM_01823]).

بعد نجاح الإنشاء، يكون المثيل في الحالة المهيأة. يجب تنشيط إعادة توجيه الطلبات بواسطة DM صراحةً من خلال استدعاء Offer() ([SWS_DM_01825]). وإذا كان يلزم مقاطعة إعادة التوجيه أو إنهاؤها، يقوم التطبيق بإلغاء تنشيطها عبر StopOffer() ([SWS_DM_01826]). ينهي المُدمِّر الافتراضي ~SovdServiceValidation() دورة حياة المعالج بشكل سليم ([SWS_DM_01824]). بينما المُنشئ نفسه محدد بأنه آمن بالنسبة للخيوط، فإن Offer() وStopOffer() والمُدمِّر ليست آمنة بالنسبة للخيوط ولا يجوز استدعاؤها بالتزامن ([SWS_DM_01823]، [SWS_DM_01824]، [SWS_DM_01825]، [SWS_DM_01826]).

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

ينقسم المسار النموذجي للتحقق إلى المراحل التالية:

  1. التهيئة والتسجيل: ينشئ التطبيق مثيلاً للفئة المخصصة ويفعّل الخدمة لـ DM باستخدام Offer() ([SWS_DM_01823]، [SWS_DM_01825]). تفسير: يحدث هذا عادةً عند بدء الوظائف التشخيصية للتطبيق. سؤال (مفتوح)
  2. معالجة الطلب: عند وصول رسالة SOVD إلى Diagnostic Server، يستدعي الأخير الدالة Validate لكل تعيين منفذ تم تكوينه في DiagnosticServiceValidationConfiguration بالترتيب المحدد (SWS Diagnostics §7.3.3.2.3 «SOVD – Validation of Environmental Conditions»).
  3. فحص الموارد: إذا كان الاستدعاء يتعلق بمجموعة موارد (Resource Collection)، تستدعي DM الدالة Validate عدة مرات: مرة واحدة بالضبط للمجموعة نفسها ثم مرة واحدة لكل مورد متضمن في المجموعة ([SWS_DM_01827]). يتم تمرير مسار المورد المفحوص حالياً في كل مرة في ara::diag::MetaInfo (SWS Diagnostics §7.3.3.2.3 «SOVD – Validation of Environmental Conditions»).
  4. النتيجة غير المتزامنة: ترجع الدالة ara::core::Future<void> ([SWS_DM_01827]). إذا نجح الفحص، يتم حل الـ Future دون قيمة خطأ وتواصل DM معالجة الطلب (SWS Diagnostics §7.3.3.2.3 «SOVD – Validation of Environmental Conditions»).
  5. إلغاء تنشيط الخدمة: قبل الإنهاء أو عند حدوث تغييرات في التكوين، يستدعي التطبيق StopOffer() ([SWS_DM_01826]).
تسلسل التحقق من صحة خدمة SOVDSOVD-ClientDiagnostic ManagementSovdServiceValidationOffer()Result<void> (Erfolg)SOVD-Request (Ressource / Collection)loopللمجموعة ولكل مورد متضمنValidate(requestMethod, metaInfo)فحص خاص بالشركة المصنعةFuture<void> (النتيجة: OK أو DiagSovdErrc)altValidierung aller Ressourcen erfolgreichSOVD-Response (Erfolg)فشل عملية تحقق واحدة على الأقلSOVD-Error-Response (Sofortiger Abbruch)

مخطط التسلسل: مسار فحص طلب SOVD عبر Validate مع التكرار الحلقي على الموارد ومعالجة الأخطاء. المصادر: [SWS_DM_01827]، SWS Diagnostics §7.3.3.2.3 «SOVD – Validation of Environmental Conditions»

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

يمكن أن تحدث الأخطاء في مراحل مختلفة من التهيئة والتنفيذ:

  • انتهاكات الإنشاء: إذا تعذر حل InstanceSpecifier في النموذج أو كان لا يشير إلى PortPrototype، يتم الإبلاغ عن InstanceSpecifierMappingIntegrityViolation ([SWS_DM_01823]). ينشأ PortInterfaceMappingViolation إذا كان المنفذ لا يطابق الواجهة DiagnosticSovdServiceValidationInterface ([SWS_DM_01823]). وفي حال غياب تعيين العملية، يحدث ProcessMappingViolation، وإذا استُخدم نفس المعرّف عدة مرات، يتبع ذلك InstanceSpecifierAlreadyInUseViolation ([SWS_DM_01823]).
  • أخطاء التسجيل عند Offer: إذا كانت الخدمة قد تم تقديمها بنشاط بالفعل، يرجع Offer() الخطأ DiagOfferErrc::kAlreadyOffered ([SWS_DM_01825]). وإذا انحرف التكوين عن نمذجة DEXT، ينتج الخطأ DiagOfferErrc::kConfigurationMismatch ([SWS_DM_01825]).
  • أخطاء التحقق الفنية: تبلغ الدالة Validate عن عدم الجواز عبر رموز أخطاء من DiagSovdErrc ([SWS_DM_01827]). ويشمل ذلك DiagSovdErrc::kInsufficientAccessRights في حال عدم كفاية أذونات العميل، أو DiagSovdErrc::kPreconditionNotFulfilled عند عدم استيفاء الشروط المسبقة، أو DiagSovdErrc::kTemporarilyNotAvailable في حال عدم التوفر المؤقت (مثل غياب التحقق من صحة الرمز المميز عبر الإنترنت)، أو DiagSovdErrc::kSovdServerMisconfigured في حال وجود تكوين خاطئ ([SWS_DM_01827]).
  • الإلغاء الفوري عند أخطاء الموارد الفرعية: إذا فشل التحقق حتى لمورد فرعي واحد فقط متضمن في مجموعة موارد، تلغي DM معالجة الطلب بالكامل على الفور وتعيد رسالة خطأ مباشرة إلى العميل (SWS Diagnostics §7.3.3.2.3 «SOVD – Validation of Environmental Conditions»).

يستند هذا الدليل حصرياً إلى مواصفة AUTOSAR برقم R25-11 للوحدة diag وتم إنشاؤه آلياً.

خريطة الأعضاء

المُنشئات والمُتلف

2

الدوال الأعضاء

3

مخطط الفئة

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__SovdServiceValidation102 SovdServiceValidation + ~SovdServiceValidation() + SovdServiceValidation() + Offer() + StopOffer() + Validate()

عرض التفاصيل

اختر عنصرًا من المخطط.

المُنشئات والمُتلف

Constructs the port for SovdServiceValidation interface.

explicit SovdServiceValidation (ara::core::InstanceSpecifier instance Specifier, ConcurrencyType concurrencyType) noexcept;

Destructor of SovdServiceValidation.

virtual ~SovdServiceValidation () noexcept;

الدوال الأعضاء

Offer دالة

Enable the DM to forward request messages to this handler.

ara::core::Result< void > Offer () noexcept;
StopOffer دالة

Disable the forwarding of request messages from DM.

void StopOffer () noexcept;
Validate دالة

Called for every SOVD request message. Will be called multiple times if the request is for a resource collection: • once for the resource collection, • once for each resource in the resource collection.

virtual ara::core::Future< void > Validate (SovdRequestMethod request Method, const MetaInfo &metaInfo) noexcept;

توثيق الدوال

دالة Offer [SWS_DM_01825] Upstream: RS_Diag_04256

ara::core::Result< void > Offer () noexcept;

Enable the DM to forward request messages to this handler.

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

باستخدام الطريقة المتزامنة Offer() للفئة ara::diag::SovdServiceValidation، يُفعّل تطبيق Adaptive Application إعادة توجيه طلبات التحقق الواردة بواسطة Diagnostic Management (DM) إلى المعالج المسجل [SWS_DM_01825]. ويتم الاستدعاء بدون معلمات تمرير ويشير إلى جاهزية نسخة المعالج للاستقبال تجاه DM.

تُرجع الطريقة ara::core::Result<void> [SWS_DM_01825]. وفي حالة حدوث خطأ، يتم تطبيق دلالات التراجع وإرجاع أحد رموز الخطأ التالية:

  • DiagOfferErrc::kAlreadyOffered: تم توفير الخدمة لهذه النسخة مسبقًا بالفعل [SWS_DM_01825].
  • DiagOfferErrc::kConfigurationMismatch: لا يتطابق التكوين مع مستخرج التشخيص (DEXT) [SWS_DM_01825].

فيما يتعلق بأمان التنفيذ، فإن الطريقة معرَّفة بأنها exception safe وnoexcept، ولكنها تُعتبر صراحةً غير آمنة لخيوط المعالجة (not thread-safe) [SWS_DM_01825]. التفسير: لا يجوز إجراء استدعاءات متوازية على نفس النسخة من خيوط معالجة متنافسة دون حماية ويجب مزامنتها بواسطة التطبيق. سؤال Q-b07b7c8bb8852378 (مفتوح)

يتبع هذا الإجراء نمط الواجهة الموحد لمعالجات التشخيص التكيفية، كما ينطبق على سبيل المثال أيضًا على ara::diag::ServiceValidation [SWS_DM_00776] أو ara::diag::CommunicationControl [SWS_DM_00809]. وما لم يكتمل التوفير بنجاح، فلن يُعيد DM توجيه أي طلبات إلى النسخة [SWS_DM_01825]، على نحو مماثل للواجهات التي تؤدي فيها الخدمات التي لم تُعرَض بعد إلى استجابات افتراضية أو قيم بديلة [SWS_DM_01525]. وتوضح المواصفة أيضًا أن هذا تسجيل خاص بـ DM حصريًا ولا ينبغي الخلط بينه وبين عروض خدمات إدارة الاتصالات AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

تم إنشاء هذا النص بواسطة الذكاء الاصطناعي.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.
DiagOfferErrc::kConfigurationMismatchrollback_semantics monitor configuration does not match DEXT

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01825
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01825@rel:R25-11#85041038
Content hash
85041038
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01825
Status: valid/unmigrated Version: rel:R25-11#d1affa7c Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01825@rel:R25-11#d1affa7c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8e8c1df32026-09-30
  • R23-11rel:R23-11#9d51b0512026-10-14
  • R24-11rel:R24-11#05dd235d2026-10-14
  • R25-11rel:R25-11#d1affa7c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

دالة SovdServiceValidation [SWS_DM_01823] Upstream: RS_Diag_04256, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit SovdServiceValidation (ara::core::InstanceSpecifier instance Specifier, ConcurrencyType concurrencyType) noexcept;

Constructs the port for SovdServiceValidation interface.

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)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 DiagnosticSovdServiceValidationPortMapping needs to be typed by a DiagnosticSovdServiceValidationInterface. 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)

ParameterBeschreibung
instanceSpecifierInstanceSpecifier to a PortPrototype of a DiagnosticSovdServiceValidationInterface service instance in the manifest
concurrencyTypeSpecifies 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.

Record
AUTOSAR/AP/record/SWS_DM_01823
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01823@rel:R25-11#e2cd14ea
Content hash
e2cd14ea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01823
Status: valid/unmigrated Version: rel:R25-11#8b66cc5b Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01823@rel:R25-11#8b66cc5b
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#6acbfc822026-09-30
  • R23-11rel:R23-11#e82e8d482026-10-14
  • R24-11rel:R24-11#76e3ab032026-10-14
  • R25-11rel:R25-11#8b66cc5b2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

دالة StopOffer [SWS_DM_01826] Upstream: RS_Diag_04256

void StopOffer () noexcept;

Disable the forwarding of request messages from DM.

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

الاستخدام

تُعطّل الطريقة StopOffer للفئة ara::diag::SovdServiceValidation ([SWS_DM_01826]، ملف الترويسة ara/diag/sovd_service_validation.h) إعادة توجيه رسائل الطلبات (request messages) من Diagnostic Management (DM) إلى نسخة التحقق. وهي لا تقبل معلمات تمرير ولا تُرجع أي قيمة ([SWS_DM_01826]). وتتبع التسمية النمط الموحد لواجهات التشخيص في AUTOSAR Adaptive، والتي تسترشد بدلالات التعطيل لـ ara::com، ولكنها تمثل تطبيقًا مستقلاً داخل ara::diag (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

معالجة الأخطاء وأمان الاستثناءات

تم التصريح عن العملية بـ noexcept وتحديدها على أنها آمنة من الاستثناءات (exception safe) ([SWS_DM_01826]). ونظرًا لعدم وجود قيم إرجاع، لا تتم الإشارة إلى الأخطاء عبر رموز الإرجاع ولا عبر استثناءات ++C ([SWS_DM_01826]).

التزامن والقيود

فيما يتعلق بسياق الاستدعاء، تم تصنيف StopOffer على أنها غير آمنة لخيوط المعالجة (not thread-safe) ([SWS_DM_01826]). وبالتالي، يجب مزامنة الاستدعاءات المتزامنة على نفس نسخة ara::diag::SovdServiceValidation من جانب التطبيق. التفسير: يُرجَّح افتراض أن StopOffer يتم استدعاؤها عادةً عند إيقاف تشغيل المكوّن أو في حالة عدم توفر روتين التحقق من صحة SoVD مؤقتًا. سؤال Q-2bb0abf30ae69829 (مفتوح)

تفاعل

يطابق هذا السلوك نمط التوفير القياسي في Diagnostic Management: كما هو الحال في التحقق الكلاسيكي من صحة الخدمة ara::diag::ServiceValidation::StopOffer ([SWS_DM_00777])، أو منفذ المراقب ([SWS_DM_01089])، أو المصادقة ([SWS_DM_01131])، فإن StopOffer يحرم DM من إمكانية تسليم المزيد من الطلبات الواردة.

تم توليد إشعار الاستخدام هذا آليًا استنادًا إلى مواصفة AUTOSAR الإصدار R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01826
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01826@rel:R25-11#1b9a651b
Content hash
1b9a651b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01826
Status: valid/unmigrated Version: rel:R25-11#86e867c3 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01826@rel:R25-11#86e867c3
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#27731bd22026-09-30
  • R23-11rel:R23-11#2f946d222026-10-14
  • R24-11rel:R24-11#3542c6992026-10-14
  • R25-11rel:R25-11#86e867c32026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

دالة Validate [SWS_DM_01827] Upstream: RS_Diag_04256, RS_Diag_04273

virtual ara::core::Future< void > Validate (SovdRequestMethod request Method, const MetaInfo &metaInfo) noexcept;

Called for every SOVD request message. Will be called multiple times if the request is for a resource collection: • once for the resource collection, • once for each resource in the resource collection.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9e29b9fe90cc المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

يتم استدعاء الدالة ara::diag::SovdServiceValidation::Validate بواسطة Diagnostic Management (DM) لكل رسالة طلب SOVD واردة ([SWS_DM_01827]). وإذا كان الطلب موجهًا إلى مجموعة موارد، يتم الاستدعاء عدة مرات: مرة للمجموعة نفسها، ثم بعد ذلك لكل مورد فردي وارد فيها ([SWS_DM_01827]). يقوم الـ DM بتنفيذ الاستدعاءات لكافة النُسخ المكونة من DiagnosticSovdServiceValidationPortMapping بالترتيب المحدد، حيث يتم تمرير مسار المورد المعني عبر المعلمة metaInfo (AUTOSAR_AP_SWS_Diagnostics §7.3.3.2.4 «SOVD – Service Validation of Requests»). بالإضافة إلى metaInfo، تستقبل الدالة طريقة HTTP requestMethod ([SWS_DM_01827]). يتم التنفيذ بشكل غير متزامن ويعيد ara::core::Future<void>، والذي يؤكد التحقق من الصحة أو ينقل خطأً ([SWS_DM_01827]).

معالجة الأخطاء

إذا أعاد استدعاء Validate لمورد ما خطأً، يوقف الـ DM مواصلة معالجة الطلب فورًا ويبلغ عميل SOVD بوجود خطأ دون تأخير (AUTOSAR_AP_SWS_Diagnostics §7.3.3.2.4 «SOVD – Service Validation of Requests»). تشمل رموز الخطأ المحددة من DiagSovdErrc كلاً من kSovdServerMisconfigured عند وجود تكوين خاطئ للخادم، وkPreconditionNotFulfilled عند انتهاك الشروط المسبقة، وkTemporarilyNotAvailable في حال عدم التوفر المؤقت، بالإضافة إلى kInsufficientAccessRights عند غياب الصلاحيات ([SWS_DM_01827]). تفسير: يُرجح أن تُحوّل الأخطاء المُبلّغة بواسطة الخادم إلى رموز حالة خطأ HTTP مطابقة للعميل. سؤال Q-2734018f9a543b51 (مفتوح)

التزامن والقيود

تم الإعلان عن الدالة كـ noexcept وبالتالي فهي آمنة من حيث الاستثناءات ([SWS_DM_01827]). أما الأمان التفرعي فهو محدد بشكل مشروط (conditional): ويحدد ConcurrencyType المُمرر عند إنشاء النسخة ما إذا كان يجب تصميم التنفيذ ليكون آمنًا تفرعيًا ([SWS_DM_01827]).

تفاعل

تتميز هذه الدالة عن التحقق من الصحة القائم على UDS ara::diag::ServiceValidation::Validate ([SWS_DM_00774]) لعمليات استدعاء جهات التصنيع والموردين ([SWS_DM_01252]، [SWS_DM_01253]). وبالمثل، فإن فحص التفويض مفصول، ويتم عبر ara::diag::SovdAuthorization::ValidateAuthorization ([SWS_DM_01483]، [SWS_DM_01470]). قبل استدعاءات الدوال، يتحقق الـ DM أيضًا من الظروف البيئية ([SWS_DM_01468])، والتي يُردّ على عدم استيفائها بحالة HTTP 503 ([SWS_DM_01466]).

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

دليل المنفِّذ قيد الإعداد (التعقيد I1)

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
requestMethodThe HTTP method used in the SOVD request message.
metaInfoMetaInfo of the request (includes the path of the requested resource or resource collection).

Rückgabewert

TypBeschreibung
ara::core::Future< void >Value if the request is allowed, or an error.

Fehler

FehlercodeBeschreibung
DiagSovdErrc::kSovdServerMisconfiguredrollback_semantics The SOVD server is not configured correctly, e.g. required configuration files or other data is missing.
DiagSovdErrc::kPreconditionNotFulfilledrollback_semantics The preconditions to execute the method are not fulfilled.
DiagSovdErrc::kTemporarilyNotAvailablerollback_semantics The request currently can’t be served, e.g. in case the access token currently can’t be verified (e.g. because online verification is needed and the authentication server can’t be reached).
DiagSovdErrc::kInsufficientAccessRightsrollback_semantics The SOVD client does not have the right to access the resource.
Hinweise: Or any other DiagSovdErrc for an SOVD-specific error message.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01827
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01827@rel:R25-11#a42f24dc
Content hash
a42f24dc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01827
Status: valid/unmigrated Version: rel:R25-11#50e04e48 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01827@rel:R25-11#50e04e48
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#c71bec3d2026-09-30
  • R23-11rel:R23-11#5053aa042026-10-14
  • R24-11rel:R24-11#51fa3be32026-10-14
  • R25-11rel:R25-11#50e04e482026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

دالة ~SovdServiceValidation [SWS_DM_01824] Upstream: RS_Diag_04256

virtual ~SovdServiceValidation () noexcept;

Destructor of SovdServiceValidation.

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01824
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01824@rel:R25-11#7e53c452
Content hash
7e53c452
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01824
Status: valid/unmigrated Version: rel:R25-11#1ba0bac6 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01824@rel:R25-11#1ba0bac6
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b0aca7212026-09-30
  • R23-11rel:R23-11#de0994492026-10-14
  • R24-11rel:R24-11#229651762026-10-14
  • R25-11rel:R25-11#1ba0bac62026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill