DEENESPTFRRUARHIKOZHNL

فئة ara::shwa::CpuSelector

Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.

[AP_SWS_SHWA_00408] لم يُستورد النص بعد Upstream: RS_SHWA_00006

class CpuSelector : public DeviceSelector {...};

Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.

Header-Datei#include "ara/shwa/device_selector.h"
Scopenamespace ara::shwa

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

يتيح تقييم أجهزة العتاد واختيارها بشكل موجه بناءً على استراتيجية محدد.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 89675708a89b المصدر أسئلة مفتوحة (3)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتيح تقييم أجهزة العتاد واختيارها بشكل موجه بناءً على استراتيجية محدد.

تُستخدم الفئة ara::shwa::CpuSelector في الوحدة shwa لتقييم أجهزة العتاد واختيارها بشكل موجه وفقاً لاستراتيجية محدد معينة [AP_SWS_SHWA_00410]. يمكن لبرمجيات التطبيق تقييم الأجهزة المرشحة المنفردة عبر operator() أو تحديد جهاز هدف مناسب مباشرةً عبر الطريقة SelectDevice() [AP_SWS_SHWA_00409]. وكشروط حافة أساسية، تم تحديد الواجهات بأنها غير آمنة لترابط العمليات، ولا تقدم دلالات تراجع، وتنقل الأخطاء المحتملة مثل الموارد المحجوزة حصرياً عبر ara::core::Result.

السياق

تعد الفئة ara::shwa::CpuSelector جزءاً من وحدة تسريع العتاد (shwa) ضمن AUTOSAR Adaptive Platform. وهي تشتق من الواجهة الأساسية DeviceSelector وتخصص الاختيار الوظيفي لأجهزة التنفيذ. وتتمثل مسؤوليتها الأساسية في تقييم أجهزة العتاد (Device) بناءً على استراتيجية محدد أو اختيار جهاز مناسب مباشرةً [AP_SWS_SHWA_00409]، [AP_SWS_SHWA_00410].

في النظام ككل، تعمل CpuSelector كحلقة وصل بين مكونات البرمجيات الطالبة ووحدات العتاد المتاحة. وبينما توفر DeviceSelector الواجهة العامة، يُرجَّح أن تستهدف CpuSelector كاستراتيجية محدد موارد العتاد القائمة على CPU بشكل خاص، كما يوحي اسم الفئة. سؤال Q-32abbae13e272c68 (مفتوح) وتدرج برمجيات التطبيق هذه الفئة لاتخاذ قرارات مدروسة حول ملاءمة الموارد قبل تفويض العمل.

دورة الحياة

يتم إنشاء مثيلات CpuSelector في سياق التطبيق أو بواسطة مثيلات إدارة عليا لتوفير استراتيجيات الاختيار. أُعلن عن عمليات التقييم والاختيار المركزية كـ const، ولهذا يتصرف المثيل ظاهرياً كعديم الحالة أثناء استخدامه ولا يعدل أي حالات اختيار داخلية [AP_SWS_SHWA_00409]، [AP_SWS_SHWA_00410].

بالنسبة للتزامن، فإن كلاً من SelectDevice() [AP_SWS_SHWA_00410] وoperator() [AP_SWS_SHWA_00409] ليسا آمنين لترابط العمليات (not thread-safe). ونظراً لأن الطرق محددة بأنها غير آمنة لترابط العمليات، يُرجَّح وجوب مزامنة عمليات الوصول المتزامنة إلى المثيل نفسه من CpuSelector بواسطة المستدعي. سؤال Q-fced1ce242dea2c2 (مفتوح) وفي نهاية دورة الحياة، يتم تفكيك المحدد دون إجراءات تراجع خاصة.

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

يشمل التفاعل النموذجي مع CpuSelector إما التقييم الفردي للمرشحين المنفردين أو الاستعلام المباشر عن الجهاز الهدف الأمثل. ولفحص المرشح، يمرر المستدعي مرجع جهاز إلى operator()(const Device &device) [AP_SWS_SHWA_00409]. ويُرجَّح أن تمثل القيمة المُرجعة من operator() كـ ara::core::Result<int> مقياس تقييم رقمي (درجة) لـ Device الممرر، والذي يمكن استناداً إليه مقارنة عدة أجهزة. سؤال Q-33885b34ba761592 (مفتوح)

إذا رغب التطبيق في ترك الاختيار بالكامل للاستراتيجية، فإنه يستدعي SelectDevice() [AP_SWS_SHWA_00410]. تحدد هذه الطريقة الجهاز المناسب داخلياً وترجع ara::core::Result<Device> يغلف الجهاز الهدف المختار.

تقييم جهاز واختياره باستخدام CpuSelectorالتطبيقCpuSelectorDeviceUse Case: Kandidatenbewertung via operator()operator()(device)التقييم وفقًا لاستراتيجية أداة الاختيارResult<int> (Score)Use Case: اختيار مباشر للجهاز عبر SelectDevice()SelectDevice()Auswahl anhand Selektor-StrategieResult<Device>

مخطط التسلسل: التسلسل النموذجي لتقييم جهاز هدف واختياره عبر CpuSelector. المصادر: [AP_SWS_SHWA_00409]، [AP_SWS_SHWA_00410].

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

كلتا الطريقتين معلنتان بـ noexcept وتضمنان أماناً كاملاً من الاستثناءات (exception safe) [AP_SWS_SHWA_00409]، [AP_SWS_SHWA_00410]. لا يتم الإبلاغ عن حالات الخطأ التي تطرأ عبر استثناءات C++، بل تُرجع عبر نطاق الخطأ في ara::core::Result.

تحدد المواصفات قيم الأخطاء التالية من ShwaErrorCode لكلتا الطريقتين:

  • ShwaErrorCode::kResourceBusy: تعذر تنفيذ التقييم أو الاختيار لأن المورد المعنون مشغول حالياً [AP_SWS_SHWA_00409]، [AP_SWS_SHWA_00410].
  • ShwaErrorCode::kFeatureNotSupported: هناك خاصية جهاز مطلوبة أو وظيفة محدد غير مدعومة من قِبل النظام [AP_SWS_SHWA_00409]، [AP_SWS_SHWA_00410].

كشرط مسبق لـ operator()، يجب أن يتوفر مرجع Device صالح. وتستغني كلتا الدالتين عن دلالات التراجع (no_rollback_semantics)، ولهذا لا يحدث تنظيف تلقائي لحالات النظام السابقة في حالة الخطأ [AP_SWS_SHWA_00409]، [AP_SWS_SHWA_00410].

تم إنشاء هذا الدليل بواسطة نظام ذكاء اصطناعي بناءً على مواصفة AUTOSAR Adaptive R25-11.

الدوال الأعضاء

SelectDevice دالة

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

virtual ara::core::Result< Device > SelectDevice () const noexcept override;

المعاملات

operator() دالة

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

ara::core::Result< int > operator() (const Device &device) const noexcept override;

التفاصيل

دالة SelectDevice [AP_SWS_SHWA_00410] Upstream: RS_SHWA_00006, RS_SHWA_00007

virtual ara::core::Result< Device > SelectDevice () const noexcept override;

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::CpuSelector
Thread Safetynot thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00410
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00410@rel:R25-11#ea3fdfe9
Content hash
ea3fdfe9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00410
Status: valid/unmigrated Version: rel:R25-11#25297b84 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/AP_SWS_SHWA_00410@rel:R25-11#25297b84
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

دالة operator() [AP_SWS_SHWA_00409] Upstream: RS_SHWA_00006, RS_SHWA_00007

ara::core::Result< int > operator() (const Device &device) const noexcept override;

Bewertet beziehungsweise selektiert ein Device entsprechend der Selektor-Strategie.

Scopeclass ara::shwa::CpuSelector
Thread Safetynot thread-safe no_rollback_semantics ShwaErrorCode::k ResourceBusy The operation could not be performed because the resource is currently busy no_rollback_semantics
Exception Safetyexception safe
ErrorsShwaErrorCode::k FeatureNotSupported Used when a requested feature isn’t supported

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

Record
AUTOSAR/AP/record/AP_SWS_SHWA_00409
Status
valid/unmigrated
Version
AUTOSAR/AP/record/AP_SWS_SHWA_00409@rel:R25-11#4065f628
Content hash
4065f628
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_SafeHardwareAcceleration.pdf#nameddest=AP_SWS_SHWA_00409
Status: valid/unmigrated Version: rel:R25-11#d547c13d 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/AP_SWS_SHWA_00409@rel:R25-11#d547c13d
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