يتيح مراقبة قنوات التشخيص النشطة بالإضافة إلى التحكم في جلسة التشخيص ومستوى الأمان.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 1824b6dbecd2المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يتيح مراقبة قنوات التشخيص النشطة بالإضافة إلى التحكم في جلسة التشخيص ومستوى الأمان.
تمثل الفئة ara::diag::Conversation قناة اتصال تشخيصي لمراقبة حالة النشاط، وجلسة التشخيص ومستوى الأمان، فضلاً عن إعادة التعيين إلى الجلسة الافتراضية [SWS_DM_00692][SWS_DM_00701]. وتحصل التطبيقات على المثيلات حصرياً كمرجعيات عبر دوال بحث استاتيكية، نظراً لحذف عمليات الإنشاء الذاتي للنسخ وكذلك عمليات النسخ والنقل [SWS_DM_02090]. وبينما يمكن تنفيذ استعلامات الحالة للقراءة بطريقة آمنة خيطياً، تتطلب تسجيلات دوال الاستدعاء الذاتي وإعادة تعيين الجلسة مزامنةً خارجية.
السياق
تمثل الفئة ara::diag::Conversation الواجهة لقناة اتصال بين جهاز اختبار تشخيص خارجي وAdaptive Platform SWS Diagnostics §8.2 «Conversation». وهي تعمل كحلقة وصل بين التطبيق ونظام Diagnostic Management (DM) الداخلي لتتبّع أنشطة التشخيص الجارية والتحكم فيها. ومن خلال مثيلاتها، تكتسب تطبيقات Adaptive رؤيةً لحالة الاتصال الحالية [SWS_DM_00694]، وجلسة التشخيص النشطة [SWS_DM_00696]، ومستوى الأمان [SWS_DM_00698] بالإضافة إلى خصائص تعريف القناة [SWS_DM_00700].
يتم إنشاء مثيلات ara::diag::Conversation وإدارتها بالكامل بواسطة عفريت Diagnostic Management. ويُستبعد الإنشاء اليدوي أو النسخ أو النقل من جانب التطبيق: فكل من منشئ النسخ [SWS_DM_02090] ومنشئ النقل [SWS_DM_02092] وكذلك معاملات التعيين [SWS_DM_02091][SWS_DM_02093] محذوفة (=delete). وبالتالي، يُفترض أن عمر الكائنات المُشار إليها مرتبط مباشرة بحالة وقت التشغيل لنظام التشخيص الفرعي. سؤال Q-f8deca481d5b76e1 (مفتوح)
يتم الوصول إلى المثيلات الحالية حصرياً عبر دوال استعلام استاتيكية. فباستخدام GetAllConversations()، يمكن جلب مراجع لجميع الاتصالات المُهيأة [SWS_DM_00782]، بينما توفر GetCurrentActiveConversations() قائمة بجميع القنوات النشطة حالياً والتي تتطابق حالة نشاطها مع kActive[SWS_DM_00783]. بالإضافة إلى ذلك، يمكن عبر GetConversation(metaInfo) حل اتصال محدد بالاستناد إلى البيانات الوصفية لطلب تشخيص جارٍ [SWS_DM_00692].
فيما يتعلق بالتزامن، تم تحديد جميع عمليات الوصول للقراءة على الحالة والمعرّفات بأنها آمنة خيطياً [SWS_DM_00694][SWS_DM_00696][SWS_DM_00698]. وفي المقابل، يُعتبر تسجيل دوال الاستدعاء الذاتي للإشعارات وكذلك إعادة تعيين الجلسة غير آمنة خيطياً (not thread-safe) [SWS_DM_00695][SWS_DM_00701] وتتطلب مزامنة من جانب التطبيق.
مسار الاستخدام
تتضمن حالة الاستخدام النموذجية تحديد الاتصال، وتسجيل دوال الإشعار، والمراقبة المستهدفة لحالة الجلسة أو معالجتها:
الحصول على مرجع: عند ورود طلب تشخيص، يتم جلب المثيل المقترن به بواسطة GetConversation(metaInfo)[SWS_DM_00692].
الاستعلام عن الحالة: يمكن تحديد الحالة الراهنة بشكل متزامن باستخدام GetDiagnosticSession()[SWS_DM_00696] أو GetDiagnosticSecurityLevel()[SWS_DM_00698]. وباستخدام GetDiagnosticSessionShortName()[SWS_DM_00707] وGetDiagnosticSecurityLevelShortName()[SWS_DM_00708]، يمكن تحليل قيم التعداد (Enums) إلى معرفات نصية قصيرة قابلة للقراءة.
إعادة تعيين الجلسة: إذا تطلب المنطق إيقافاً أو تراجعاً إلى الحالة الأساسية، فإن ResetToDefaultSession() تعيد القناة إلى الجلسة القياسية [SWS_DM_00701].
تشير دوال ara::diag::Conversation إلى الأخطاء عبر ara::core::Result. وإذا كانت الوظيفة الأساسية لـ Diagnostic Management غير متاحة مؤقتاً، فإن GetConversation()، وGetActivityStatus()، وGetDiagnosticSession()، وGetDiagnosticSecurityLevel()، وGetConversationIdentifier() تفشل برمز الخطأ DiagErrc::kServiceNotAvailable[SWS_DM_00692][SWS_DM_00694][SWS_DM_00696][SWS_DM_00698][SWS_DM_00700]. وتتبع الاستدعاءات دلالات التراجع وتبقى بدون آثار جانبية.
في دوال تحويل السلاسل النصية GetDiagnosticSessionShortName()[SWS_DM_00707] وGetDiagnosticSecurityLevelShortName()[SWS_DM_00708]، يؤدي تمرير قيمة تعداد غير معروفة أو غير صالحة إلى الخطأ DiagErrc::kInvalidArgument. أما بالنسبة لأساليب تسجيل أدوات الإشعار وكذلك بالنسبة لـ ResetToDefaultSession()، فإنه لا توجد رموز أخطاء معيارية محددة في المواصفة [SWS_DM_00701].
يستند هذا الدليل حصريًا إلى مواصفة AUTOSAR Adaptive R25-11.
Register a notifier function which is called if the activity is changed. A consecutive call of this method will overwrite the previous registered notifier.
Register a notifier function which is called if the Session is changed. A consecutive call of this method will overwrite the previous registered notifier.
Register a notifier function which is called if the SecurityLevel is changed. A consecutive call of this method will overwrite the previous registered notifier.
Represents the current active diagnostic SecurityLevel of an active conversation.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a38bce94acc6المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُستخدم الدالة GetDiagnosticSecurityLevel من الفئة ara::diag::Conversation للتحديد التزامني لمستوى الأمان النشط حالياً لمحادثة تشخيص (AUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.6 «GetDiagnosticSecurityLevel»، [SWS_DM_00698]). وهي متوفرة عبر ملف الترويسة #include "ara/diag/conversation.h"، ولا تستقبل أي معاملات ممررة، ومعلنة بالمحدد noexcept.
ترجع الدالة ara::core::Result<SecurityLevelType> كنوع إرجاع. وفي حالة النجاح، يحتوي هذا الكائن مباشرة على قيمة التعداد (Enum) لحالة الأمان الحالية للاتصال النشط [SWS_DM_00698].
معالجة الأخطاء والتزامن
إذا فشل الاستعلام، ترجع الدالة ara::core::Result مع رمز الخطأ DiagErrc::kServiceNotAvailable[SWS_DM_00698]. ويشير هذا، مع تطبيق دلالات التراجع (Rollback)، إلى أن الوظائف الأساسية لـ Diagnostic Management (DM) ليست متاحة في وقت الاستدعاء. وفيما يتعلق بأمان التنفيذ، فإن GetDiagnosticSecurityLevel مصنفة كـ thread-safe وكذلك exception-safe [SWS_DM_00698]، مما يسمح باستدعاءات متزامنة من خيوط مختلفة.
Converts the given diagnostic SecurityLevel into the ShortName.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 384b6d7f7a21المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تقوم الدالة التزامنية ara::diag::Conversation::GetDiagnosticSecurityLevelShortName من ملف الترويسة ara/diag/conversation.h بمطابقة مستوى أمان ممرر من النوع SecurityLevelType مع معرف الاسم القصير المكون (DiagnosticSecurityLevel.shortName) [SWS_DM_00708]. ويرجع الاستدعاء النتيجة كـ ara::core::Result<ara::core::StringView>.
معالجة الأخطاء
في حالة الخطأ، ترجع الدالة رمز الخطأ DiagErrc::kInvalidArgument[SWS_DM_00708]. وتقوم نسخة Diagnostic Server بالتحقق من صحة قيمة المعامل استناداً إلى شرطين:
إذا تم تمرير الحالة المقفلة kLocked كوسيط securityLevel، فيجب على Diagnostic Server إلزامياً إرجاع kInvalidArgument[SWS_DM_01259].
إذا كانت القيمة الممررة لا تطابق أي مدخل مكون بعد العملية الحسابية ((DiagnosticSecurityAccess.requestSeedId + 1) / 2) في DiagnosticContributionSet، فإن الاستدعاء يفشل أيضاً مع kInvalidArgument[SWS_DM_01260].
التزامن والقيود
تم التصريح عن الدالة كـ noexcept، كما حُددت بأنها آمنة من الاستثناءات (exception safe) وآمنة بالنسبة للخيوط (thread-safe) [SWS_DM_00708]. وبناءً على أمان الخيوط المحدد، يُرجح أن يكون الاستدعاء آمناً حتى في حال وجود أنشطة تشخيصية متزامنة دون الحاجة إلى مزامنة mutex من جانب التطبيق. سؤال Q-b851a473c2d836b7 (مفتوح) وقبل الوصول إلى السلسلة النصية المُشار إليها، يجب على التطبيق التحقق مما إذا كان ara::core::Result يحتوي على خطأ.
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية. وجميع الشواهد مأخوذة من مواصفات منصة AUTOSAR Adaptive للإصدار R25-11.
Method to reset the current session to default session.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 040cba85c191المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تتيح الدالة ara::diag::Conversation::ResetToDefaultSession لأحد تطبيقات Adaptive Application إعادة محادثة تشخيصية صراحةً إلى الجلسة القياسية (Default Session) [SWS_DM_00701].
الاستخدام
يتم الاستدعاء بدون معاملات على مثيل من ara::diag::Conversation عبر ملف الترويسة #include "ara/diag/conversation.h"[SWS_DM_00701]. عند استدعاء الدالة، يُنهي مثيل Diagnostic Server الطلب الجاري أولاً، وفقط بعد ذلك يُغير جلسة التشخيص للمحادثة إلى Default Session [SWS_DM_00842].
معالجة الأخطاء والتزامن
القيمة المرجعة والأخطاء: تُرجع الدالة ara::core::Result<void>[SWS_DM_00701]. لا توجد أكواد أخطاء قياسية محددة مسبقًا؛ تفسير: يُرجح أن تعكس أي أخطاء في Result مشكلات خاصة بالشركة المصنعة أثناء معالجة الطلب بواسطة Diagnostic Server. سؤال Q-9f780f4ef7991bf4 (مفتوح)
أمان المؤشرات: الدالة آمنة من الاستثناءات (noexcept)، ولكنها محددة بأنها ليست آمنة مؤشريًا (not thread-safe) [SWS_DM_00701]. لذلك، يجب تنسيق الاستدعاءات المتوازية على كائن المحادثة نفسه بواسطة التطبيق المستدعي.
Register a notifier function which is called if the activity is changed. A consecutive call of this method will overwrite the previous registered notifier.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 49e9828acc72المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُستخدم الدالة ara::diag::Conversation::SetActivityNotifier لتسجيل دالة إشعار (notifier)، والتي تُستدعى دائمًا عند تغير حالة نشاط المحادثة التشخيصية [SWS_DM_00695]. يتم التصريح عنها عبر ملف الترويسة #include "ara/diag/conversation.h" ضمن نطاق الفئة ara::diag::ConversationAUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.11 «SetActivityNotifier». يؤدي الاستدعاء المتجدد أو المتتالي على المثيل نفسه إلى استبدال المنبه المسجل سابقًا بالكامل [SWS_DM_00695]، [SWS_DM_01355].
معالجة الأخطاء والتزامن
تم تعيين نوع القيمة المرجعة كـ ara::core::Result<void> وتبلغ عن حالة النجاح أو الخطأ؛ ومع ذلك، لا تحدد الواجهة أي أكواد أخطاء قياسية [SWS_DM_00695]. أُعلنت الدالة كـ noexcept وآمنة من الاستثناءات (exception safe).
فيما يتعلق بأمان المؤشرات، صُنفت الدالة بأنها ليست آمنة مؤشريًا (not thread-safe) [SWS_DM_00695]. وإذا تم الوصول إلى مثيل المحادثة نفسه من مؤشرات ترابط متعددة، فيجب مزامنة استدعاء التسجيل من جانب التطبيق.
التفاعل في دورة الحياة
يتم توفير مثيلات المحادثة بواسطة Diagnostic Server، حيث يتم تكوين الحد الأقصى لعدد المحادثات المتوازية عبر maxConversations[SWS_DM_00840]. عندما تنتهي دورة حياة محادثة تشخيصية، يقوم Diagnostic Server بضبط حالة النشاط على kInactive[SWS_DM_00843]. ومن المرجح أن يشير هذا إلى المنبه المسجل بانتهاء اتصال التشخيص النشط. سؤال Q-93c30267eb100ed7 (مفتوح)
تم إنشاء هذا النص بواسطة نظام ذكاء اصطناعي وخضع للمراجعة التحريرية.
Register a notifier function which is called if the Session is changed. A consecutive call of this method will overwrite the previous registered notifier.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b40c717f1178المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تنتمي الدالة SetDiagnosticSessionNotifier إلى الفئة ara::diag::Conversation ويتم توفيرها عبر ملف الترويسة #include "ara/diag/conversation.h"[SWS_DM_00697]. وهي تتيح للتطبيقات تسجيل دالة منبه يتم إطلاقها عند كل تغيير في جلسة التشخيص.
كقيمة إرجاع، تُعيد الواجهة ara::core::Result<void>، والذي يؤكد إما التسجيل الناجح أو يحتوي على كائن خطأ [SWS_DM_00697]. لا تحدد المواصفة أي أكواد أخطاء قياسية لهذا الاستدعاء؛ ولذلك يُرجح أن تعود الأخطاء التي تحدث إلى عمليات تحقق خاصة بالتنفيذ. سؤال Q-1ac7eebee90e3c22 (مفتوح)
التزامن والقيود
أمان المؤشرات: تم تحديد الدالة بأنها ليست آمنة مؤشريًا (not thread-safe) [SWS_DM_00697]. لذلك، يجب مزامنة الاستدعاءات المتوازية لمثيل المحادثة نفسه من جانب التطبيق.
أمان الاستثناءات: أُعلنت الدالة كـ noexcept وتعتبر آمنة من الاستثناءات (exception safe) [SWS_DM_00697].
Register a notifier function which is called if the SecurityLevel is changed. A consecutive call of this method will overwrite the previous registered notifier.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f0130e1f2bdeالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُستخدم الدالة ara::diag::Conversation::SetSecurityLevelNotifier لتسجيل دالة رد نداء يتم إشعارها بمجرد تغير مستوى الأمان (SecurityLevel) للمحادثة التشخيصية [SWS_DM_00699]. يتم التصريح عنها عبر الترويسة ara/diag/conversation.hAUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.13 «SetSecurityLevelNotifier». وتستقبل كمعامل الدالة المراد استدعاؤها notifier. يؤدي الاستدعاء المتجدد للدالة إلى استبدال دالة المنبه المسجلة سابقًا بالكامل [SWS_DM_00699].
الدلالة اللفظية والقيمة المرجعة
تم تعريف الدالة كـ noexcept وتحديدها كآمنة من الاستثناءات (exception safe) [SWS_DM_00699]. وكنوع إرجاع، تُعيد ara::core::Result<void>، والذي يرجع إما لا قيمة أو خطأً حدث [SWS_DM_00699].
معالجة الأخطاء
لا تحدد المواصفة أي أكواد أخطاء قياسية لـ SetSecurityLevelNotifier[SWS_DM_00699]. وبالتالي، يُرجح أن تكون أي أخطاء تُعاد في ara::core::Result خاصة بالشركة المصنعة أو ناجمة عن بيئة تشغيل المنصة الأساسية. سؤال Q-c8dd53e9d661cc78 (مفتوح)
التزامن والقيود
فيما يتعلق بأمان المؤشرات، صُنفت الدالة صراحةً بأنها not thread-safe[SWS_DM_00699]. وبالتالي، يجب مزامنة عمليات الوصول المتوازية إلى المثيل نفسه من ara::diag::Conversation من جهة المستدعي. بالإضافة إلى ذلك، يحمل تعريف API في حالة التوثيق الحالية الحالة DRAFTAUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.13 «SetSecurityLevelNotifier».
تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Adaptive Platform الإصدار R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني