DEENESPTFRRUARHIKOZHNL

نطاق أسماء ara::sm

دليل المستخدممولَّد بالذكاء الاصطناعي

يوفر نطاق الخطأ ورموز الخطأ للتحكم في حالات النظام وعمليات 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]).

G app SMControlApplication أو StateMachine hub S2RHub / State Management Daemon app->hub S2RHub-Steuerung [SWS_SM_00684] errdomain SmErrorDomain (ara::sm) app->errdomain فحص الأخطاء [SWS_SM_81251] satellite S2RSatellite (Prozesskontext) hub->satellite Suspend-Trigger [SWS_SM_00701] hub->errdomain Fehlercode erzeugen [SWS_SM_81240] satellite->hub Offer / Status [SWS_SM_00710]

مخطط السياق: توزيع الأدوار ومسارات التفاعل بين تطبيق التحكم، وعفريت State Management، والتوابع، ونطاق الخطأ. المصادر: [SWS_SM_00684]، [SWS_SM_00701]، [SWS_SM_00710]، [SWS_SM_81240]، [SWS_SM_81251].

مسار الاستخدام

ينقسم الاستخدام النموذجي لمساحة الأسماء إلى تسجيل العمليات من جانب التطبيق، وإطلاق الانتقالات المنسقة، وتقييم رموز الخطأ الناتجة. بالنسبة للعمليات التي تتمتع بقدرات التعليق إلى ذاكرة الوصول العشوائي (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 وإتاحتها للتطبيق المستدعي.

سير تنسيق Suspend-to-RAM ومعالجة الأخطاءSMControlApplicationS2RHubS2RSatelliteSmErrorDomainUse Case: Suspend-AnforderungRequestToEnterSuspendMode()EnterSuspendMode() CallbackaltSatelliten quittieren erfolgreichتأكيد بدون أخطاءإرجاع النجاح (النتيجة إيجابية)تابع واحد على الأقل يرفضإشعار رد kRejectedMakeErrorCode(SmErrc::kAtLeastOneRejected)ara::core::ErrorCodeFehlercode kAtLeastOneRejected

مخطط التسلسل: المسار النموذجي لتنسيق التعليق مع التوابع ومعالجة الأخطاء. المصادر: [SWS_SM_00701]، [SWS_SM_00702]، [SWS_SM_00707]، [SWS_SM_81240]، [SWS_SM_81244].

سيناريوهات الأخطاء

تتميز معالجة الأخطاء في ara::sm بنظام كتابة صارم وتعتمد على التعداد SmErrc ([SWS_SM_81240]). تتضمن رموز الخطأ المحددة ما يلي:

  • kOfferFailed: تعذر تقديم الخدمة لفشل الاتصال بعفريت State Management ([SWS_SM_81240]).
  • kCommunicationFailed: خطأ في طبقات النقل السفلية أثناء الاتصال بالتوابع ([SWS_SM_81240]).
  • kCommunicationTimeout: تجاوز أحد التوابع المخاطبة مهلة الاستجابة المحددة ([SWS_SM_81240]، [SWS_SM_00707]).
  • kAtLeastOneRejected: تعذر على تابع واحد على الأقل اتخاذ حالة التعليق بشكل سليم ([SWS_SM_81240]).
  • kAtLeastOneHadIssuesToLeave: أبلغ تابع واحد على الأقل عن kRejected عند الخروج من وضع التعليق ([SWS_SM_81240]، [SWS_SM_00707]).
  • kAuthenticationRequired: توثيق IAM مفروض ويتطلب التحقق الصريح من هوية التابع ([SWS_SM_81240]، [SWS_SM_00716]).

إن إتاحة نطاق الخطأ العام عبر GetSmDomain ([SWS_SM_81251]) وإنشاء رموز الخطأ عبر MakeErrorCode ([SWS_SM_81244]) مصرح عنهما كـ noexcept ويضمنان أمان الاستثناءات وأمان الخيوط. تفسير: يُرجح أن يُستخدم رمي SmException بالدرجة الأولى عندما يرغب المستدعون في تحويل رموز خطأ SmErrorDomain إلى مسارات تحكم قائمة على الاستثناءات، بينما تُرجع الواجهات الوظيفية ara::core::ErrorCode بشكل منتظم في حالة حدوث خطأ. سؤال Q-5afcc13f11bdf19b (مفتوح)

يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive R25-11.

خريطة المواضيع

الأنواع والثوابت

1

مخطط الفئة

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.

G cluster_ns ara::sm nara__sm__SmErrorDomain SmErrorDomain next_ara__core__ErrorDomain ara::core::ErrorDomain nara__sm__SmErrorDomain->next_ara__core__ErrorDomain nara__sm__SmException SmException next_ara__core__Exception ara::core::Exception nara__sm__SmException->next_ara__core__Exception

عرض التفاصيل

اختر عنصرًا من المخطط.

الفئات

Defines the error domain for State Management.

يرث من ara::core::ErrorDomain

Exception type thrown by State Management.

يرث من ara::core::Exception

الدوال

GetSmDomain دالة

Returns the global SmErrorDomain object.

constexpr const ara::core::ErrorDomain & GetSmDomain () noexcept;
MakeErrorCode دالة

Creates an error code.

constexpr ara::core::ErrorCode MakeErrorCode (SmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

الأنواع والثوابت

SmErrc تعداد

Defines an enumeration class for the State Management error codes.

enum class SmErrc : ara::core::ErrorDomain::CodeType {...};

التعدادات

تعداد SmErrc [SWS_SM_81240] Upstream: RS_AP_00119

enum class SmErrc :          ara::core::ErrorDomain::CodeType {...};

Defines an enumeration class for the State Management error codes.

Header-Datei#include "ara/sm/sm_error_domain.h"
Forwarding-Header#include "ara/sm/sm_fwd.h"
Scopenamespace ara::sm
SymbolSmErrc
Basistypara::core::ErrorDomain::CodeType

Werte

EnumeratorBeschreibung
kOfferFailed=2 Service could not be offered due to failure of communication with Sm daemon
kCommunicationFailed=3 Communication to satellites failed on lower layers.
kCommunicationTimeout=4 Timeout of communication with satellites.
kAtLeastOneRejected=5 At least one Satellite instance had issues to enter Suspend Mode.
kAtLeastOneHadIssuesToLeave=6 At least one Satellite instance had issues to leave Suspend Mode.
kRejected=7 Issue to enter or leave the Suspend Mode.
kAuthenticationRequired=8 S2R Satellite requires IAM authentication. ara::sm::s2r:: S2RSatellite::S2RSatellite has to be used instead.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_SM_81240
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81240@rel:R25-11#ca5e758f
Content hash
ca5e758f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81240
Status: valid/unmigrated Version: rel:R25-11#5d63dfbc Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_SM_81240@rel:R25-11#5d63dfbc
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

توثيق الدوال الحرة

دالة GetSmDomain [SWS_SM_81251] Upstream: RS_AP_00119, RS_AP_00159

constexpr const ara::core::ErrorDomain & GetSmDomain () noexcept;

Returns the global SmErrorDomain object.

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopenamespace ara::sm
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
const ara::core::ErrorDomain &The global SmErrorDomain object.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_SM_81251
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81251@rel:R25-11#3cd24519
Content hash
3cd24519
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81251
Status: valid/unmigrated Version: rel:R25-11#e09ae583 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_SM_81251@rel:R25-11#e09ae583
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

دالة MakeErrorCode [SWS_SM_81244] Upstream: RS_AP_00119, RS_AP_00159

constexpr ara::core::ErrorCode MakeErrorCode (SmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

Creates an error code.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: 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]). وبالتالي، يمكن استخدامها دون مزامنة إضافية من أي سياقات استدعاء متزامنة.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي استنادًا إلى المواصفة.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopenamespace ara::sm
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
codeError code number.
dataVendor defined data associated with the error.

Rückgabewert

TypBeschreibung
ara::core::ErrorCodeAn ErrorCode object.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_SM_81244
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81244@rel:R25-11#5c57883e
Content hash
5c57883e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81244
Status: valid/unmigrated Version: rel:R25-11#7c0ada43 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_SM_81244@rel:R25-11#7c0ada43
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill