يُحدد فترة قيم بايتات مغلقة لأنماط خدمات التشخيص في قوائم الوصول الديناميكية.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 772c8ed103ebالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُحدد فترة قيم بايتات مغلقة لأنماط خدمات التشخيص في قوائم الوصول الديناميكية.
تُمثل الفئة ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange فترة قيم بايتات مغلقة لتعريف أنماط خدمات التشخيص في قوائم الوصول الديناميكية [SWS_DM_01182]. تُنشئ التطبيقات كائنات القيمة هذه بقيم دنيا وقصوى وتمررها إلى أداة البناء (Builder) للتكوين التدريجي لأنماط الخدمة [SWS_DM_01183]. علاوة على ذلك، يمكن قراءة حدود الفترة المحددة في أي وقت عبر دوال الفحص (Inspektoren). تم الإعلان عن جميع دوال الأعضاء على أنها آمنة من الاستثناءات كـ noexcept، بينما تتطلب معاملات الإسناد المُعدِّلة مزامنة منفصلة في حالة الوصول المتزامن.
السياق
تُمثل الفئة ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange فترة قيم بايتات مغلقة داخل نمط خدمة تشخيص [SWS_DM_01182]. وفي إطار إدارة الوصول الديناميكية (DynamicAccessList)، تعمل كعنصر بناء أساسي لتحديد معايير ونطاقات قيم البايتات الفردية لطلبات التشخيص بدقة AUTOSAR_AP_SWS_Diagnostics §8.15.2 «Class: ByteRange».
كنوع قيمة متداخل، تعمل ByteRange بتعاون مباشر مع DynamicAccessListDiagServiceBuilder الأعلى مستوى. وبينما يُنشئ تطبيق التشخيص نسخًا بقيم عتبة محددة، تستهلك أداة البناء هذه الكائنات عبر طرق مثل Add[SWS_DM_01177] أو EndsWith[SWS_DM_01180] لبناء تسلسلات متتالية لأنماط البايتات لخدمات التشخيص. بالإضافة إلى ذلك، تُتيح الفئة قراءة الحدود المكونة عبر GetMin[SWS_DM_01189] وGetMax[SWS_DM_01190].
دورة الحياة
تنشأ نسخ ByteRange بانتظام عبر المنشئ ذي المعاملات، الذي يقبل القيمة الدنيا (min) والقيمة القصوى (max) كفترة قيم مغلقة [SWS_DM_01183]. ونظرًا لأنه كائن قيمة عديم الحالة بدون ربط ديناميكي بالموارد، فلا توجد مراحل تشغيل داخلية معقدة.
يطبق الصنف دلالات القيمة المتوافقة مع المعايير: فهو يوفر منشئ نسخ [SWS_DM_01184] وكذلك منشئ نقل [SWS_DM_01185]، مما يتيح تمرير النسخ دون مشاكل عبر النسخ أو عبر النقل إلى دوال البناء. وبشكل مماثل، يتوفر عامل تعيين النسخ [SWS_DM_01186] وعامل تعيين النقل [SWS_DM_01187]. وتكتمل دورة الحياة مع المدمّر [SWS_DM_01188].
فيما يتعلق بالتزامن، يحدد AUTOSAR متطلبات متباينة: تصنف المنشئات وعمليات القراءة على أنها آمنة خيطيًا، في حين أن عوامل التعيين operator= ([SWS_DM_01186]، [SWS_DM_01187]) والمدمر [SWS_DM_01188] ليست آمنة خيطيًا بشكل صريح. لذلك تتطلب العمليات المعدِّلة على نفس النسخة إجراءات مزامنة على مستوى الجهة المستدعية.
مسار الاستخدام
يتم الاستخدام النموذجي لـ ByteRange في إطار التهيئة التسلسلية لأنماط الخدمة عبر أداة البناء (Builder):
ينشئ التطبيق كائن ByteRange مع تحديد الحدود min وmax[SWS_DM_01183].
تُمرَّر الفترة إلى DynamicAccessListDiagServiceBuilder::Add لتوسيع النمط في الموضع الحالي [SWS_DM_01177].
باستخدام EndsWith يمكن تحديد فترة نهائية تشكل ختام النمط [SWS_DM_01180].
مخطط تسلسلي: التفاعل النموذجي عند تعريف نمط تشخيص باستخدام ByteRange. المصادر: [SWS_DM_01183]، [SWS_DM_01177]، [SWS_DM_01180]، [SWS_DM_01189]، [SWS_DM_01190].
سيناريوهات الأخطاء
جميع الدوال الأعضاء في الصنف مصرح عنها باستخدام noexcept وبالتالي فهي آمنة تمامًا من الاستثناءات (exception safe) [SWS_DM_01183]. ولا يُطلق الإنشاء ولا عمليات التعيين أو الاستعلام استثناءات C++.
تتعلق حالات الخطأ المحتملة في المقام الأول بأخطاء تحديد المعاملات المنطقية: إذا مرر تطبيق قيمة دنيا min أكبر من القيمة القصوى max، فإن المواصفة لا تحدد سلوك خطأ صريحًا (تفسير: من المفترض أن يُرفض مثل هذا الزوج غير الصالح من القيم فقط أثناء معالجة النمط اللاحقة في أداة البناء أو يؤدي إلى نمط تطابق فارغ). سؤال Q-ea9c65d175d48946 (مفتوح) ويكمن خطر خطأ إضافي في التعيين غير المحمي عبر operator= عند الوصول المتزامن لعدة خيوط إلى الكائن نفسه، لأن عمليات التعيين ليست آمنة خيطيًا [SWS_DM_01186].
يستند دليل الأصناف هذا إلى مواصفة AUTOSAR Adaptive للإصدار R25-11 للوحدة diag.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني