قراردادهای نامگذاری بسته‌های خدماتی

نام‌های بسته‌های خدماتی در یک سلسله مراتب تعریف می‌شوند.

  • هر ماشین مجازی (که با نام ماشین مجازی مشخص می‌شود) یک پیاده‌سازی واحد از سیستم عامل پروفایل SDV Core است.

  • هر بسته (که با نام بسته مشخص می‌شود) می‌تواند شامل چندین بسته سرویس باشد.

  • هر بسته سرویس (که با نام بسته سرویس مشخص می‌شود) می‌تواند چندین بار در همان ماشین مجازی نمونه‌سازی شود.

  • هر نمونه بسته سرویس با نام نمونه بسته سرویس که در زمان بارگذاری اختصاص داده شده است، شناسایی می‌شود.

نام ماشین مجازی SDV

نام ماشین مجازی یک شناسه نام منحصر به فرد است که به هر استقرار از یک پروفایل هسته SDV متصل می‌شود، همانطور که در پیکربندی ماشین مجازی خودرو (vvmconfig) مشخص شده است. نام ماشین مجازی در نامگذاری به عنوان یک جداسازی منطقی از سرویس‌ها در امتداد مرزهای ماشین مجازی در یک خودرو استفاده می‌شود. مثال‌ها عبارتند از:

  • cdc
  • mechatronics
  • pcu
  • telematics-unit

این محدودیت‌های نامگذاری اعمال می‌شوند.

  • نام ماشین مجازی باید با حرف [az] شروع شود.
  • نام ماشین مجازی نباید با خط تیره تمام شود.
  • نام ماشین مجازی نباید بیش از ۳۱ کاراکتر باشد
  • همه کاراکترها باید از حروف کوچک و عددی یا خط فاصله باشند [a-z0-9\-]
  • خط فاصله در نام نباید بیش از یک بار پشت سر هم ظاهر شود

منحصر به فرد بودن نام ماشین مجازی در زمان کامپایل (آنالیز استاتیک) و بوت سیستم، زمانی که vvmconfig بارگذاری می‌شود، تأیید می‌شود.

خطای سطح بوت زمانی رخ می‌دهد که اعتبارسنجی در زمان بوت با شکست مواجه شود.

نام بسته SDV

مشابه اندروید استاندارد، نام بسته SDV به طور منحصر به فرد، بسته‌ای را که روی سیستم مستقر شده است، مشخص می‌کند. برای هر نام بسته باید یک APEX منحصر به فرد ارائه شود. به عنوان مثال:

  • com.android.sdv.datatunnel
  • com.android.sdv.sample.datatunnel
  • com.yourcompany.sdv.adas

محدودیت‌های زیر اعمال می‌شود:

  • تمام SDV APEX های متعلق به شرکا باید با پیشوند com.<companyname>.sdv. شروع شوند ( com.android.sdv. برای SDV APEX های متعلق به گوگل رزرو شده است).
  • تمام کاراکترها باید شامل حروف و اعداد یا زیرخط باشند، [a-z0-9_] .
  • نام بسته باید حداقل شامل چهار بخش باشد که با نقطه از هم جدا شده‌اند.
  • نام بسته نباید با نقطه تمام شود.
  • نام بسته نباید بیش از ۱۲۷ کاراکتر باشد.
  • هر بخش باید با یک حرف شروع شود.
  • هیچ بخشی نمی‌تواند زیرخط‌های متوالی داشته باشد، __ .
  • هیچ بخشی نمی‌تواند با زیرخط ( _ پایان یابد.
  • بخش‌ها نباید خالی باشند (نقطه‌های متوالی مجاز نیستند).

نام بسته خدماتی

مشابه اندروید استاندارد، هر بسته سرویس یک نام خوانا برای انسان دارد که در فضای نام بسته‌ای که به آن تعلق دارد، قرار گرفته است. برای مثال:

  • SomeService
  • ImportantService

این محدودیت‌های نامگذاری اعمال می‌شوند:

  • نام بسته خدمات باید با حرف بزرگ شروع شود
  • نام بسته سرویس نباید خالی باشد
  • نام بسته خدمات نباید از ۴۷ کاراکتر بیشتر باشد
  • نام بسته سرویس نباید دارای زیرخط‌های متوالی باشد، __
  • نام بسته سرویس نباید با زیرخط ( _ شروع یا پایان یابد.
  • تمام کاراکترها باید یا الفبا عددی باشند یا زیرخط، [A-Za-z0-9_]

نام نمونه بسته سرویس

برخلاف برنامه‌های استاندارد اندروید، بسته‌های سرویس در AAOS SDV می‌توانند چندین بار در یک ماشین مجازی نصب و بارگذاری شوند. در نتیجه، یک بسته سرویس می‌تواند چندین نمونه در حال اجرا در یک ماشین مجازی AAOS SDV داشته باشد. به این نمونه‌ها یک نام نمونه بسته سرویس قابل خواندن توسط انسان اختصاص داده می‌شود. به عنوان مثال:

  • front-left
  • front-right
  • main
  • client
  • subscriber

این محدودیت‌ها اعمال می‌شوند:

  • نام نمونه باید:

    • با حرف [az] شروع شود
    • با خط فاصله تمام نشود
    • بیش از ۴۷ کاراکتر نباشد
    • برای یک سرویس خاص، در یک ماشین مجازی واحد منحصر به فرد باشید
  • همه کاراکترها باید از حروف کوچک و عددی یا خط فاصله باشند [a-z0-9\-]

  • خط فاصله نباید پشت سر هم ظاهر شود

  • هر نمونه سرویس باید یک نام نمونه منحصر به فرد داشته باشد (که هنگام شروع سرویس ارائه یا ایجاد می‌شود).

نام نمونه بسته خدمات کاملاً واجد شرایط (FQIN)

نام ماشین مجازی SDV، نام بسته، نام بسته سرویس و نام نمونه بسته سرویس در یک نام نمونه بسته سرویس کاملاً واجد شرایط (FQIN) ترکیب می‌شوند. این نام به طور منحصر به فرد، نمونه بسته سرویس را در سطح خودرو مشخص می‌کند.

چند مثال:

  • cdc:com.android.sdv.datatunnel.SomeService/instance1
  • cdc:com.android.sdv.datatunnel.SomeService/instance2
  • mechatronics:com.yourcompany.sdv.adas.TirePressure/front-left
  • mechatronics:com.yourcompany.sdv.adas.TirePressure/front-right
  • mechatronics:com.yourcompany.sdv.adas.TirePressure/rear-right
  • pcu:com.android.sdv.cluster.InfoProvider/acceleration

بسته‌های خدماتی در بسته‌های مختلف می‌توانند نام بسته خدماتی یکسانی داشته باشند. برای مثال، این دو بسته خدماتی (که با FQINهای مربوطه‌شان شناسایی می‌شوند) که در یک SDV VM ( mechatronics ) یکسان مستقر شده‌اند، نام بسته خدماتی یکسانی به نام TirePressure دارند:

  • mechatronics:com.yourcompany1.sdv.adas.TirePressure/default
  • mechatronics:com.yourcompany2.sdv.adas.TirePressure/default

در این مثال، هیچ تداخل نامگذاری رخ نمی‌دهد زیرا دو بسته سرویس در بسته‌های مختلف قرار دارند (یکی در com.yourcompany1.sdv.adas و دیگری در com.yourcompany2.sdv.adas ).

نام موضوع

موضوعات توسط رشته‌هایی شناسایی می‌شوند که برای یک نوع پیام مشخص، در سراسر وسیله نقلیه منحصر به فرد هستند.

مثال‌هایی از نام موضوعات:

  • left-tire
  • front-window
  • engine-coolant-temp

محدودیت‌ها:

  • باید شامل حروف و اعداد یا خط فاصله باشد، [a-z0-9\-] .
  • باید با یک حرف شروع شود.
  • نباید از ۱۲۷ کاراکتر تجاوز کند.

نام کانال

کانال‌ها با یک رشته نام مشخص می‌شوند.

نمونه نام کانال‌ها:

  • main-control
  • high-priority
  • background

محدودیت‌ها:

  • باید شامل حروف و اعداد یا خط فاصله باشد، [a-z0-9\-] .
  • باید با یک حرف شروع شود.
  • نباید از ۱۲۷ کاراکتر تجاوز کند.

نام واحد خدماتی

توسعه‌دهندگان بسته‌های سرویس در درجه اول با تاپیک‌ها و کانال‌ها تعامل دارند. نام واحدهای سرویس، جزئیات پیاده‌سازی اساسی هستند و در درجه اول هنگام استفاده از ابزارهای اشکال‌زدایی مانند dumpsys با آنها مواجه می‌شوند.

واحدهای خدماتی، هنگام ثبت در SDV Service Discovery، ملزم به ارائه نام واحد خدماتی هستند. این نام واحد خدماتی در زمان کشف سرویس در دسترس است. این مثال‌ها نام واحدهای خدماتی را با FQIN نشان می‌دهند:

  • ( cdc:com.android.sdv.adas.Service1/default-inst , tp-provider )
  • ( cdc:com.yourcompany.sdv.adas.TirePressure/instance1 , tp-provider-1 )
  • ( mech:com.yourcompany.sdv.adas.TirePressure/instance2 , tp-instance )

نام نوع واحد

نام‌های نوع واحد برابر با نام‌های نوع Protobuf (کاملاً واجد شرایط) هستند. برای مثال:

  • com.android.sdv.datatunnel.IComponentHandler
  • com.android.sdv.datatunnel.IComponentHandler
  • com.yourcompany.sdv.adas.TirePressure
  • com.android.sdv.cluster.IWheelInfoCallback
  • com.android.sdv.cluster.ISeatAlignmentCallback

خلاصه

الزامات نامگذاری در جدول زیر خلاصه شده است:

مورد حد کاراکترهای مجاز نوع مورد
اف‌کوین ۲۵۶ کاراکتر متشکل از نام ماشین مجازی، نام بسته، نام بسته سرویس و نام نمونه بسته سرویس. حروف کوچک
نام ماشین مجازی SDV ۳۰ کاراکتر
  • باید با حرف az شروع شود.
  • نباید با خط فاصله ( - ) پایان یابد.
  • کاراکترها باید حروف کوچک و عددی یا خط فاصله ( a-z0-9\- ) باشند.
  • خط فاصله نباید بیش از یک بار پشت سر هم ظاهر شود.
حروف کوچک
نام بسته SDV ۱۲۷ کاراکتر
  • باید حداقل شامل چهار بخش باشد.
  • باید با یک حرف شروع شود.
  • هیچ بخشی نمی‌تواند شامل زیرخط‌های متوالی باشد.
  • هیچ بخشی نمی‌تواند با زیرخط (_) پایان یابد.
  • بخش‌ها نمی‌توانند خالی باشند.
  • کاراکترها باید با حروف کوچک یا خط فاصله ( a-z0-9\- ) باشند.
حروف کوچک
نام بسته خدماتی ۳۰ کاراکتر
  • باید با حرف بزرگ شروع شود.
  • نباید خالی باشه.
  • نباید شامل زیرخط‌های متوالی ( __ ) باشد.
  • نباید با زیرخط ( _ ) شروع یا پایان یابد.
  • کاراکترها باید شامل حروف و اعداد یا زیرخط ( A-Za-z0-9_ ) باشند.
حالت مختلط
نام نمونه بسته سرویس ۴۸ کاراکتر
  • باید با حرف ( az ) شروع شود.
  • نباید با خط فاصله ( - ) پایان یابد.
  • باید در همان ماشین مجازی برای همان سرویس منحصر به فرد باشد.
  • کاراکترها باید با حروف کوچک یا خط فاصله ( a-z0-9\- ) باشند.
  • خط فاصله نباید پشت سر هم ظاهر شود.
حروف کوچک
نام موضوع ۱۲۷ کاراکتر
  • باید با حرف ( az ) شروع شود.
  • کاراکترها باید حروف کوچک و عددی یا خط فاصله ( a-z0-9\- ) باشند.
حروف کوچک
نام کانال ۱۲۷ کاراکتر
  • باید با حرف ( az ) شروع شود.
  • کاراکترها باید حروف کوچک و عددی یا خط فاصله ( a-z0-9\- ) باشند.
حروف کوچک
نام واحد خدماتی ۴۸ کاراکتر
  • باید با حرف ( az ) شروع شود.
  • نباید با خط فاصله ( - ) پایان یابد.
  • کاراکترها باید با حروف کوچک یا خط فاصله ( a-z0-9\- ) باشند.
  • خط فاصله نباید بیش از یک بار پشت سر هم ظاهر شود.
حروف کوچک