DEENESPTFRRUARHIKOZHNL

وحدة ara::com — Communication Management

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

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

يوفر واجهات ذات أنواع محددة للاتصال الموجه نحو الخدمة ويجرّد بروتوكولات النقل.

يتيح 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]).

اكتشاف الخدمة وتهيئة الوكيل ProxyConsumer AppProxyara::com MiddlewareSkeletonProvider AppOfferService()Registriere Service-Instanz (SOME/IP SD / IPC)StartFindService(Handler, InstanceSpecifier)Handler-Callback(ServiceHandleContainer)Proxy::Create(handle)مثيل الوكيل Proxy (جاهز للاتصال)

مخطط التسلسل: سير عمل تقديم الخدمة (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).

ComArchitecture ConsumerApp Adaptive Application (Konsument) Proxy ara::com Proxy (Fassade) ConsumerApp->Proxy Methodenaufruf / Subscribe BindingClient Communication Binding (Client-Stack) Proxy->BindingClient Serialisierung Network Netzwerk / IPC Transport (SOME/IP, DDS, SHM) BindingClient->Network Datagramm / IPC BindingServer Communication Binding (Server-Stack) Network->BindingServer Empfang Skeleton ara::com Skeleton (Basisklasse) BindingServer->Skeleton Deserialisierung ProviderApp Adaptive Application (Provider) Skeleton->ProviderApp Method Dispatch / Events

مخطط السياق: تضمين 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]).

اكتشاف الخدمة وتهيئة الوكيل ProxyConsumer AppProxyara::com MiddlewareSkeletonProvider AppOfferService()Registriere Service-Instanz (SOME/IP SD / IPC)StartFindService(Handler, InstanceSpecifier)Handler-Callback(ServiceHandleContainer)Proxy::Create(handle)مثيل الوكيل Proxy (جاهز للاتصال)

مخطط التسلسل: سير عمل تقديم الخدمة (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).

استدعاء الدوال وأنماط توزيع المهامConsumer AppProxyara::com TransportSkeletonProvider Appoperator()(args)إرجاع ara::core::FutureRequest PDU sendenRequest empfangenaltMethodCallProcessingMode::kEventAsynchroner Methodenaufruf (Worker-Thread)MethodCallProcessingMode::kPollProcessNextMethodCall()استدعاء متزامن للدالة في مسار تنفيذ التطبيقتسليم النتيجة إلى PromiseResponse PDU sendenResponse empfangenFuture::get() يقدم النتيجة

مخطط التتابع: استدعاء الطريقة بين 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-CopyProvider AppSkeletonMiddleware / BufferProxyConsumer AppSubscribe(maxSampleCount)Abonnement registrierenSetReceiveHandler(callback)Allocate()SampleAllocateePtrSend(std::move(ptr))إدراج العينة في المخزن المؤقت / نقلهاNotify receiveHandlerCallback aufrufenGetNewSamples(lambda)تم تنفيذ Lambda باستخدام SamplePtr

مخطط التتابع: تخصيص 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).

SecurityPipeline IncomingPdu Eingehende Nachricht (SOME/IP / Signal-PDU) SecOcCheck فحص SecOC (المصادق / MAC) IncomingPdu->SecOcCheck SecOC konfiguriert E2eCheck فحص E2E (CRC، والعداد، و Data ID) IncomingPdu->E2eCheck Kein SecOC FreshnessCheck FVM: Freshness Value Verifikation SecOcCheck->FreshnessCheck المصادق صالح FaultHandler TransportFaultConditionHandler / ErrorDomain SecOcCheck->FaultHandler رمز MAC غير صالح FreshnessCheck->E2eCheck الحداثة صالحة FreshnessCheck->FaultHandler الحداثة غير صالحة DispatchApp التسليم إلى التطبيق / الهيكل الأساسي Skeleton E2eCheck->DispatchApp E2E OK (ProfileCheckStatus::kOk) E2eCheck->FaultHandler E2E-Fehler (kRepeated, kWrongSequence)

مخطط النشاط: مسار تأمين 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).

ProxyRecovery Initial Proxy erzeugt (kSubscribed) ServiceDown الخدمة غير قابلة للوصول (kSubscriptionPending) Initial->ServiceDown Service geht offline / SD-Timeout Reconnected Dienst wiederhergestellt (kSubscribed) ServiceDown->Reconnected Service sendet OfferService() / Adress-Update Reconnected->ServiceDown Erneuter Verbindungsausfall

مخطط الحالة: دورة الحياة وحالات الاتصال لنسخة Proxy عند حدوث تغييرات في توفر الموفر. المصادر: [SWS_CM_00310]، [SWS_CM_00316]، ARAComAPI ص. 32

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

تتوزع المتطلبات وواجهات النظام الأساسية في مواصفات AUTOSAR على النحو التالي:

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

<SI-Namespace>::proxy

<SI>Proxy فئة

Service Interface Proxy

<SI-Namespace>::proxy::fields

<Field> فئة

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

<Method> فئة

Service proxy method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget ==FALSE) defined in the ServiceInterfac

<SI-Namespace>::proxy::triggers

<Trigger> فئة

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

FVM فئة

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;
MakeErrorCode دالة

Creates an instance of ara::core::ErrorCode

constexpr ara::core::ErrorCode MakeErrorCode (apext::com::secoc::Com SecOcFvmErrc errorCode, ara::core::ErrorDomain::SupportDataType data) noexcept;
ComSecOcFvmErrc تعداد

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

SamplePtr فئة

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

ComErrc تعداد

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 {...};
ServiceState تعداد

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 {...};
EventReceiveHandler اسم نوع بديل

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()>;
FieldReceiveHandler اسم نوع بديل

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()>;
FindServiceHandler اسم نوع بديل

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)>;
InstanceIdentifierContainer اسم نوع بديل

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>;
SampleAllocateePtr اسم نوع بديل

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>;
ServiceHandleContainer اسم نوع بديل

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>;
ServiceStateHandler اسم نوع بديل

Functor used as input arguments for any of the SetServiceStateChangeHandler() methods: • [SWS_CM_01074] • [SWS_CM_01076]

using ServiceStateHandler = std::function<void(ServiceState)>;
SubscriptionStateChangeHandler اسم نوع بديل

Callback function invoked if ara::com::SubscriptionState of an event has changed.

using SubscriptionStateChangeHandler = std::function<void(Subscription State)>;
TriggerReceiveHandler اسم نوع بديل

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;
ComE2EErrc تعداد

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 {...};
SMState تعداد

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 {...};
TransportFaultConditionHandler اسم نوع بديل

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;

واجهات الخدمة

VerificationStatus واجهة خدمة

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

Spezifikation: AUTOSAR_AP_SWS_CommunicationManagement.pdf (R25-11) · 250 API-Records

function: 179 class: 20 type alias: 20 variable: 13 enumeration: 10 struct: 4 service method: 2 header file: 1 service event: 1

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

واجهات الخدمة (منمذجة عبر ara::com)

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

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

G cluster_1 <SI-Namespace>::proxy cluster_2 <SI-Namespace>::proxy::<SI>Proxy cluster_3 <SI-Namespace>::proxy::fields cluster_4 <SI-Namespace>::proxy::methods cluster_5 <SI-Namespace>::proxy::methods::<Method> cluster_6 <SI-Namespace>::proxy::triggers cluster_7 <SI-Namespace>::skeleton cluster_8 <SI-Namespace>::skeleton::<SI>Skeleton cluster_9 <SI-Namespace>::skeleton::fields cluster_10 <SI-Namespace>::skeleton::triggers cluster_11 apext::com::secoc cluster_12 ara::com cluster_13 ara::com::e2e n_SI_Namespace___proxy___SI_Proxy329 <SI>Proxy n_SI_Namespace___proxy___SI_Proxy__HandleType349 HandleType n_SI_Namespace___proxy__fields___Field_138 <Field> n_SI_Namespace___proxy__methods___FnFMethod_122 <FnFMethod> n_SI_Namespace___proxy__methods___Method_320 <Method> n_SI_Namespace___proxy__methods___Method___Output157 «struct» Output n_SI_Namespace___proxy__triggers___Trigger_725 <Trigger> n_SI_Namespace___skeleton___SI_Skeleton453 <SI>Skeleton n_SI_Namespace___skeleton___SI_Skeleton___Method_Output373 «struct» <Method>Output n_SI_Namespace___skeleton__fields___Field_667 <Field> n_SI_Namespace___skeleton__triggers___Trigger_907 <Trigger> napext__com__secoc__ComSecOcFvmErrorDomain756 ComSecOcFvmErrorDomain nara__core__ErrorDomain335 ara::core::ErrorDomain napext__com__secoc__ComSecOcFvmErrorDomain756->nara__core__ErrorDomain335 napext__com__secoc__ComSecOcFvmException158 ComSecOcFvmException nara__core__Exception792 ara::core::Exception napext__com__secoc__ComSecOcFvmException158->nara__core__Exception792 napext__com__secoc__FVContainer961 «struct» FVContainer napext__com__secoc__FVM451 FVM nara__com__ComErrorDomain658 ComErrorDomain nara__com__ComErrorDomain658->nara__core__ErrorDomain335 nara__com__ComException152 ComException nara__com__ComException152->nara__core__Exception792 nara__com__FindServiceHandle138 «struct» FindServiceHandle nara__com__InstanceIdentifier581 InstanceIdentifier nara__com__SamplePtr589 SamplePtr nara__com__ServiceIdentifierType24 ServiceIdentifierType nara__com__ServiceVersionType743 ServiceVersionType nara__com__e2e__ComE2EErrorDomain501 ComE2EErrorDomain nara__com__e2e__ComE2EErrorDomain501->nara__core__ErrorDomain335 nara__com__e2e__ComE2EException703 ComE2EException nara__com__e2e__ComE2EException703->nara__core__Exception792