সার্ভিস বান্ডেলের নামগুলো একটি স্তরক্রম অনুসারে সংজ্ঞায়িত করা হয়।
প্রতিটি ভিএম (যা একটি ভিএম নাম দ্বারা চিহ্নিত) হলো এসডিভি কোর প্রোফাইল অপারেটিং সিস্টেমের একটি একক ডেপ্লয়মেন্ট।
প্রতিটি প্যাকেজ (যা একটি প্যাকেজ নাম দ্বারা চিহ্নিত) একাধিক সার্ভিস বান্ডেল ধারণ করতে পারে।
প্রতিটি সার্ভিস বান্ডেল (যা একটি সার্ভিস বান্ডেল নাম দ্বারা চিহ্নিত) একই ভিএম-এ একাধিকবার ইনস্ট্যানশিয়েট করা যেতে পারে।
প্রতিটি সার্ভিস বান্ডেল ইনস্ট্যান্সকে লোড হওয়ার সময় নির্ধারিত একটি সার্ভিস বান্ডেল ইনস্ট্যান্স নাম দ্বারা শনাক্ত করা হয়।
এসডিভি ভিএম নাম
ভিএম নেম হলো একটি অনন্য নাম শনাক্তকারী, যা ভেহিকেল ভিএম কনফিগ (vvmconfig)- এ নির্দিষ্ট করা প্রতিটি এসডিভি কোর প্রোফাইলের ডেপ্লয়মেন্টের সাথে সংযুক্ত থাকে। একটি ভেহিকেলের মধ্যে ভিএম সীমানা বরাবর সার্ভিসগুলোর যৌক্তিক বিভাজন হিসেবে নামকরণে ভিএম নেম ব্যবহার করা হয়। উদাহরণস্বরূপ:
-
cdc -
mechatronics -
pcu -
telematics-unit
নামকরণের এই বিধিনিষেধগুলো প্রযোজ্য।
- ভিএম-এর নাম অবশ্যই একটি অক্ষর দিয়ে শুরু হতে হবে
[az] - ভিএম নামের শেষে হাইফেন থাকতে পারবে না।
- ভিএম-এর নাম ৩১ অক্ষরের বেশি হবে না।
- সমস্ত অক্ষর অবশ্যই ছোট হাতের অক্ষর বা একটি হাইফেন হতে হবে
[a-z0-9\-] - নামে পরপর একাধিকবার হাইফেন ব্যবহার করা যাবে না।
কম্পাইল করার সময় (স্ট্যাটিক-অ্যানালাইসিস) এবং সিস্টেম বুট করার সময়, যখন vvmconfig লোড করা হয়, তখন VM-এর নামটি অনন্য কিনা তা যাচাই করা হয়।
বুট করার সময় যাচাইকরণ ব্যর্থ হলে একটি বুট-স্তরের ত্রুটি ঘটে।
এসডিভি প্যাকেজের নাম
সাধারণ অ্যান্ড্রয়েডের মতোই, 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-তে সার্ভিস বান্ডেলগুলো একই VM-এ একাধিকবার ইনস্টল এবং লোড করা যায়। ফলে, একই AAOS SDV VM-এর মধ্যে একই সার্ভিস বান্ডেলের একাধিক ইনস্ট্যান্স চলতে পারে। এই ইনস্ট্যান্সগুলোকে একটি সহজে পাঠযোগ্য সার্ভিস বান্ডেল ইনস্ট্যান্স নেম দেওয়া হয়। উদাহরণস্বরূপ:
-
front-left -
front-right -
main -
client -
subscriber
এই বিধিনিষেধগুলি প্রযোজ্য:
ইনস্ট্যান্সের নাম অবশ্যই:
-
[az]অক্ষর দিয়ে শুরু করুন - হাইফেন দিয়ে শেষ করবেন না
- ৪৭ অক্ষরের বেশি নয়
- একই পরিষেবার জন্য একই ভিএম-এ অনন্য হন
-
সমস্ত অক্ষর অবশ্যই ছোট হাতের অক্ষর বা একটি হাইফেন হতে হবে
[a-z0-9\-]হাইফেন পরপর ব্যবহার করা যাবে না।
প্রতিটি সার্ভিস ইনস্ট্যান্সের একটি অনন্য ইনস্ট্যান্স নাম থাকতে হবে (যা সার্ভিসটি চালু করার সময় প্রদান বা তৈরি করা হয়)।
সম্পূর্ণ যোগ্য পরিষেবা বান্ডেল ইনস্ট্যান্সের নাম (FQIN)
এসডিভি ভিএম নাম, প্যাকেজ নাম, সার্ভিস বান্ডেল নাম এবং সার্ভিস বান্ডেল ইনস্ট্যান্স নাম একত্রিত করে একটি সম্পূর্ণ যোগ্যতাসম্পন্ন সার্ভিস বান্ডেল ইনস্ট্যান্স নাম (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
বিভিন্ন প্যাকেজের সার্ভিস বান্ডেলগুলোর একই সার্ভিস বান্ডেল নাম থাকতে পারে। উদাহরণস্বরূপ, একই SDV VM ( mechatronics )-এ ডেপ্লয় করা এই দুটি সার্ভিস বান্ডেলের (তাদের নিজ নিজ FQIN দ্বারা চিহ্নিত) সার্ভিস বান্ডেল নাম একই, যা হলো 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 মতো ডিবাগিং টুল ব্যবহার করার সময় এটির সম্মুখীন হতে হয়।
এসডিভি সার্ভিস ডিসকভারি-তে সার্ভিস ইউনিট রেজিস্টার করার সময়, একটি সার্ভিস ইউনিট নেম প্রদান করা আবশ্যক। এই সার্ভিস ইউনিট নেমটি সার্ভিস ডিসকভারি-র সময়ে পাওয়া যায়। এই উদাহরণগুলিতে 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 )
ইউনিটের প্রকারের নাম
ইউনিট টাইপের নামগুলো (পূর্ণাঙ্গ) প্রোটোবাফ টাইপের নামের সমান। উদাহরণস্বরূপ:
-
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
সারসংক্ষেপ
নামকরণের প্রয়োজনীয়তাগুলো নিম্নলিখিত সারণিতে সংক্ষেপে তুলে ধরা হলো:
| আইটেম | সীমা | অনুমোদিত অক্ষর | মামলার ধরণ |
|---|---|---|---|
| FQIN | ২৫৬টি অক্ষর | ভিএম নাম, প্যাকেজ নাম, সার্ভিস বান্ডেল নাম এবং সার্ভিস বান্ডেল ইনস্ট্যান্স নাম নিয়ে গঠিত। | ছোট হাতের অক্ষর |
| এসডিভি ভিএম নাম | ৩০টি অক্ষর |
| ছোট হাতের অক্ষর |
| এসডিভি প্যাকেজের নাম | ১২৭টি অক্ষর |
| ছোট হাতের অক্ষর |
| পরিষেবা বান্ডেলের নাম | ৩০টি অক্ষর |
| মিশ্র মামলা |
| সার্ভিস বান্ডেল ইনস্ট্যান্সের নাম | ৪৮টি অক্ষর |
| ছোট হাতের অক্ষর |
| বিষয়ের নাম | ১২৭টি অক্ষর |
| ছোট হাতের অক্ষর |
| চ্যানেলের নাম | ১২৭টি অক্ষর |
| ছোট হাতের অক্ষর |
| পরিষেবা ইউনিটের নাম | ৪৮টি অক্ষর |
| ছোট হাতের অক্ষর |