نامهای بستههای خدماتی در یک سلسله مراتب تعریف میشوند.
هر ماشین مجازی (که با نام ماشین مجازی مشخص میشود) یک پیادهسازی واحد از سیستم عامل پروفایل 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 | ۳۰ کاراکتر |
| حروف کوچک |
| نام بسته SDV | ۱۲۷ کاراکتر |
| حروف کوچک |
| نام بسته خدماتی | ۳۰ کاراکتر |
| حالت مختلط |
| نام نمونه بسته سرویس | ۴۸ کاراکتر |
| حروف کوچک |
| نام موضوع | ۱۲۷ کاراکتر |
| حروف کوچک |
| نام کانال | ۱۲۷ کاراکتر |
| حروف کوچک |
| نام واحد خدماتی | ۴۸ کاراکتر |
| حروف کوچک |