وحدة ara::com — Communication Management
دليل الوحدةمولَّد بالذكاء الاصطناعي
يوفر واجهات ذات أنواع محددة للاتصال الموجه نحو الخدمة ويجرّد بروتوكولات النقل.
يوفر واجهات ذات أنواع محددة للاتصال الموجه نحو الخدمة ويجرّد بروتوكولات النقل.
يتيح Functional Cluster Communication Management (ara::com) التفاعل الموجه نحو الخدمة بين تطبيقات Adaptive عبر واجهات Proxy و Skeleton القياسية (SWS_CommunicationManagement ص. 55، ARAComAPI ص. 1). وينظم اكتشاف الخدمة الديناميكي بواسطة OfferService() وFindService() ([SWS_CM_00101]، [SWS_CM_00122])، ويوفر طرقاً متزامنة وغير متزامنة، وأحداثاً وحقولاً مع حماية مدمجة عبر E2E وSecOC ([SWS_CM_00141]، [SWS_CM_90420]). وفي حال الفقدان المؤقت لإحدى الخدمات، تعترض البرمجيات الوسيطة انقطاعات الاتصال وتحدّث كائنات Proxy الموجودة تلقائياً بعد عودة توفرها (ARAComAPI ص. 32).
يشكل Functional Cluster Communication Management (ara::com) العمود الفقري للبنية الموجهة نحو الخدمة (SOA) في AUTOSAR Adaptive Platform، ويفصل منطق التطبيق عن بروتوكولات النقل الفعلية عبر نمط Proxy-Skeleton (SWS_CommunicationManagement ص. 55، ARAComAPI ص. 1). وتوفر فئات Proxy المُولَّدة على جانب المستهلك وفئات Skeleton على جانب المزوّد من أوصاف الواجهات الرسمية الطرقَ والأحداث والحقول عبر واجهات برمجة تطبيقات C++ الآمنة نوعياً ([SWS_CM_00130]، [SWS_CM_00131]).
تتم إدارة توفير الخدمات والبحث الديناميكي عنها عبر Service Discovery (SWS_CommunicationManagement ص. 67). ويقدم المزوّد خدمته عبر OfferService() ([SWS_CM_00101])، بينما يحدد المستهلكون النسخ المتطابقة المتوافقة تزامناً عبر FindService() أو تزامناً غير متزامن باستخدام StartFindService() ([SWS_CM_00122]، [SWS_CM_00123]). ويمكن عنونة النسخ المتطابقة بالاعتماد على النماذج عبر ara::core::InstanceSpecifier وحلها أثناء وقت التشغيل إلى ara::com::InstanceIdentifier فعلية ([SWS_CM_00118]، [SWS_CM_00622]).
مخطط التسلسل: سير عمل تقديم الخدمة (Service Offering)، والبحث غير المتزامن، وإنشاء Proxy. المصادر: [SWS_CM_00101]، [SWS_CM_00123]، [SWS_CM_10438]، AUTOSAR_EXP_SensorInterfaces ص. 16
لنقل البيانات، يدعم ara::com طرق الطلب والاستجابة (Request-Response) عبر ara::core::Future ([SWS_CM_00191]، [SWS_CM_00196]) بالإضافة إلى أنماط النشر والاشتراك (Publish-Subscribe) للأحداث والحقول (AUTOSAR_EXP_ARAComAPI ص. 68). ويسجل المشتركون عبر Subscribe() ([SWS_CM_00141]) ويقرؤون البيانات الواردة عبر GetNewSamples() ([SWS_CM_00701]). ولتحسين الأداء، يوفر المزود البيانات عبر Allocate() وينقل الملكية عبر Zero-Copy باستخدام Send() ([SWS_CM_90437]، [SWS_CM_90438]).
لحماية النقل، تدمج المنصة حماية النهاية إلى النهاية (E2E)، والمصادقة التشفيرية (SecOC) عبر Freshness Value Management (FVM)، بالإضافة إلى تحويل الإشارة إلى خدمة (Signal-to-Service-Translation) للشبكات الكلاسيكية ([SWS_CM_90420]، [SWS_CM_11288]، [SWS_CM_10174]، SWS_CommunicationManagement ص. 222). وتُرسل إشارات حالات الخطأ بصورة قياسية عبر نطاقات أخطاء آمنة نوعياً مثل ComErrorDomain وComE2EErrorDomain ([SWS_CM_10432]، [SWS_CM_10474]). وإذا انقطع الاتصال بخدمة ما، تتحول حالة Proxy إلى kSubscriptionPending؛ وبعد استعادة التوفر، تحدّث البرمجيات الوسيطة العنونة الداخلية بشفافية، بحيث يستمر الاتصال دون الحاجة إلى إعادة إنشاء كائن Proxy من جديد (ARAComAPI ص. 32).
الدور وهندسة النظام للاتصال الموجه نحو الخدمة
يشكل Functional Cluster Communication Management (ara::com) العمود الفقري لتكنولوجيا المعلومات في AUTOSAR Adaptive Platform، ويحقق الاتصال الموجه نحو الخدمة (Service-Oriented Architecture, SOA) بين عمليات التطبيق المعزولة وكذلك عبر حدود وحدات التحكم الإلكترونية (ECU) (SWS_CommunicationManagement ص. 55). والمبدأ الأساسي هو نمط تصميم Proxy-Skeleton الصارم (ARAComAPI ص. 1): فمن أوصاف واجهات البرمجيات الرسمية (Service Interfaces)، يُنشئ مولد كود معتمد على النماذج فئات Proxy ذات أنواع محددة لمستهلكي الخدمة وفئات Skeleton لمزوّدي الخدمة ([SWS_CM_00130]، [SWS_CM_00131]). ويتفاعل منطق التطبيق حصرياً مع هذه التجريدات، بينما لا يتم ربط الارتباطات الخاصة بالبروتوكول مثل SOME/IP أو IPC أو DDS وتسلسلها إلا في وقت التكامل والنشر (Deployment) (AUTOSAR_AP_EXP_ARAComAPI ص. 124).
لتلبية متطلبات المنصة، يتعاون ara::com بشكل وثيق مع مجموعات وظيفية أخرى (SWS_CommunicationManagement ص. 34). وأثناء وقت التشغيل، يراقب Execution Management دورة حياة العمليات، بينما يتصدى Identity and Access Management (IAM) للتفاعلات غير المصرح بها على مستوى Method وEvent وField عبر عمليات فحص وصول قائمة على السياسات (Policy Decision Point) (SWS_CommunicationManagement ص. 215). وبالإضافة إلى ذلك، يتم إبلاغ الأحداث الأمنية مباشرة إلى EventReporter الخاص بـ Intrusion Detection System Manager (IdSM) (SWS_CommunicationManagement ص. 34).
مخطط السياق: تضمين ara::com وفصل طبقات التطبيق عبر Bindings. المصادر: SWS_CommunicationManagement ص. 55، ARAComAPI ص. 1
اكتشاف الخدمات وإنشاء النسخ عبر Proxies وSkeletons
ينظم التوسط الديناميكي في الخدمات (Service Discovery) إنشاء علاقات الاتصال المحلية والموزعة (SWS_CommunicationManagement ص. 67). ويشير موفر الخدمة إلى توفره من خلال استدعاء OfferService() على Skeleton ([SWS_CM_00101]). وإذا تم إنهاء الخدمة أو سحب توفيرها، يقوم StopOfferService() بسحب العرض ([SWS_CM_00111]). ويحدد المستهلكون نسخ الخدمات المناسبة تزامنيًا عبر FindService() أو غير تزامني عبر StartFindService() ([SWS_CM_00122]، [SWS_CM_00123]، ARAComAPI ص. 103). ويسجل الأخير FindServiceHandler، والذي يتم إخطاره عند كل تغيير في مشهد النسخ حتى يتم إنهاء البحث صراحةً بواسطة StopFindService() ([SWS_CM_00125]، [SWS_CM_00383]).
لفصل الكود المصدري عن معرّفات الشبكة والنسخ الثابتة، تتيح الواجهة العنونة عبر مسارات نموذج مجردة باستخدام ara::core::InstanceSpecifier ([SWS_CM_00622]، [SWS_CM_00623]، AUTOSAR_AP_EXP_ARAComAPI ص. 124). وتقوم البرمجية الوسيطة بحل هذه المحددات عبر Service Instance Manifest المحفوظ إلى ara::com::InstanceIdentifier فعلية ([SWS_CM_00118]، [SWS_CM_11520]، ARAComAPI ص. 1). وتُتاح الخدمة التي تم العثور عليها كواصف ذي نوع محدد (HandleType) في ServiceHandleContainer ([SWS_CM_10383]، AUTOSAR_EXP_SensorInterfaces ص. 16). ومن خلال طريقة المصنع الاستاتيكية Proxy::Create() أو دالة البناء، ينشئ المستهلك نسخة Proxy مرتبطة للاستخدام الوظيفي الإضافي ([SWS_CM_10438]، [SWS_CM_00131]).
مخطط التسلسل: سير عمل تقديم الخدمة (Service Offering)، والبحث غير المتزامن، وإنشاء Proxy. المصادر: [SWS_CM_00101]، [SWS_CM_00123]، [SWS_CM_10438]، AUTOSAR_EXP_SensorInterfaces ص. 16
أنماط التفاعل: استدعاءات الطرق والمعالجة غير التزامنية
تمثل استدعاءات الطرق نموذج الطلب والاستجابة التزامني وغير التزامني. ويُطلق العميل الطرق عبر عامل استدعاء الدوال operator() على Proxy ([SWS_CM_00196]). ويُستخدم ara::core::Future كنوع إرجاع قياسي، حيث يغلف النتيجة أو حالة الخطأ ([SWS_CM_00191]، ARAComAPI ص. 1). ويقرر المستهلك بمرونة آلية التزامن: إما من خلال الجلب الحاصر عبر get()، أو الانتظار المراقب زمنيًا عبر wait_for() أو wait_until()، أو من خلال تسجيل روتينات رد اتصال قائمة على الأحداث باستخدام then() (ARAComAPI ص. 1). وبالنسبة للإخطارات أحادية الاتجاه البحتة بدون ردود، توجد طرق Fire-and-Forget بإرجاع void ([SWS_CM_90434]، [SWS_CM_90435]).
على جانب الموفر، يحدد MethodCallProcessingMode استراتيجية التنفيذ للاستدعاءات الواردة ([SWS_CM_00301]، [SWS_CM_00130]). وفي الوضع الموجه بالأحداث (kEvent أو kEventSingleThread)، يتم استدعاء الطريقة فورًا داخل مؤشر ترابط عمل تديره البرمجية الوسيطة (AUTOSAR_SWS_CommunicationManagement ص. 60). وفي وضع الاستطلاع (kPoll)، يتحكم التطبيق في أوقات المعالجة بشكل حتمي بنفسه من خلال استدعاء ProcessNextMethodCall() بانتظام ([SWS_CM_00199]، EXP_SWArchitecture ص. 68). وينشئ تنفيذ الطريقة النتيجة داخليًا عبر ara::core::Promise ويعيد الـ Future المرتبط (ARAComAPI ص. 1).
مخطط التتابع: استدعاء الطريقة بين Proxy وSkeleton في ظل إرسال kPoll وkEvent. المصادر: [SWS_CM_00196]، [SWS_CM_00199]، AUTOSAR_SWS_CommunicationManagement ص. 60
اتصال الأحداث والحقول في نمط النشر والاشتراك
يتم توزيع تدفقات البيانات المستمرة وتغييرات الحالة عبر Events وFields في نمط النشر والاشتراك (SWS_CommunicationManagement ص. 67). ويسجل المشترك النشط رغبته في الاستلام عبر Subscribe() مع تحديد الحد الأقصى لعدد العينات التي يجب الاحتفاظ بها (maxSampleCount) ([SWS_CM_00141]، [SWS_CM_12002]). ويتم الاستعلام عن حالة الاشتراك عبر GetSubscriptionState() أو مراقبتها بشكل غير تزامني عبر ردود الاتصال بواسطة SetSubscriptionStateChangeHandler() ([SWS_CM_00310]، [SWS_CM_00316]، [SWS_CM_01110]). ويتم إنهاء الاشتراك عبر Unsubscribe() ([SWS_CM_00151]).
يمكن أن يتم استلام البيانات موجهًا بالأحداث عبر SetReceiveHandler() أو من خلال القراءة الدورية لذاكرة التخزين المؤقت للاستلام ([SWS_CM_00181]، [SWS_CM_11356]). وبواسطة GetNewSamples()، يمرر المستهلك كائن دالة (Lambda) يتم استدعاؤه لكل عينة تصل مع SamplePtr ذي نوع محدد ([SWS_CM_00701]، [SWS_CM_11610]). ولتجنب أعباء النسخ (Zero-Copy)، يوفر Skeleton الذاكرة عبر Allocate() ويرسل المؤشر ذا النوع المحدد SampleAllocateePtr مع نقل كامل للملكية عبر Send() إلى طبقة النقل ([SWS_CM_90438]، [SWS_CM_90437]، [SWS_CM_00308]، AUTOSAR_EXP_ARAComAPI ص. 63، ARAComAPI ص. 1).
يوسع Field مفهوم Event بإضافة دلالات Getter وSetter (AUTOSAR_EXP_ARAComAPI ص. 68). ويقرأ المستهلكون الـ Field عبر Get() أو يكتبونه عبر Set() ([SWS_CM_00112]، [SWS_CM_00113]). وعلى جانب الخادم، تتم خدمة هذه الطلبات بواسطة RegisterGetHandler() أو RegisterSetHandler() ([SWS_CM_00114]، [SWS_CM_00116]). وإذا قام الخادم بتحديث الحالة عبر Update()، يعمل الـ Field تلقائيًا كـ Notifier ويوزع التغيير على جميع المشتركين المسجلين ([SWS_CM_00119]، ARAComAPI ص. 1).
مخطط التتابع: تخصيص Zero-Copy، ونشر الأحداث، والاشتراك، واستهلاك GetNewSamples. المصادر: [SWS_CM_00141]، [SWS_CM_00701]، [SWS_CM_90437]، AUTOSAR_EXP_ARAComAPI ص. 63
التأمين وتحويل الخدمات وتكامل المنصة
لتدفقات البيانات الحتمية وذات الصلة بالسلامة، يدمج ara::com التأمين الشامل بين الطرفين (E2E) والمصادقة وفقًا لمعايير AUTOSAR (AUTOSAR_AP_TR_SystemTests ص. 132). وعبر GetProfileCheckStatus() وGetE2EStateMachineState()، يمكن للمستهلكين التحقق من حالة السلامة والتحقق من صحة البيانات المستلمة ([SWS_CM_90420]، [SWS_CM_90421]، [SWS_CM_11554]). وعلى جانب الخادم، يسجل التطبيق روتينات معالجة الأخطاء عبر SetTransportFaultConditionHandler() للاستجابة بشكل قياسي لأعطال E2E والنقل على مستوى الطرق ([SWS_CM_00093]، [SWS_CM_00094]، [SWS_CM_00100]، EXP_SWArchitecture ص. 68).
يتم ضمان السلامة المشفرة وموثوقية الرسائل الخارجية من خلال Secure Onboard Communication (SecOC) (SWS_CommunicationManagement ص. 222). ولهذا الغرض، تدمج البرمجية الوسيطة مكتبة Freshness Value Management قابلة للاستبدال (FVM)، والتي تدير قيم الحداثة عبر GetRxFreshness() وGetTxFreshness() وInitialize() ([SWS_CM_11288]، [SWS_CM_11289]، [SWS_CM_11290]، SWS_CommunicationManagement ص. 226). وتراقب وظائف التشخيص والأمان عملية التحقق أو تتحكم فيها عبر واجهات محددة مثل SetVerificationStatus() ([SWS_CM_19999]، AUTOSAR_AP_EXP_SWArchitecture ص. 70).
لتحقيق إمكانية التشغيل البيني مع AUTOSAR Classic Platform، يدعم ara::com الاتصال القائم على الإشارات (Signal-to-Service Translation) (SWS_CommunicationManagement ص. 146، TPS_ManifestSpecification ص. 476). ووفقًا لـ [SWS_CM_10174] و[SWS_CM_80001]، يمكن نقل وحدات Signal-IPDUs التقليدية ورسائل SOME/IP عبر المقبس نفسه. وإذا توفر تكوين SecOC قائم على الإشارات، تقرأ البرمجية الوسيطة معلمات الحماية مباشرة من مشغل PDU الخاص بالبيان ([SWS_CM_11346]، SWS_CommunicationManagement ص. 228).
مخطط النشاط: مسار تأمين E2E وSecOC للرسائل الواردة. المصادر: [SWS_CM_90420]، [SWS_CM_11288]، SWS_CommunicationManagement ص. 222
التصرف في حالة الخطأ
تعتمد إدارة الأخطاء في ara::com على نطاقات أخطاء آمنة الأنواع ورموز إرجاع خاصة بإطار عمل AUTOSAR الأساسي ([SWS_CM_11334]، [SWS_CM_11335]). وتُجمع أخطاء طبقة الاتصال العامة في ComErrorDomain ويتم ترميزها عبر العداد ComErrc ([SWS_CM_10432]). وفي حالات أخطاء التحقق من E2E، يشير ComE2EErrorDomain عبر قيمة التعداد ComE2EErrc إلى أخطاء فحص محددة مثل انحرافات المجموع الاختباري أو العدادات غير الصالحة ([SWS_CM_10474]، [SWS_CM_12510]، [SWS_CM_12511]). وبالنسبة لأخطاء حداثة SecOC، يوجد بالمثل ComSecOcFvmErrorDomain مع ComSecOcFvmErrc ([SWS_CM_12521]، [SWS_CM_12522]).
إذا حدث انقطاع في الاتصال أثناء وقت التشغيل، تتغير حالة اشتراك الـ Proxy من kSubscribed إلى kSubscriptionPending ([SWS_CM_00310]، [SWS_CM_00316]، ARAComAPI ص. 32). وتفشل استدعاءات الطرق في هذه المرحلة مع حدوث خطأ. وإذا عاد موفر الخدمة لاحقًا عبر Service Discovery، تقوم البرمجية الوسيطة بتحديث العنونة الداخلية للـ Proxy بشكل شفاف، دون الحاجة إلى قيام المستهلك بإعادة إنشاء نسخة كائن الـ Proxy؛ وبعد إعادة المزامنة الناجحة، تعود الحالة تلقائيًا إلى kSubscribed (ARAComAPI ص. 32). وبالنسبة للمهل الزمنية ومراقبة المواعيد النهائية (Deadline Monitoring)، فإن برمجيات التطبيق نفسها هي المسؤولة عن ذلك وفقًا لمواصفات النظام (TPS_ManifestSpecification ص. 504).
مخطط الحالة: دورة الحياة وحالات الاتصال لنسخة Proxy عند حدوث تغييرات في توفر الموفر. المصادر: [SWS_CM_00310]، [SWS_CM_00316]، ARAComAPI ص. 32
أدلة تفصيلية إضافية
تتوزع المتطلبات وواجهات النظام الأساسية في مواصفات AUTOSAR على النحو التالي:
- دورة حياة الخدمة والاكتشاف: تعتمد آليات توفير الخدمة والبحث على [SWS_CM_00101] و[SWS_CM_00111] و[SWS_CM_00122] و[SWS_CM_00123]، والمفصلة في دليل بنية البرمجيات (ARAComAPI ص. 103).
- نماذج التفاعل: الطرق والقيم المستقبلية غير التزامنية موحدة قياسيًا في [SWS_CM_00191] و[SWS_CM_00196]؛ وتتبع اشتراكات الأحداث وعمليات نقل العينات [SWS_CM_00141] و[SWS_CM_00701] و[SWS_CM_90437] (SWS_CommunicationManagement ص. 67).
- الأمان والتسلسل: تنظم مفاهيم التأمين لـ E2E ([SWS_CM_90420]) وSecOC ([SWS_CM_90108]، [SWS_CM_11288]) وتحويل الإشارة إلى خدمة ([SWS_CM_10174]) تبادل البيانات على مستوى النظام بأكمله (SWS_CommunicationManagement ص. 146، SWS_CommunicationManagement ص. 222).
- تعريفات البيان والأنواع: تم ترسيخ تمثيل أنواع البيانات المهيكلة والحقول الاختيارية ومحددات النسخ في مواصفات البيان (TPS_ManifestSpecification ص. 161، TPS_ManifestSpecification ص. 458).
تم إعداد هذا الدليل بواسطة مساعد تنظيم بالذكاء الاصطناعي استنادًا إلى إصدار AUTOSAR Adaptive R25-11.
<SI-Namespace>::proxy::methods
<FnFMethod><Method><SI-Namespace>::proxy::triggers
<Trigger><SI>Skeleton<SI-Namespace>::skeleton::fields
<Field> (<SI-Namespace>::skeleton::fields)<SI-Namespace>::skeleton::triggers
<Trigger> (<SI-Namespace>::skeleton::triggers)ComSecOcFvmErrorDomainComSecOcFvmExceptionFVContainerFVMGetComSecOcFvmErrorDomainMakeErrorCodeComSecOcFvmErrcComErrorDomainComExceptionFindServiceHandleInstanceIdentifierSamplePtrServiceIdentifierTypeServiceVersionTypeGetComErrorDomainMakeErrorCode (ara::com)ComErrcMethodCallProcessingModeServiceStateSubscriptionStateEventReceiveHandlerFieldReceiveHandlerFindServiceHandlerInstanceIdentifierContainerSampleAllocateePtrServiceHandleContainerServiceStateHandlerSubscriptionStateChangeHandlerTriggerReceiveHandlerComE2EErrorDomainComE2EExceptionGetComE2EErrorDomainMakeErrorCode (ara::com::e2e)ComE2EErrcProfileCheckStatusSMStateTransportFaultConditionTransportFaultConditionHandlerResolveInstanceIDsواجهات الخدمة
VerificationStatusVerificationStatusConfigurationByDataIdVerificationStatusConfigurationByFreshnessIdالفئات
<Field><Field> (<SI-Namespace>::skeleton::fields)<FnFMethod><Method><SI>Proxy<SI>Skeleton<Trigger><Trigger> (<SI-Namespace>::skeleton::triggers)ComE2EErrorDomainComE2EExceptionComErrorDomainComExceptionComSecOcFvmErrorDomainComSecOcFvmExceptionFindServiceHandleFVContainerFVMInstanceIdentifierSamplePtrServiceIdentifierTypeServiceVersionTypeالدوال
GetComE2EErrorDomainGetComErrorDomainGetComSecOcFvmErrorDomainMakeErrorCodeMakeErrorCode (ara::com)MakeErrorCode (ara::com::e2e)ResolveInstanceIDsالأنواع
EventReceiveHandlerFieldReceiveHandlerFindServiceHandlerInstanceIdentifierContainerSampleAllocateePtrServiceHandleContainerServiceStateHandlerSubscriptionStateChangeHandlerTransportFaultConditionHandlerTriggerReceiveHandlerالتعدادات
ComE2EErrcComErrcComSecOcFvmErrcMethodCallProcessingModeProfileCheckStatusServiceStateSMStateSubscriptionStateTransportFaultConditionواجهات الخدمة
VerificationStatusVerificationStatusConfigurationByDataIdVerificationStatusConfigurationByFreshnessIdخريطة المواضيع
ara::com
22لا توجد بيانات عناصر لهذا الإصدار
<SI-Namespace>::proxy
Service Interface Proxy
<SI-Namespace>::proxy::fields
Service proxy Field class, one for each Field defined in the ServiceInterface in the role field.
<SI-Namespace>::proxy::methods
Service proxy fire-and-forget method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget==TRUE) defined in the S
Service proxy method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget ==FALSE) defined in the ServiceInterfac
<SI-Namespace>::proxy::triggers
Service proxy Trigger class, one for each Trigger defined in the ServiceInterface in the role trigger.
<SI-Namespace>::skeleton
Service skeleton class
<SI-Namespace>::skeleton::fields
Service skeleton Field class, one for each Field defined in the ServiceInterface in the role field.
<SI-Namespace>::skeleton::triggers
Service skeleton Trigger class, one for each Trigger defined in the ServiceInterface in the role trigger.
apext::com::secoc
Defines a class representing the SecOc Freshness Value Manager error domain
يرث من ara::core::ErrorDomain
Defines a class for exceptions to be thrown by the SecOc Freshness Value Manager
يرث من ara::core::Exception
A container to hold the length of freshness value in bits and the freshness value itself
A freshness value management interface to be implemented by the OEM/stack vendor
Returns a reference to the apext::com::secoc::ComSecOcFvmErrorDomain object
constexpr const ara::core::ErrorDomain & GetComSecOcFvmErrorDomain () noexcept;Creates an instance of ara::core::ErrorCode
constexpr ara::core::ErrorCode MakeErrorCode (apext::com::secoc::Com SecOcFvmErrc errorCode, ara::core::ErrorDomain::SupportDataType data) noexcept;Defines the error codes for the apext::com::secoc::ComSecOcFvmErrorDomain
enum class ComSecOcFvmErrc : ara::core::ErrorDomain::CodeType {...};ara::com
Defines a class representing the Communication error domain.
يرث من ara::core::ErrorDomain
Defines a class for exceptions to be thrown by the API.
يرث من ara::core::Exception
The exact definition of ara::com::FindServiceHandle is Communication Management implementation specific
Unique identifier of a specific AdaptivePlatformServiceInstance, to distinguish different instances of exactly the same service
Emulates a std::unique_ptr to an event sample. The ara::com::SamplePtr behaves as a std::unique_ptr as long as the event/ field is subscrib ≙ std::unique_ptr
Specifies a Service Identifier The exact type may be overridden by the Communication Management software provider
Specifies a Service Version
Returns a reference to the ara::com::ComErrorDomain object
constexpr const ara::core::ErrorDomain & GetComErrorDomain () noexcept;Creates an instance of ara::core::ErrorCode
constexpr ara::core::ErrorCode MakeErrorCode (ara::com::ComErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;Defines the error codes for the ara::com::ComErrorDomain
enum class ComErrc : ara::core::ErrorDomain::CodeType {...};Processing modes for the service implementation.
enum class MethodCallProcessingMode : std::uint8_t {...};The state of the service from GetServiceState()
enum class ServiceState : std::uint8_t {...};The subscription state of an event.
enum class SubscriptionState : std::uint8_t {...};Callback function invoked if new event data arrives for an event. The event receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function
using EventReceiveHandler = std::function<void()>;Callback function invoked if a new notification arrives for a field. The field receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function
using FieldReceiveHandler = std::function<void()>;Callback function invoked if service availability changes. It takes as input parameter a handle container containing handles for all matching service instances and a ara::com:: FindServiceHandle which can be used to invoke StopFindService() from within the ara::com::FindServiceHandler.
using FindServiceHandler = std::function<void(ServiceHandle Container<T>, FindServiceHandle)>;Holds a list of ara::com::InstanceIdentifiers. The assigned data type is allowed to be changed by the Communication Management software provider, but must adhere to [container.requirements.general] and [sequence.reqmts] requirements as per [30] A ara::core::Vector ([SWS_CORE_01301]) for example fulfills these requirements.
using InstanceIdentifierContainer = ara::core::Vector<Instance Identifier>;Pointer to an allocated (by Communication Management) data sample. The implementation is allowed to be changed by the Communication Management software provider.
using SampleAllocateePtr = std::unique_ptr<T>;Holds a list of service handles and is used as a return value of any of the FindService() methods) • [SWS_CM_00122] • [SWS_CM_00622] . The assigned data type is allowed to be changed by the Communication Management software provider, but must adhere to [container.requirements.general] and [sequence.reqmts] requirements as per [30]. A ara::core::Vector ([SWS_CORE_ 01301]) for example fulfills these requirements.
using ServiceHandleContainer = ara::core::Vector<T>;Functor used as input arguments for any of the SetServiceStateChangeHandler() methods: • [SWS_CM_01074] • [SWS_CM_01076]
using ServiceStateHandler = std::function<void(ServiceState)>;Callback function invoked if ara::com::SubscriptionState of an event has changed.
using SubscriptionStateChangeHandler = std::function<void(Subscription State)>;A function wrapper for the handler function that gets called in case a new trigger arrives for an event. The trigger receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function
using TriggerReceiveHandler = std::function<void()>;ara::com::e2e
Defines a class representing the E2E error domain
يرث من ara::core::ErrorDomain
Defines a class for exceptions to be thrown by the E2E APIs
يرث من ara::core::Exception
Returns a reference to the ara::com::e2e::ComE2EErrorDomain object
constexpr const ara::core::ErrorDomain & GetComE2EErrorDomain () noexcept;Creates an instance of ara::core::ErrorCode
constexpr ara::core::ErrorCode MakeErrorCode (ara::com::e2e::ComE2 EErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;Defines the error codes for the ara::com::e2e::ComE2EErrc
enum class ComE2EErrc : ara::core::ErrorDomain::CodeType {...};The result of the check of a single ara::com::SamplePtr
enum class ProfileCheckStatus : std::uint8_t {...};The state of the E2E supervision after the most recent check of a received sample of the event. If ara::com::e2e::SMState == kValid, and the ara::com::SamplePtr:: GetProfileCheckStatus did not result in an Error then, the last checked sample can be used.
enum class SMState : std::uint8_t {...};Defines the TransportFaultCondition which represent a single transport-related fault event
enum class TransportFaultCondition : std::uint8_t {...};Handler type to be called when one or more (determined by the value of the std::size_t) fault conditions are detected ≙ std::size_t
using TransportFaultConditionHandler = std::function<void(Transport FaultCondition, std::size_t)>;ara::com::runtime
Translates an ara::core::InstanceSpecifier to a ara::com:: InstanceIdentifierContainer. The length/size of the ara::com:: InstanceIdentifierContainer is relative to the number of matches.
ara::core::Result< ara::com::InstanceIdentifierContainer > Resolve InstanceIDs (ara::core::InstanceSpecifier metaModelIdentifier) noexcept;واجهات الخدمة
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Verwandte Komponenten in anderen Universen
function: 179 class: 20 type alias: 20 variable: 13 enumeration: 10 struct: 4 service method: 2 header file: 1 service event: 1
نطاقات الأسماء
- <SI-Namespace>::proxy 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::proxy::fields 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::proxy::methods 2 Klassen, 0 freie Funktionen
- <SI-Namespace>::proxy::triggers 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::skeleton 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::skeleton::fields 1 Klassen, 0 freie Funktionen
- <SI-Namespace>::skeleton::triggers 1 Klassen, 0 freie Funktionen
- apext::com::secoc 4 Klassen, 2 freie Funktionen
- ara::com 7 Klassen, 2 freie Funktionen
- ara::com::e2e 2 Klassen, 2 freie Funktionen
- ara::com::runtime 0 Klassen, 1 freie Funktionen
واجهات الخدمة (منمذجة عبر ara::com)
- VerificationStatus 1 Mitglieder
- VerificationStatusConfigurationByDataId 1 Mitglieder
- VerificationStatusConfigurationByFreshnessId 1 Mitglieder
مخطط الفئات UML للوحدة
Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني