يوفر لقطة متسقة للوقت والحالة لقاعدة زمنية متزامنة من أجل التقييم.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: fbf296ab413aالمصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يوفر لقطة متسقة للوقت والحالة لقاعدة زمنية متزامنة من أجل التقييم.
تغلف الفئة ara::tsync::SynchronizedTimeBaseStatus لقطة غير قابلة للتغيير لقاعدة زمنية متزامنة في وقت الإنشاء. وهي توفر دوال لقراءة طوابع وقت الإنشاء المحلية والمتزامنة، وحالة المزامنة، بالإضافة إلى أعلام الحالة لتصحيح المعدل وحمولة البيانات الخاصة بالمستخدم بطريقة آمنة من حيث الخيوط [SWS_TS_01053]. وإذا لم تكن القاعدة الزمنية قد تمت مزامنتها منذ بدء تشغيل النظام، فإن الاستعلام عن الوقت المتزامن يعيد قيمة اختيارية فارغة [SWS_TS_01055]. ونظرًا لحذف المنشئ الافتراضي، يتم إنشاء الكائن عادةً بواسطة القاعدة الزمنية وتمريره إلى التطبيق عبر دلالات القيمة.
السياق
يمثل الصنف ara::tsync::SynchronizedTimeBaseStatus لقطة ثابتة (Snapshot) لنقطة زمنية تتضمن جميع الحالات المقترنة لقاعدة زمنية متزامنة. وفي الأنظمة الموزعة في المركبات، يُستخدم للفصل الزمني بين القاعدة الزمنية المتقدمة ديناميكيًا والتطبيق الذي يجري التقييم: فبدلًا من الاستعلام عن الحالات المتطايرة مباشرةً من القاعدة الزمنية الجارية، يحصل التطبيق على صورة متسقة ذاتيًا لمعلومات الوقت والحالة عند نقطة إنشاء الكائن. ويجمع الصنف بين قيم الوقت للساعة الأحادية المحلية والوقت المتزامن، ويربطها بحالة المزامنة [SWS_TS_01053]، ورايات الحالة لتصحيح المعدل، بالإضافة إلى بيانات الحمولة النافعة الخاصة بالتطبيق المستلمة من Time Master الخاص بالقاعدة الزمنية [SWS_TS_01056]. وبالتالي، فإن أطراف التفاعل الرئيسية هي القاعدة الزمنية الموفِّرة للوحدة النمطية tsync والتطبيق المستهلك.
دورة الحياة
صُممت دورة حياة مثيل SynchronizedTimeBaseStatus للحفاظ على اتساق اللقطة (Snapshot):
الإنشاء: تم حذف منشئ الفئة الافتراضي ([SWS_TS_01061]). وبالتالي، لا يمكن للتطبيقات إنشاء مثيلات لكائنات الحالة؛ ويُفترض أن يتم الإنشاء حصريًا وبشكل داخلي بواسطة القاعدة الزمنية المعنية للمنصة. سؤال Q-ed50a9c63b8e2481 (مفتوح)
الملكية والتسليم: لإعادة اللقطة إلى التطبيقات عبر دلالات القيمة، يوفر الصنف منشئ نسخ noexcept ([SWS_TS_01058]). ولعمليات نقل الملكية بكفاءة استهلاك الموارد، يتوفر أيضًا منشئ نقل ([SWS_TS_01057]) بالإضافة إلى معاملات إسناد بالنسخ والنقل مناسبة ([SWS_TS_01060]، [SWS_TS_01059]). يتولى التطبيق المستلم الملكية الكاملة للكائن.
التدمير: تم تحديد مدمر الفئة كمدمر افتراضي مع noexcept ([SWS_TS_01062])، ويحرر الموارد بشكل حتمي.
التزامن: تم تعريف جميع دوال القراءة المخصصة للاستعلام عن الحالة على أنها آمنة خيطيًا (thread-safe) وآمنة من الاستثناءات (exception safe) ([SWS_TS_14176]، [SWS_TS_01055]). وبالتالي، يمكن لعدة خيوط تقييم اللقطة نفسها بالتزامن ودون مزامنة إضافية. فقط عمليات الإسناد والإنشاء هي non_threadsafe ([SWS_TS_01057]، [SWS_TS_01058]).
مسار الاستخدام
بمجرد أن يتلقى أحد التطبيقات مثيلًا من SynchronizedTimeBaseStatus من القاعدة الزمنية ([SWS_TS_01058])، يتم إجراء التقييم عادةً وفق تسلسل محدد:
في البداية، يتحقق التطبيق من وقت الإنشاء المتزامن باستخدام GetCreationTime() ([SWS_TS_01055]). وإذا لم تكن القاعدة الزمنية قد تمت مزامنتها مطلقًا منذ بدء تشغيل النظام، فإن الاستدعاء يُرجع ara::core::Optional فارغًا. في هذه الحالة، يمكن للتطبيق الاعتماد عبر GetCreationLocalTime() ([SWS_TS_14176]) على وقت الإنشاء المنسوب إلى الساعة الأحادية المحلية (ara::core::SteadyClock).
في الحالة المتزامنة، يحدد التطبيق عبر GetSynchronizationStatus() ([SWS_TS_01053]) طور المزامنة الدقيق، ويتحقق باستخدام GetLeapJump() ([SWS_TS_01054]) مما إذا كانت هناك قفزة زمنية قد حدثت منذ إنشاء اللقطة السابقة وفي أي اتجاه. بعد ذلك، يتم التحقق مما إذا كان قد تم حساب تصحيح للمعدل (GetRateCorrected()، [SWS_TS_14226]) وما إذا كان انحراف المعدل المحسوب يتجاوز القيمة الحدية rateCorrectionThreshold (GetRateExceeded()، [SWS_TS_14229]). وأخيرًا، يمكن الاستعلام عن بيانات الحمولة النافعة المرسلة من Time Master عبر GetUserData() ([SWS_TS_01056]).
تم التصريح عن واجهة SynchronizedTimeBaseStatus بالكامل كـ noexcept ولا تطرح استثناءات C++. ويتم الإبلاغ عن الحالات غير الصالحة أو الأخطاء عبر أنواع إرجاع دلالية:
يتم تمثيل غياب المرجع المتزامن من خلال ara::core::Optional فارغ عند GetCreationTime()، إذا كانت القاعدة الزمنية تُظهر الحالة kNotSynchronizedUntilStartup منذ بدء تشغيل النظام ([SWS_TS_01055]). وتُبلغ GetRateExceeded() عن انتهاكات القيمة الحدية في تتبع التردد عبر القيمة المنطقية في ara::core::Result<bool> ([SWS_TS_14229]). ولم يتم تحديد رموز خطأ قياسية لـ GetRateCorrected() ([SWS_TS_14226]) وGetRateExceeded() ([SWS_TS_14229])؛ تفسير: يُرجح أن تشير حالة الخطأ المنقولة في Result إلى مشكلات داخلية في المنصة أو برامج التشغيل. سؤال (مفتوح)
يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive R25-11 (الوحدة النمطية tsync) وتم إعداده بواسطة مساعد معالجة يعمل بالذكاء الاصطناعي.
SynchronizedTimeBaseStatus & operator= (const SynchronizedTimeBase Status &) noexcept; DIRECTION NOT const SynchronizedTime -- DEFINED BaseStatus &SWS_TS_01060
توثيق الدوال
دالة GetCreationLocalTime [SWS_TS_14176]Upstream: RS_TS_00021 لم يُستورد النص بعد
The point in time at which this object was created. Time point is expressed in synchronized time. If time was never synchronized (SynchronizationStatus = kNotSynchronizedUntilStartup), the returned optional is empty (i.e., no valid value).
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني