يوفر نطاق الخطأ ورموز الخطأ للتحكم في حالات النظام وعمليات Suspend-to-RAM.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 83e4718c6e9fالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يوفر نطاق الخطأ ورموز الخطأ للتحكم في حالات النظام وعمليات Suspend-to-RAM.
يوفر نطاق الأسماء ara::sm معالجة الأخطاء الخاصة بالنطاق وهياكل التنسيق لـ State Management في AUTOSAR Adaptive (AUTOSAR_AP_SWS_StateManagement §7.5 ص. 34). ويحدد عبر SmErrc، وSmErrorDomain، وMakeErrorCode آليات قياسية لتسجيل أخطاء الاتصال، وحالات انتهاء المهلة، وحالات الرفض أثناء انتقالات الحالة المتزامنة مثل Suspend-to-RAM ([SWS_SM_81240]، [SWS_SM_81244]). ويعد التنافي المتبادل بين التحكم الآلي في آلة الحالة والوصول المباشر عبر API إلى مثيلات التنسيق قيدًا حاسمًا ([SWS_SM_00684]).
السياق
يشكل نطاق الأسماء ara::sm الواجهة الأساسية لإدارة الحالة (State Management) في AUTOSAR Adaptive Platform ويوفر أنواعًا لمعالجة الأخطاء والتحكم في تكوينات الحالة على مستوى الآلة. بالإضافة إلى نطاق الخطأ المركزي SmErrorDomain ونوع الاستثناء المقترن به SmException، تشتمل الوحدة على آليات وظيفية لمزامنة حالات النظام، لا سيما في إطار وظيفة Suspend-to-RAM وفقًا لـ AUTOSAR_AP_SWS_StateManagement §7.5 «Interaction with Suspend-to-RAM Functionality» ص. 34. وتشمل أطراف التفاعل الحاسمة تطبيقات التحكم مثل SMControlApplication، ووحدة تحكم StateMachine الداخلية لخادم State Management الخفي (Daemon)، بالإضافة إلى العمليات المتصلة عبر التوابع (Satellites) (AUTOSAR_AP_SWS_StateManagement §7.5.1 «S2R Hub» ص. 35).
تفصل المعمارية بدقة بين آلات الحالات التصريحية والتحكم البرمجي: إذا اتبع النظام نهج StateMachine، فإن مثيل التحكم يدمج التنسيق داخليًا، بحيث تُحظر التطبيقات الخارجية من الوصول المباشر إلى C++-API الخاص بـ S2RHub ([SWS_SM_00684]؛ AUTOSAR_AP_SWS_StateManagement §7.7.15 ص. 96). تخضع التفاعلات المتعلقة بالأمان أيضًا لعمليات فحص Identity and Access Management (IAM) لضمان اقتصار إجراء التسجيلات أو طلب تغييرات الحالة على العمليات المصرح لها فقط ([SWS_SM_00706]، [SWS_SM_00714]، [SWS_SM_00715]).
ينقسم الاستخدام النموذجي لمساحة الأسماء إلى تسجيل العمليات من جانب التطبيق، وإطلاق الانتقالات المنسقة، وتقييم رموز الخطأ الناتجة. بالنسبة للعمليات التي تتمتع بقدرات التعليق إلى ذاكرة الوصول العشوائي (Suspend-to-RAM)، تبدأ الدورة بإتاحة واجهتها عبر Offer ([SWS_SM_00710]). قبل انتقال نظام التشغيل إلى حالة السكون، يرسل المثيل المتحكم طلبًا إلى جميع التوابع المسجلة باستخدام RequestToEnterSuspendMode، وبناءً على ذلك يتم إطلاق رد النداء EnterSuspendMode الخاص بها ([SWS_SM_00701]، [SWS_SM_00711]).
تقوم الدالة المنسقة بحظر الانتقال أو مراقبته حتى تستجيب جميع التوابع المشاركة أو يتم إلغاء تسجيلها ([SWS_SM_00702]). عند الاستيقاظ، يتم استدعاء RequestToLeaveSuspendMode بالمثل، والذي يعيد التشغيل الطبيعي عبر LeaveSuspendMode ([SWS_SM_00703]، [SWS_SM_00711]). إذا حدثت انقطاعات أثناء الاتصال أو تغيرات الحالة، تعتمد الوحدة على الدالة الحرة MakeErrorCode ([SWS_SM_81244]) لإنشاء مثيلات ara::core::ErrorCode محددة بناءً على التعداد SmErrc وإتاحتها للتطبيق المستدعي.
إن إتاحة نطاق الخطأ العام عبر GetSmDomain ([SWS_SM_81251]) وإنشاء رموز الخطأ عبر MakeErrorCode ([SWS_SM_81244]) مصرح عنهما كـ noexcept ويضمنان أمان الاستثناءات وأمان الخيوط. تفسير: يُرجح أن يُستخدم رمي SmException بالدرجة الأولى عندما يرغب المستدعون في تحويل رموز خطأ SmErrorDomain إلى مسارات تحكم قائمة على الاستثناءات، بينما تُرجع الواجهات الوظيفية ara::core::ErrorCode بشكل منتظم في حالة حدوث خطأ. سؤال Q-5afcc13f11bdf19b (مفتوح)
يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive R25-11.
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9557f5fb3cd6المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الدالة المساعدة MakeErrorCode وفقًا لـ [SWS_SM_81244] في نطاق الأسماء ara::sm لإنشاء كائن ara::core::ErrorCode لـ State Management. تم التصريح عن الدالة في ملف الرأس #include "ara/sm/sm_error_domain.h" ولديها حالة التوثيق DRAFT (AUTOSAR_AP_SWS_StateManagement §8.1.2.1.2 «MakeErrorCode»).
لأجل الإنشاء، تقبل الدالة المتزامنة معلمتي إدخال:
code: رمز الخطأ المحدد من النوع SmErrc كرقم خطأ.
data: بيانات إضافية خاصة بالشركة المصنعة (النوع ara::core::ErrorDomain::SupportDataType) مرتبطة بالخطأ.
كقيمة إرجاع، تُعيد الدالة كائن ara::core::ErrorCode كاملاً ([SWS_SM_81244]). وبفضل تمييزها كـ constexpr، يمكن إجراء التقييم بالفعل في وقت الترجمة، وتضمن الكلمة المفتاحية noexcept عدم إطلاق أي استثناءات أثناء التنفيذ.
فيما يتعلق بالتزامن والموثوقية، تم تحديد الدالة بأنها thread-safe وكذلك exception safe ([SWS_SM_81244]). وبالتالي، يمكن استخدامها دون مزامنة إضافية من أي سياقات استدعاء متزامنة.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي استنادًا إلى المواصفة.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني