نطاق أسماء ara::sm::s2r
دليل المستخدممولَّد بالذكاء الاصطناعي
ينسق الدخول إلى حالة Suspend-to-RAM والخروج منها للتطبيقات التكيفية.
ينسق الدخول إلى حالة Suspend-to-RAM والخروج منها للتطبيقات التكيفية.
ينسّق نطاق الأسماء ara::sm::s2r آلية Suspend-to-RAM لتحسين أوقات إيقاف التشغيل وبدء التشغيل في AUTOSAR Adaptive Platform (SWS StateManagement §7.5 «Interaction with Suspend-to-RAM Functionality»). ومن خلال المكوّن المركزي S2RHub ومثيلات S2RSatellite المسجلة، يتم إخطار العمليات القادرة على S2R قبل الدخول في حالة خمول نظام التشغيل، وإعادتها إلى التشغيل المنتظم عند الاستيقاظ. وبوصفه قيدًا أساسيًا، فإن الاستخدام عبر نهج StateMachine الداخلي يستبعد بشكل صارم الوصول عبر C++-API، بينما تؤمّن عمليات التحقق من IAM جميع سياقات العمليات المعنية ([SWS_SM_00684]).
السياق
يوفر نطاق الأسماء ara::sm::s2r وظائف لتنسيق Suspend-to-RAM (S2R) داخل الموديل State Management. ويتمثل الهدف من هذه الآلية في تحسين أوقات إيقاف تشغيل الآلة وبدء تشغيلها، من خلال استخدام حالة خمول لنظام التشغيل قائمة على RAM بدلاً من إيقاف التشغيل الكامل وبدء التشغيل على البارد (SWS StateManagement §7.5 «Interaction with Suspend-to-RAM Functionality»). وقبل الانتقال إلى حالة تعليق نظام التشغيل، يجب إلغاء تنشيط الكيانات الوظيفية التي تفتقر إلى دعم S2R، وإخطار العمليات التي تم تمييز ملفها التنفيذي بوصفه suspendToRamAware في الوقت المناسب (SWS StateManagement §7.5 «Interaction with Suspend-to-RAM Functionality»).
تمثل الفئة S2RHub المحور المركزي، حيث تتحكم في الاتصال مع مثيلات الفئة المجردة S2RSatellite (SWS StateManagement §7.5.1 «S2R Hub»). ويمكن أن تتم أوركسترا S2RHub إما داخليًا عبر نهج StateMachine الخاص بـ State Management أو خارجيًا عبر C++-API (على سبيل المثال في SMControlApplication)؛ ويستبعد كلا النهجين بعضهما البعض بشكل صارم ([SWS_SM_00684]، SWS StateManagement ص. 96). وتكون عمليات الوصول إلى المركز وتسجيل التوابع مؤمّنة بواسطة Identity and Access Management (IAM) ([SWS_SM_00706]، [SWS_SM_00714]، [SWS_SM_00715]).
مخطط السياق: التفاعل بين State Management وS2RHub وS2RSatellite وIAM. المصادر: SWS StateManagement §7.5.1 «S2R Hub»، [SWS_SM_00684]، [SWS_SM_00715].
دورة الحياة
تتم تهيئة مثيل ara::sm::s2r::S2RHub اعتمادًا على النهج المعماري: في وضع StateMachine، يُنشئ State Management المثيل تلقائيًا بمجرد انتهاء عناصر قائمة الإجراءات EnterSuspendToRam أو EnterSuspendToRamOS أو LeaveSuspendToRam ([SWS_SM_00690]). وعند استدعاء منشئ الفئة ara::sm::s2r::S2RHub::S2RHub، يتم التحقق عبر IAM مما إذا كان سياق العملية الحالي يتطابق مع التكوين SuspendToRamHubMapping.process ([SWS_SM_00706]). ولا يُسمح إلا للعمليات المصرح لها بإجراء إنشاء المثيل ([SWS_SM_00714]).
تتم تهيئة التوابع عبر دالة المصنع ara::sm::s2r::S2RSatellite::Create ([SWS_SM_00716]). وبما أن S2RSatellite فئة مجردة، فيُرجّح أن يتم تنفيذ اشتقاق خاص بالتطبيق لتوفير الاستجابات المحددة (تفسير). سؤال Q-e4747345883235e0 (مفتوح) ويتم التسجيل في المركز بصورة نشطة من خلال استدعاء ara::sm::s2r::S2RSatellite::Offer ([SWS_SM_00710]). ويتحقق المركز من صحة سياق عملية التابع استنادًا إلى SuspendToRamSatelliteMapping.process ([SWS_SM_00715]). ويظل التابع في حالة التسجيل النشط حتى يُلغي تسجيله مجددًا عبر ara::sm::s2r::S2RSatellite::StopOffer ([SWS_SM_00710]، [SWS_SM_00713]).
فيما يتعلق بدورة حياة آلات الحالة، يسري القيد الذي يقضي بعدم جواز تكوين الحالات المسؤولة عن حالة التعليق باستخدام عنصر قائمة الإجراءات LeaveSuspendToRam ([SWS_SM_CONSTR_00035]). وهذا العنصر مخصص حصريًا لمرحلة العودة عند الاستيقاظ (SWS StateManagement ص. 98).
مسار الاستخدام
ينقسم الاستخدام النموذجي لنطاق الأسماء إلى التسجيل، والتحضير لحالة الخمول، وتعليق نظام التشغيل، بالإضافة إلى الاستيقاظ اللاحق:
- التسجيل: يُنشئ التطبيق القادر على S2R التابع الخاص به ويستدعي
ara::sm::s2r::S2RSatellite::Offerلتسجيل الدخول في المركز ([SWS_SM_00710]). ومن المفترض أن يتم الإخطار بين المركز والتوابع عبر الاتصال بين العمليات الداخلي للمنصة (تفسير). سؤال (مفتوح) - طلب التعليق: يستدعي مستوى التحكم
ara::sm::s2r::S2RHub::RequestToEnterSuspendMode([SWS_SM_00701]). وفي نهجStateMachine، يتم إطلاق ذلك بواسطة العنصرEnterSuspendToRam، مع تمرير قيمة التكوين الخاصة بهmaxActionItemDurationكمعلمة مهلة زمنية ([SWS_SM_00689]). - إخطار التوابع: يعنون المركز جميع التوابع المسجلة ويباشر تنفيذ رد النداء
ara::sm::s2r::S2RSatellite::EnterSuspendMode([SWS_SM_00701]، [SWS_SM_00711]). ويعودRequestToEnterSuspendModeبمجرد استجابة جميع التوابع، أو إلغاء تسجيلها، أو حدوث مهلة زمنية ([SWS_SM_00702]). - إيقاف نظام التشغيل مؤقتًا: من خلال استدعاء
ara::sm::s2r::S2RHub::EnterSuspendToRamOs(أو عبر عنصر قائمة الإجراءاتEnterSuspendToRamOs)، يتم بدء حالة الخمول الفعلية لنظام التشغيل ([SWS_SM_00692]). - تنسيق الاستيقاظ: بعد إعادة التشغيل، يتم استدعاء
ara::sm::s2r::S2RHub::RequestToLeaveSuspendMode([SWS_SM_00703]، [SWS_SM_00691]). ويوجّه المركز التوابع لتنفيذ رد النداءara::sm::s2r::S2RSatellite::LeaveSuspendMode([SWS_SM_00703]، [SWS_SM_00711]). - إلغاء التسجيل: إذا لم تعد إحدى العمليات ترغب في مواصلة المشاركة، فإنها تُلغي تسجيلها عبر
ara::sm::s2r::S2RSatellite::StopOffer([SWS_SM_00710]، [SWS_SM_00713]).
مخطط التسلسل: ترتيب الاستدعاءات لتحضير وإنهاء Suspend-to-RAM. المصادر: [SWS_SM_00701]، [SWS_SM_00702]، [SWS_SM_00703]، [SWS_SM_00707]، [SWS_SM_00710]، [SWS_SM_00711].
سيناريوهات الأخطاء
تظهر شروط خطأ محددة في التفاعل بين الفئات:
- انتهاك IAM عند إنشاء المركز: إذا لم يتطابق سياق العملية عند استدعاء منشئ الفئة مع
SuspendToRamHubMapping.process، فسيتم إطلاق الانتهاكInsufficientPermissionsViolationوالإبلاغ عن حدث الأمانSEV_ACCESS_CONTROL_SM_IAM_ACCESS_DENIED</a>([SWS_SM_00706]). - رفض التوابع غير الموثقة: إذا انحرف سياق
S2RSatelliteعن العملية المودعة فيSuspendToRamSatelliteMapping، يرفض المركز التسجيل ([SWS_SM_00715]). - متطلب المصادقة لدى التابع: في حالة تعيين التكوين Force IAM switch، يفشل
ara::sm::s2r::S2RSatellite::Createبرمز الخطأkAuthenticationRequired([SWS_SM_00716]). - تجاوز مهلة الاتصال: إذا لم يستجب تابع معنْوَن خلال مرحلة التعليق أو الاستيقاظ ضمن المهلة الزمنية
timeout، تُرجع العملية رمز الخطأkCommunicationTimeout([SWS_SM_00707]). - مشكلات عند مغادرة وضع التعليق: إذا استجاب تابع واحد على الأقل بصورة سلبية بـ
kRejectedعلى طلب مغادرة وضع التعليق، فإنRequestToLeaveSuspendModeيؤكد النتيجة الإجمالية بـkAtLeastOneHadIssuesToLeave([SWS_SM_00707]). - استخدام API متزامن: يُحظر الاستخدام المتزامن لـ C++-API الخاصة بـ
S2RHubإلى جانب نهجStateMachineالداخلي، ويؤدي ذلك إلى حالات عدم اتساق ([SWS_SM_00684]).
يستند هذا الدليل إلى مواصفة AUTOSAR_AP_SWS_StateManagement (الإصدار R25-11).
لا توجد بيانات عناصر لهذا الإصدار
الفئات
S2RHub class.
S2RSatellite abstract class.
مخطط الفئة
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-low· 2026-10-13 · الأصل الألماني