يُخطر تطبيقات المستهلك (Consumer) بكتل بيانات القياس المتاحة حديثًا للتحقق من صحة قاعدة زمنية.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: c02e36846f4fالمصدرأسئلة مفتوحة (3)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُخطر تطبيقات المستهلك (Consumer) بكتل بيانات القياس المتاحة حديثًا للتحقق من صحة قاعدة زمنية.
تُخطر الواجهة ara::tsync::ConsumerTimeBaseValidationNotification تطبيقات المستهلك بكتل بيانات القياس المتاحة حديثًا لقاعدة زمنية. وعبر طرق رد النداء (Callback) SetSlaveTimingData[SWS_TS_00420] وSetPdelayInitiatorData[SWS_TS_00422]، يمرر النظام بيانات التوقيت والتحقق المفصلة لكل من Time Slave وبادئ pDelay. يقوم مطورو التطبيقات بالاشتقاق من الفئة، وتنفيذ معالجة البيانات، ويجب عليهم التأكد من عدم إطلاق أي استثناءات، نظرًا لأن جميع الطرق محددة كـ noexcept وآمنة من الاستثناءات. بالإضافة إلى ذلك، يتطلب التصنيف كـ non_threadsafe مزامنة من جانب التطبيق عند عمليات الوصول المتزامنة.
السياق
تمثل الفئة ara::tsync::ConsumerTimeBaseValidationNotification واجهة رد نداء (Callback) في الوحدة tsync لـ AUTOSAR Adaptive Platform. ويكمن الغرض منها في إخطار تطبيق مستهلك بمجرد توفر كتل بيانات مسجلة جديدة لقاعدة زمنية خاضعة للمراقبة.
تشارك في هذا التفاعل ثلاث مكونات بشكل أساسي:
قاعدة زمنية للوحدة tsync: تسجل باستمرار قياسات الوقت والمزامنة في شبكة الاتصال.
الواجهة ConsumerTimeBaseValidationNotification: تحدد نقاط التسليم لكتل بيانات القياس المسجلة عبر الطرق SetSlaveTimingData[SWS_TS_00420] وSetPdelayInitiatorData[SWS_TS_00422].
تطبيق المستهلك: ينفذ طرق رد النداء، ويستلم قيم القياس المقدمة، ويجري التحقق الوظيفي من صحة القاعدة الزمنية.
من خلال هذا الهيكل، يتم فصل منطق التحقق الخاص بالتطبيق بشكل نظيف عن التسجيل الداخلي لبيانات الوقت على مستوى المنصة.
دورة الحياة
باعتبارها فئة واجهة مجردة تحتوي على طرق افتراضية بحتة (pure virtual)، لا يمكن إنشاء مثيل لـ ara::tsync::ConsumerTimeBaseValidationNotification مباشرةً. يقوم تطبيق المستهلك باشتقاق فئة ملموسة وتنفيذ الطرق المطلوبة.
تقع مسؤولية الإنشاء والملكية بالكامل على عاتق تطبيق المستهلك. يُفترض أن ينشئ التطبيق كائن رد النداء أثناء مرحلة التهيئة الخاصة به ويربطه بالقاعدة الزمنية المقابلة لخدمة tsync. سؤال Q-a423ce4cbd4eeaaa (مفتوح)
لأغراض التدمير، توفر الفئة مُدمِّرًا افتراضيًا: virtual ~ConsumerTimeBaseValidationNotification() noexcept = default;[SWS_TS_01300]. يضمن التصريح عنه كمُدمِّر افتراضي إمكانية تحرير مثيلات الفئات المشتقة عبر مؤشرات الفئة الأساسية بأمان من حيث النوع ودون حدوث تسريب في الموارد.
فيما يتعلق بالتزامن، حُددت طرق الإخطار SetSlaveTimingData[SWS_TS_00420] وSetPdelayInitiatorData[SWS_TS_00422] بأنها non_threadsafe. إذا كان الاستدعاء من قِبل خدمة المنصة مرجحًا أن يتم في سياق مؤشر ترابط خلفي (Background Thread)، فإن التنفيذ من جانب التطبيق مسؤول بنفسه عن تأمين عمليات الوصول إلى موارد التطبيق المشتركة. سؤال Q-1b857df043504eec (مفتوح)
مسار الاستخدام
يتضمن التسلسل النموذجي لاستخدام إخطار التحقق من الصحة الخطوات التالية:
التنفيذ: ينفذ تطبيق المستهلك فئة مشتقة من ara::tsync::ConsumerTimeBaseValidationNotification.
استلام بيانات قياس Time Slave: بمجرد تسجيل كتلة بيانات قياس جديدة لـ Time Slave الخاص بالقاعدة الزمنية، تستدعي خدمة الوقت الطريقة SetSlaveTimingData[SWS_TS_00420] وتمرر بيانات التحقق المفصلة عبر المعلمة measurementData من النوع TimeSlaveMeasurementType.
استلام بيانات قياس بادئ pDelay: في حال توفر بيانات قياس جديدة لبادئ pDelay، يتم استدعاء SetPdelayInitiatorData[SWS_TS_00422] مع بيانات التوقيت المفصلة في PdelayInitiatorMeasurementType.
المعالجة: يقيّم تطبيق المستهلك كتل البيانات المنقولة لاكتشاف أخطاء المزامنة أو انحرافات زمن التشغيل.
تحرير الكائن: عند إنهاء المراقبة، يتم تفكيك المثيل عبر المُدمِّر الافتراضي [SWS_TS_01300].
مخطط تسلسلي: نقل كتل بيانات القياس المسجلة لـ Time Slave وبادئ pDelay إلى تنفيذ المستهلك. المصادر: [SWS_TS_00420]، [SWS_TS_00422].
سيناريوهات الأخطاء
صُممت طرق الواجهة لتحقيق أقصى درجات المتانة والاستدعاءات الحتمية:
أمان الاستثناءات: صُرح عن كافة الدوال الأعضاء – SetSlaveTimingData[SWS_TS_00420]، SetPdelayInitiatorData[SWS_TS_00422] والمُدمِّر [SWS_TS_01300] – باستخدام noexcept وحُددت بأنها آمنة من الاستثناءات (exception safe). لا يجوز للطرق التي تعيد التعريف في تطبيق المستهلك تمرير أي استثناءات إلى الخارج، لأن ذلك يؤدي إلى إنهاء البرنامج فورًا.
غياب قنوات الإفادة الراجعة: نظرًا لأن طرق رد النداء تمتلك نوع الإرجاع void، فلا يمكن إرجاع أخطاء المعالجة ضمن منطق التطبيق إلى الوحدة tsync. يجب على التطبيق معالجة أي حالات خطأ داخليًا وتسجيلها بشكل مستقل.
مخاطر التزامن: بناءً على الخاصية non_threadsafe ([SWS_TS_00420]، [SWS_TS_00422])، يجب منع معالجة كتل بيانات متعددة بالتوازي دون إقفال من جانب التطبيق. تفسير: يجب أن يظل كائن رد النداء صالحًا طوال فترة التسجيل في القاعدة الزمنية لمنع عمليات الوصول الكارثية إلى ذاكرة تم تحريرها بالفعل. سؤال Q-934e451f6a0099c1 (مفتوح)
يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive R25-11 للوحدة tsync. وتُمثل الإيضاحات التي لا تستند إلى أدلة صريحة من المواصفة تفسيرات فنية.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني