DEENESPTFRRUARHIKOZHNL

وحدة ara::exec — Execution Management

Spezifikation: AUTOSAR_AP_SWS_ExecutionManagement.pdf (R25-11) · 54 API-Records

دليل الوحدةمولَّد بالذكاء الاصطناعي

ينسق دورة الحياة الحتمية للعمليات وينفذ تغييرات الحالة على AUTOSAR Adaptive Platform.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 499742989dc9 المصدر أسئلة مفتوحة (1)
المرساة السببية: R25-11 صالح اعتبارًا من R25-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

ينسق دورة الحياة الحتمية للعمليات وينفذ تغييرات الحالة على AUTOSAR Adaptive Platform.

تدير وحدة Execution Management بصفتها برنامج خفي (Daemon) مركزي للمنصة دورة الحياة الحتمية لعمليات POSIX على AUTOSAR Adaptive Platform (AUTOSAR AP SWS ExecutionManagement ص. 18). وتستقبل حالات التنفيذ عبر ExecutionClient ([SWS_EM_02003]) وتنفذ انتقالات مجموعات الوظائف الموجهة من State Management بشكل غير متزامن من خلال بدء العمليات وإنهائها ([SWS_EM_02278]). وتتمثل الشروط الأساسية في حظر تبعيات البدء عبر مجموعات الوظائف والتصعيد الصارم للأخطاء عند انتهاك المهل الزمنية (SWS ExecutionManagement ص. 65).

تُشكّل العنقودية الوظيفية Execution Management (EM) برنامج الخدمة الخلفي (Daemon) المركزي للمنصة في AUTOSAR Adaptive Platform لإدارة العمليات الحتمية والتحكم في دورة الحياة ضمن مساحة مستخدم POSIX (AUTOSAR AP SWS ExecutionManagement ص. 18). وهي تفصل بدقة بين قرار السياسة (Policy) والتنفيذ الفني (Mechanism): فبينما يحدد State Management الحالات المستهدفة، يتحكم EM في إنشاء العمليات، والترتيب المتسلسل، ومعالجة الإشارات (AUTOSAR AP EXP SWArchitecture ص. 56). ومن خلال [SWS_EM_02562] ExecutionClient، تبلّغ التطبيقات وخدمات المنصة عن حالتها [SWS_EM_02000] kRunning عبر [SWS_EM_02003] ReportExecutionState()، بينما يطلب State Management تغييرات الحالة عبر [SWS_EM_02276] StateClient (AUTOSAR AP EXP SWArchitecture ص. 48).

G OS Operating System (POSIX Kernel) EM Execution Management (daemon-based) OS->EM Start via main() / Process Spawning SM State Management (daemon-based) EM->SM Process Lifetime Control / undefinedStateCallback App Adaptive Applications / Platform Daemons EM->App Process Lifecycle (fork/exec, SIGTERM, SIGKILL) SM->EM StateClient::SetState() GetInitialMachineStateTransitionResult() App->EM ExecutionClient::ReportExecutionState()

مخطط سياقي: تضمين Execution Management كبرنامج خدمة خلفي مركزي بين State Management ونظام تشغيل POSIX وعمليات العميل. المصادر: AUTOSAR AP EXP SWArchitecture ص. 56، AUTOSAR AP SWS ExecutionManagement ص. 18، [SWS_EM_02003]، [SWS_EM_02278].

بعد بدء التشغيل بواسطة نظام التشغيل، يبدأ EM تشغيل State Management ويزامنه عبر [SWS_EM_02279] GetInitialMachineStateTransitionResult() مع حالة الآلة Startup (AUTOSAR AP SWS ExecutionManagement ص. 52). وتُطلق الانتقالات اللاحقة لحالات [SWS_EM_02586] FunctionGroup بشكل غير متزامن باستخدام [SWS_EM_02278] SetState(): حيث ينهي EM العمليات التي لم تعد مطلوبة بصورة منظمة عبر SIGTERM، ويبدأ العمليات التالية مع مراعاة تبعيات البدء المحلية، ويستوفي Future الناتج بمجرد أن تصبح جميع العمليات جاهزة للتشغيل (AUTOSAR AP SWS ExecutionManagement ص. 53، SWS ExecutionManagement ص. 71).

Erfolgreicher Funktionsgruppen-ZustandswechselSMEMProcess A (alt)Process B (neu)SetState(targetState)Future<void>Use Case: إيقاف العمليات التي لم تعد مطلوبةSIGTERMالتنظيف & الإنهاءتم إنهاء العملية (EXIT_SUCCESS)Use Case: بدء عمليات جديدة للحالة المستهدفةCreateProcess(Process B)InitialisierungReportExecutionState(kRunning)Result<void>Use Case: اكتمال الانتقال بين الحالاتتم الوفاء بـ Future (اكتمل الانتقال)

مخطط تسلسلي: تغيير ناجح لحالة Function Group مع إنهاء منظم للعمليات وإعادة تشغيل للعمليات. المصادر: AUTOSAR AP SWS ExecutionManagement ص. 53، AUTOSAR AP SWS StateManagement ص. 26، [SWS_EM_02278]، [SWS_EM_02003].

لضمان متطلبات الوقت الحقيقي، يدعم EM التعيين المسبق الحتمي للعمليات (Pre-mapping) لتجنب أخطاء الصفحات (Page Faults) (SWS ExecutionManagement ص. 82)، بالإضافة إلى تجمعات عمال (Worker Pools) وآليات تزامن حتمية (SWS ExecutionManagement ص. 86، SWS ExecutionManagement ص. 92). وإذا تجاوزت إحدى العمليات نافذتها الزمنية للبدء، يتدخل التعامل مع الأخطاء: ينهي EM العملية، ويضع الـ Function Group في Undefined State، ويستدعي رد الاتصال (Callback) المسجل ([SWS_EM_02276])، ويوفر تفاصيل الخطأ عبر [SWS_EM_02542] GetExecutionError() ونطاق أخطاء الوحدة [SWS_EM_02281] ExecErrc (AUTOSAR AP SWS ExecutionManagement ص. 54).

حدود النظام والدور الوظيفي لـ Execution Management

تُشكّل الوحدة exec (Execution Management، EM) خدمة المنصة المركزية في AUTOSAR Adaptive Platform لإدارة العمليات ودورة الحياة الحتمية في مساحة المستخدم المعتمدة على POSIX (AUTOSAR AP SWS ExecutionManagement ص. 18). وتتسم البنية المعمارية بالفصل الصارم بين قرار التحكم (Policy) والتنفيذ الفني (Mechanism): فبينما تتخذ العنقودية الوظيفية State Management القرارات بشأن أوضاع التشغيل والانتقالات العليا، يعمل Execution Management كجهة تنفيذية لتخصيص العمليات، وترتيبات البدء، والمراقبة، والإنهاء (AUTOSAR AP EXP SWArchitecture ص. 56).

ينفذ Execution Management واجهات تشغيل C++ أصلية لدورين متكاملين: عبر الفئة [SWS_EM_02562] ara::exec::ExecutionClient، تبلّغ عمليات التطبيق وبرامج الخدمة الخلفية الداخلية للمنصة (مثل Diagnostic Management أو Platform Health Management أو Communication Management) عن حالة تنفيذها إلى برنامج الخدمة الخلفي (AUTOSAR AP EXP SWArchitecture ص. 48، AUTOSAR AP SWS CommunicationManagement ص. 34). وعبر الواجهة [SWS_EM_02276] ara::exec::StateClient، يتفاعل State Management مع برنامج الخدمة الخلفي لطلب انتقالات الـ Function Group وانتقالات الآلة والاستعلام عن تقارير الحالة (AUTOSAR AP SWS ExecutionManagement ص. 17).

G OS Operating System (POSIX Kernel) EM Execution Management (daemon-based) OS->EM Start via main() / Process Spawning SM State Management (daemon-based) EM->SM Process Lifetime Control / undefinedStateCallback App Adaptive Applications / Platform Daemons EM->App Process Lifecycle (fork/exec, SIGTERM, SIGKILL) SM->EM StateClient::SetState() GetInitialMachineStateTransitionResult() App->EM ExecutionClient::ReportExecutionState()

مخطط سياقي: تضمين Execution Management كبرنامج خدمة خلفي مركزي بين State Management ونظام تشغيل POSIX وعمليات العميل. المصادر: AUTOSAR AP EXP SWArchitecture ص. 56، AUTOSAR AP SWS ExecutionManagement ص. 18، [SWS_EM_02003]، [SWS_EM_02278].

معمارية الحالة ونموذج دورة الحياة متعدد المستويات

تعمل إدارة الحالات في Execution Management على ثلاثة مستويات هرمية مترابطة: حالات الـ Function Group العليا (Function Group States)، وحالات دورة حياة نظام التشغيل الخارجية من منظور برنامج الخدمة الخلفي (Process States)، بالإضافة إلى الحالات الداخلية للعملية (Execution States) (AUTOSAR EXP PlatformDesign ص. 29، AUTOSAR AP SWS ExecutionManagement ص. 62). وعلى مستوى برنامج الخدمة الخلفي، تجتاز العملية المهيأة نمطيًا السلسلة Idle، Starting، Running، Terminating، وTerminated (AUTOSAR AP SWS StateManagement ص. 32).

بالنسبة للمنظور الداخلي للعملية، تحدد الوحدة التعداد [SWS_EM_02000] ara::exec::ExecutionState. والحالة المعيارية القابلة للإبلاغ إلى Execution Management هي الحالة kRunning عبر الدالة العضو [SWS_EM_02003] ReportExecutionState(). أما المراحل السابقة مثل Initializing فتُعد بالنسبة لـ Execution Management حالات ضمنية تبدأ مباشرة مع الجدولة الأولى لعملية POSIX قبل تنفيذ كود المستخدم ([SWS_EM_02000]، AUTOSAR EXP AdaptivePlatformInterfacesGuidelines ص. 11). ولا تمثل أوضاع التشغيل والطاقة التطبيقية (PowerModes) حالات لنظام التشغيل، بل ترتبط منطقيًا بمرحلة دورة الحياة النشطة Running (AUTOSAR AP SWS StateManagement ص. 32).

G Idle Idle (محدد في البيان Manifest) Starting Starting (implizit Initializing) Idle->Starting EM يُنشئ العملية (allocate resources) Running Running (ReportExecutionState: kRunning) Starting->Running App meldet kRunning Terminating Terminating (SIGTERM / عمليات التنظيف) Running->Terminating Zustandswechsel fordert Stop (SIGTERM) Terminated Terminated (تم إنهاء العملية) Terminating->Terminated انتهاء العملية (EXIT_SUCCESS / إشارة)

مخطط الحالة: ارتباط حالات الـ Function Group بمراحل دورة الحياة في Execution Management وحالات العملية الداخلية. المصادر: AUTOSAR EXP PlatformDesign ص. 29، AUTOSAR AP SWS ExecutionManagement ص. 32، [SWS_EM_02000].

بدء تشغيل المنصة الحتمي والتهيئة المبدئية

يتم بدء تشغيل AUTOSAR Adaptive Platform في تسلسل منسق بدقة انطلاقًا من نواة نظام التشغيل (AUTOSAR EXP SWArchitecture ص. 148). ويبدأ نظام التشغيل تشغيل Execution Management عبر نقطة إدخال برنامجه main() (AUTOSAR AP SWS ExecutionManagement ص. 52). وبمجرد الانتهاء من التهيئة الذاتية، ينشئ Execution Management عملية State Management (AUTOSAR AP SWS StateManagement ص. 25).

بمجرد تهيئة State Management، فإنه يبلّغ عن جاهزيته للتشغيل باستخدام [SWS_EM_02003] ReportExecutionState(ExecutionState::kRunning) عبر ExecutionClient إلى Execution Management (AUTOSAR AP SWS ExecutionManagement ص. 52). بعد ذلك، يتزامن State Management عبر [SWS_EM_02279] GetInitialMachineStateTransitionResult() مع اكتمال انتقال الآلة الأولي إلى الحالة Startup؛ حيث تُرجع هذه الدالة كائن ara::core::Future<void> ([SWS_EM_02279]، AUTOSAR EXP SWArchitecture ص. 151). ولا يطلب State Management الانتقال إلى حالات الـ Function Group اللاحقة إلا بعد الاستيفاء الناجح لكائن Future هذا (AUTOSAR AP SWS StateManagement ص. 24).

إقلاع المنصة حتى حالة مجموعة الوظائف الأوليةOSEMSMmain()Selbstinitialisierung &Manifest-AuswertungCreateProcess(SM)SM InitialisierungReportExecutionState(kRunning)Result<void>GetInitialMachineStateTransitionResult()Future<void>تم الوفاء بـ Future (اكتمل بدء التشغيل)SetState(FunctionGroupState &stateXYZ)Future<void>

مخطط تسلسلي: بدء تشغيل المنصة بدءًا من تهيئة نظام التشغيل مرورًا ببدء State Management حتى إتاحة الحالة اللاحقة. المصادر: AUTOSAR AP SWS ExecutionManagement ص. 52، AUTOSAR AP SWS StateManagement ص. 25، [SWS_EM_02279]، [SWS_EM_02003].

التحكم في الـ Function Groups وانتقالات الحالة غير المتزامنة

تتم نمذجة تغييرات الحالة تطبيقيًا عبر ممثلي الفئات [SWS_EM_02586] ara::exec::FunctionGroup و[SWS_EM_02324] ara::exec::FunctionGroupState. ولضمان الإدارة الحتمية للموارد، فإن FunctionGroup غير قابل للنسخ ([SWS_EM_02322]، [SWS_EM_02327])، بل قابل للنقل فقط ([SWS_EM_02328]، [SWS_EM_02329]) وقابل للتقييم عبر مقارنات النماذج ([SWS_EM_02267]، [SWS_EM_02268]). ويربط FunctionGroupState الـ Function Group بحالة مستهدفة ([SWS_EM_02324]) ويدعم دلالات النسخ والنقل على حد سواء ([SWS_EM_02325]، [SWS_EM_02330]، [SWS_EM_02331]، [SWS_EM_02332]، [SWS_EM_02273]، [SWS_EM_02274]).

يبدأ State Management انتقالًا عبر استدعاء [SWS_EM_02278] StateClient::SetState()، وهو ما يُرجع بشكل متزامن كائن ara::core::Future<void> (AUTOSAR AP SWS StateManagement ص. 31). وعندئذٍ، ينفذ Execution Management سلسلة الانتقال: تتلقى العمليات قيد التشغيل، غير المهيأة في الحالة المستهدفة، إشارة SIGTERM (AUTOSAR AP SWS ExecutionManagement ص. 53). وبعد إنهائها، يبدأ EM العمليات المخصصة للحالة المستهدفة وينتظر تقرير حالتها عبر [SWS_EM_02003] ReportExecutionState() (AUTOSAR AP SWS StateManagement ص. 26، AUTOSAR SWS ExecutionManagement ص. 49). وفقط عندما تبدأ جميع العمليات المعنية بنجاح، يتم استيفاء كائن Future الخاص بـ SetState() إيجابيًا (AUTOSAR AP SWS ExecutionManagement ص. 53).

لا يجوز أبدًا تعريف تبعيات البدء (Execution Dependencies) عبر حدود Function Group مفردة أو عبر حالات مختلفة (SWS ExecutionManagement ص. 65). وعند تغييرات الحالة، ينفذ Execution Management حل تبعيات البدء بدقة للعمليات الخاصة بالحالة المستهدفة المطلوبة (RequestedState) (SWS ExecutionManagement ص. 71). وإذا اختلفت تكوينات بدء إحدى العمليات بين الحالة الأولية والحالة المستهدفة، يفرض Execution Management إعادة تشغيلها (SWS ExecutionManagement ص. 65).

Erfolgreicher Funktionsgruppen-ZustandswechselSMEMProcess A (alt)Process B (neu)SetState(targetState)Future<void>Use Case: إيقاف العمليات التي لم تعد مطلوبةSIGTERMالتنظيف & الإنهاءتم إنهاء العملية (EXIT_SUCCESS)Use Case: بدء عمليات جديدة للحالة المستهدفةCreateProcess(Process B)InitialisierungReportExecutionState(kRunning)Result<void>Use Case: اكتمال الانتقال بين الحالاتتم الوفاء بـ Future (اكتمل الانتقال)

مخطط تسلسلي: تغيير ناجح لحالة Function Group مع إنهاء منظم للعمليات وإعادة تشغيل للعمليات. المصادر: AUTOSAR AP SWS ExecutionManagement ص. 53، AUTOSAR AP SWS StateManagement ص. 26، [SWS_EM_02278]، [SWS_EM_02003].

تكوين العمليات، وتخصيص الذاكرة، والتعيين المسبق

في الأنظمة الواقعية، توجد بجانب التطبيقات القياسية أيضًا عمليات تفتقر إلى الإبلاغ المدمج عن الحالة (Non-reporting Processes). وتنتقل مثل هذه العمليات تلقائيًا بعد البدء إلى حالة التنفيذ Running (SWS ExecutionManagement ص. 44). ولتأمين سلاسل التبعية مع ذلك، يمكن تقديم عملية مرافقة خاصة بالمشروع (Companion Process)، تقوم بتقييم الجاهزية الوظيفية لعملية Non-reporting وتبلّغ نيابةً عنها عن [SWS_EM_02003] kRunning قبل بدء العمليات التابعة اللاحقة (SWS ExecutionManagement ص. 44، SWS ExecutionManagement ص. 48).

فيما يتعلق بمتطلبات الموارد، يحد المعلمة resourceConsumption.memoryUsage من الذاكرة الرئيسية التي يمكن للعملية نفسها تخصيصها، وهو ما يتم تنفيذه عادةً في أنظمة POSIX عبر RLIMIT_AS (SWS ExecutionManagement ص. 82، SWS ExecutionManagement ص. 104). ولضمان الحتمية الزمنية والأمان الوظيفي، يدعم Execution Management التعيين المسبق (Pre-mapping): فإذا تم تفعيل Process.preMapping في البيان (Manifest)، يقوم EM بتعيين الكود ومناطق البيانات الخاصة بالعملية مسبقًا بالكامل في الذاكرة الفعلية (SWS ExecutionManagement ص. 82). وهذا يمنع التأخيرات الناتجة عن التحميل عند الطلب (Demand-Loading) عند الوصول الأول، ويضمن التوفر الدائم لإجراءات معالجة الأخطاء الحرجة للأمان، ويحمي من الأخطاء اللاحقة الناجمة عن تلف أنظمة الملفات (SWS ExecutionManagement ص. 82).

زمن التنفيذ الحتمي ونماذج التزامن

بالنسبة للتطبيقات ذات الأهمية الحرجة للوقت الحقيقي، يوفر Execution Management آليات للتنفيذ الحتمي (SWS ExecutionManagement ص. 79). وتتفاعل العمليات الدورية مع العميل عبر API لنقاط الانتظار، والتي تتحكم في أوضاع مثل اكتشاف الخدمة (Service Discovery)، والتهيئة المبدئية، والتنفيذ، والإنهاء (SWS ExecutionManagement ص. 79). ويتم تجريد معالجة البيانات المتوازية عبر Worker Pools: ولضمان حتمية البيانات، يُحظر تبادل البيانات بين النماذج المتزامنة لـ WorkerRunnable (SWS ExecutionManagement ص. 86).

لتزامن عدة عمليات متكررة أو موزعة، يُستخدم DeterministicSyncMaster (SWS ExecutionManagement ص. 92). وفي حالة التنشيط المدفوع بالأحداث، تقرر سياسة قابلة للتكوين (مثل قرار الأغلبية M-من-N) متى يتم إرسال استجابات التزامن (SWS ExecutionManagement ص. 92). وفي حالة التنشيط الدوري، يحدث تزامن لمرة واحدة في البداية، وبعد ذلك يحدد مخزن الطابع الزمني المؤقت العام دورة البدء، وتُدار الدورات اللاحقة بشكل مستقل عبر عدادات محلية ومراقبة للمهل الزمنية (SWS ExecutionManagement ص. 92). ويمكن توفير Sync-Master إما كعملية مستقلة أو دمجه كمكتبة في إطار عمل Software-Lockstep (SWS ExecutionManagement ص. 94، SWS ExecutionManagement ص. 95).

التصرف في حالة الخطأ

في حالة الخطأ، تنقسم المعمارية وفقًا لمخطط تحمل الأخطاء العام إلى اكتشاف الأخطاء (Error Detection) ثم استعادة الأخطاء (Error Recovery) اللاحقة (SWS ExecutionManagement ص. 86، SWS ExecutionManagement ص. 107). وإذا حدثت مهلة بدء التشغيل أثناء تغيير حالة الـ Function Group – على سبيل المثال لأن عملية قيد البدء لم ترسل [SWS_EM_02003] ReportExecutionState(kRunning) خلال المهلة المحددة بالمعلمات –، يقطع Execution Management التسلسل المعتاد (AUTOSAR AP SWS ExecutionManagement ص. 54).

من المفترض في هذه الحالة أن يشمل التصعيد الداخلي الإنهاء القسري للعملية المعيبة عبر SIGKILL؛ وبعد استنفاد محاولات إعادة التشغيل المهيأة، تنتقل الـ Function Group المعنية إلى حالة غير محددة (Undefined Function Group State) (AUTOSAR AP SWS ExecutionManagement ص. 54، [SWS_EM_02542]). سؤال Q-5a8b6ad2e9e22eb4 (مفتوح) وعند الدخول في حالة غير محددة، يُطلق Execution Management رد الاتصال (Callback) undefinedStateCallback الممرر أثناء إنشاء مثيل StateClient ([SWS_EM_02276]، [SWS_EM_02561]). ويمكن لـ State Management بعد ذلك الاستعلام عن الحدث المرتبط ara::exec::ExecutionErrorEvent عبر [SWS_EM_02542] GetExecutionError()، والذي يوفر الـ Function Group المعيبة ([SWS_EM_02546]) ورمز الخطأ [SWS_EM_02541] ExecutionError ([SWS_EM_02545]) ([SWS_EM_02542]). وإذا عادت الـ Function Group إلى حالة محددة، يفشل GetExecutionError() ([SWS_EM_02542]).

معالجة الأخطاء عند انتهاء مهلة بدء التشغيلSMEMProcess BSetState(targetState)Future<void>CreateProcess(Process B)optانتهاء مهلة بدء التشغيل دون kRunningTimeout erkanntSIGKILLFunktionsgruppe in Undefined State versetzenundefinedStateCallback(ExecutionErrorEvent)الوفاء بـ Future مع وجود خطأGetExecutionError(state)Result<ExecutionErrorEvent>

مخطط تسلسلي: التعامل مع الأخطاء عند تجاوز مهلة بدء التشغيل لعملية ما أثناء انتقال الحالة. المصادر: AUTOSAR AP SWS ExecutionManagement ص. 54، [SWS_EM_02278]، [SWS_EM_02276]، [SWS_EM_02542].

للمعالجة الموحدة للأخطاء، تمتلك الوحدة نطاق الخطأ [SWS_EM_02286] ara::exec::ExecErrorDomain (يمكن استرجاعه عبر [SWS_EM_02290] GetExecErrorDomain()، واسم التعريف عبر [SWS_EM_02287] Name()، والرسائل النصية عبر [SWS_EM_02288] Message()). وتُمثَّل أخطاء التنفيذ المحددة بواسطة رمز التعداد [SWS_EM_02281] ExecErrc (مثل kNoCommunication) ويتم إنشاؤها عبر [SWS_EM_02291] MakeErrorCode(). وعند تفعيل معالجة الاستثناءات، يمكن طرح الأخطاء عبر [SWS_EM_02289] ThrowAsException() كـ [SWS_EM_02283] ExecException. وعلاوة على ذلك، يضمن مدمر الكائن [SWS_EM_02002] ~ExecutionClient() إعادة تعيين المعالجات المعتمدة سابقًا لـ SIGTERM إلى قيمتها الأصلية، بينما تتدخل ردود اتصال الإلغاء الممررة عند إنشاء العملية عند تلقي إشارة إنهاء ([SWS_EM_02560]، [SWS_EM_02562]). ويتم تنسيق إجراءات الاستعادة الأوسع نطاقًا (Recovery Actions مثل إعادة تشغيل العملية أو الانتقال إلى وضع الطوارئ) بالتعاون مع Platform Health Management (AUTOSAR SWS ExecutionManagement ص. 54).

أدلة تفصيلية إضافية

تُصنف النظرة العامة التالية متطلبات المواصفات والمراجع الجوهرية وفقًا للمجالات الموضوعية التي تمت معالجتها:

المجال الموضوعيالمراجع الأساسيةالأهمية الوظيفية
الإبلاغ عن حالة العملية[SWS_EM_02000], [SWS_EM_02003], [SWS_EM_02562]يحدد ExecutionState، وإنشاء ExecutionClient، والإبلاغ عن kRunning.
التحكم في Function Group[SWS_EM_02278], [SWS_EM_02586], [SWS_EM_02324]انتقال غير متزامن للحالة عبر SetState()، وإنشاء مثيل لـ FunctionGroup وFunctionGroupState.
بدء تشغيل المنصة[SWS_EM_02279], AUTOSAR AP SWS ExecutionManagement S. 52تزامن State Management مع حالة الآلة الأولية Startup.
معالجة الأخطاء & ردود الاتصال (Callbacks)[SWS_EM_02276], [SWS_EM_02542], [SWS_EM_02281]تسجيل undefinedStateCallback، والاستعلام عن ExecutionErrorEvent، ونطاق الخطأ ExecErrc.
حتمية الذاكرةSWS ExecutionManagement S. 82التعيين المسبق (Pre-mapping) الكامل للعمليات لتجنب فترات التأخير الناجمة عن التحميل عند الطلب (Demand-Loading).

تم إنشاء دليل الوحدة هذا آليًا بناءً على بيانات مواصفات الإصدار R25-11 من AUTOSAR Adaptive Platform.

function: 42 class: 6 enumeration: 2 variable: 2 type alias: 1 struct: 1

ara::exec

Defines a class representing the Execution Management error domain.

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

Defines a class for exceptions to be thrown by the Execution Management.

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

The ara::exec::ExecutionClient API provides the functionality for a Process to report its Execution State to the Execution Management.

Represents an execution error event which happens in a Function Group.

Class representing Function Group defined in meta-model (ARXML)

Class representing Function Group State defined in meta-model (ARXML)

ara::exec::StateClient is an interface of Execution Management that is used by State Management to request transitions between Function Grou

Returns a reference to the global ExecErrorDomain object.

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

Creates an instance of ErrorCode.

ExecErrc تعداد

Defines an enumeration class for the Execution Management error codes.

enum class ExecErrc : ara::core::ErrorDomain::CodeType {...};
ExecutionState تعداد

Defines the internal states of a Process. Scoped enumeration of uint32_t. Please note that ara::exec::ExecutionState includes only states reportable by the Process to Execution Management and therefore does not include enumerations e.g. the "Initializing" state mentioned in Figure 7.2 and Figure 7.12, which are an implied states for Execution Management. The Initializing state starts when Process is first scheduled (so no code executed yet) and ends when kRunning is reported ([SWS_EM_01004]). The Terminating state starts when termination is requested by Execution Management and ends when the Process terminates ([SWS_EM_01404]). For the reasons mentioned, Execution Management assumes that Process is in initializing state until kRunning will be reported by it.

enum class ExecutionState : std::uint32_t {...};
ExecutionError اسم نوع بديل

Represents the execution error.

using ExecutionError = std::uint32_t;

نطاقات الأسماء

مخطط الفئات UML للوحدة

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 ara::exec nara__exec__ExecErrorDomain631 ExecErrorDomain nara__core__ErrorDomain335 ara::core::ErrorDomain nara__exec__ExecErrorDomain631->nara__core__ErrorDomain335 nara__exec__ExecException556 ExecException nara__core__Exception792 ara::core::Exception nara__exec__ExecException556->nara__core__Exception792 nara__exec__ExecutionClient880 ExecutionClient nara__exec__ExecutionErrorEvent906 «struct» ExecutionErrorEvent nara__exec__FunctionGroup511 FunctionGroup nara__exec__FunctionGroupState299 FunctionGroupState nara__exec__StateClient893 StateClient