ชื่อแพ็กเกจบริการจะกำหนดไว้ในลำดับชั้น
VM แต่ละรายการ (ระบุโดยชื่อ VM) คือการติดตั้งใช้งานระบบปฏิบัติการโปรไฟล์ SDV Core เพียงครั้งเดียว
แพ็กเกจแต่ละแพ็กเกจ (ระบุโดยชื่อแพ็กเกจ) อาจมี Service Bundle หลายรายการ
แพ็กเกจบริการแต่ละรายการ (ระบุโดยชื่อแพ็กเกจบริการ) สามารถสร้างอินสแตนซ์ได้หลายครั้งใน VM เดียวกัน
อินสแตนซ์ของแพ็กเกจบริการแต่ละรายการจะระบุด้วยชื่ออินสแตนซ์ของแพ็กเกจบริการที่กำหนดไว้ในเวลาที่ใช้ในการโหลด
ชื่อ VM ของ SDV
ชื่อ VM คือตัวระบุชื่อที่ไม่ซ้ำกันซึ่งแนบอยู่กับการติดตั้งใช้งานแต่ละครั้งของโปรไฟล์ SDV Core ตามที่ระบุไว้ใน Vehicle VM Config (vvmconfig) ระบบจะใช้ ชื่อ VM ในการตั้งชื่อเพื่อแยกบริการตามขอบเขตของ VM ในรถยนต์ ตัวอย่างเช่น
cdcmechatronicspcutelematics-unit
โดยมีข้อจำกัดในการตั้งชื่อดังนี้
- ชื่อ VM ต้องขึ้นต้นด้วยตัวอักษร
[a-z] - ชื่อ VM ต้องไม่ลงท้ายด้วยขีดกลาง
- ชื่อ VM ต้องมีความยาวไม่เกิน 31 อักขระ
- อักขระทั้งหมดต้องเป็นตัวอักษรพิมพ์เล็กและตัวเลขคละกัน หรือขีดกลาง
[a-z0-9\-] - ขีดกลางในชื่อต้องไม่ปรากฏติดต่อกันมากกว่า 1 ครั้ง
ระบบจะยืนยันว่าชื่อ VM ไม่ซ้ำกันในระหว่างเวลาคอมไพล์ (การวิเคราะห์แบบคงที่) และการบูตระบบเมื่อโหลด vvmconfig
ข้อผิดพลาดระดับการบูตจะเกิดขึ้นเมื่อการตรวจสอบความถูกต้องในเวลาบูตไม่สำเร็จ
ชื่อแพ็กเกจ SDV
ชื่อแพ็กเกจ SDV จะระบุแพ็กเกจที่ ติดตั้งใช้งานในระบบได้อย่างไม่ซ้ำกันเช่นเดียวกับ Android มาตรฐาน ต้องระบุ APEX ที่ไม่ซ้ำกันสำหรับชื่อแพ็กเกจแต่ละชื่อ เช่น
com.android.sdv.datatunnelcom.android.sdv.sample.datatunnelcom.yourcompany.sdv.adas
โดยมีข้อจำกัดดังนี้
- APEX SDV ทั้งหมดที่พาร์ทเนอร์เป็นเจ้าของควรมีคำนำหน้าเป็น
com.<companyname>.sdv.(com.android.sdv.สงวนไว้สำหรับ APEX SDV ที่ Google เป็นเจ้าของ) - อักขระทั้งหมดต้องเป็นตัวอักษรและตัวเลขคละกันหรือขีดล่าง
[a-z0-9_] - ชื่อแพ็กเกจต้องมีอย่างน้อย 4 ส่วนที่คั่นด้วยจุด
- ชื่อแพ็กเกจต้องไม่ลงท้ายด้วยเครื่องหมายจุด
- ชื่อแพ็กเกจต้องมีความยาวไม่เกิน 127 อักขระ
- แต่ละกลุ่มต้องขึ้นต้นด้วยตัวอักษร
- กลุ่มต้องไม่มีขีดล่างติดกัน
__ - ไม่มีกลุ่มใดที่ลงท้ายด้วยขีดล่าง
_ได้ - ส่วนต่างๆ ต้องไม่ว่างเปล่า (ไม่มีจุดติดกัน)
ชื่อแพ็กเกจบริการ
เช่นเดียวกับ Android มาตรฐาน แต่ละแพ็กเกจบริการจะมีชื่อที่มนุษย์อ่านได้ ซึ่งอยู่ในเนมสเปซของชื่อแพ็กเกจที่แพ็กเกจบริการนั้นๆ เป็นของ เช่น
SomeServiceImportantService
โดยมีข้อจำกัดในการตั้งชื่อดังนี้
- ชื่อแพ็กเกจบริการต้องขึ้นต้นด้วยตัวพิมพ์ใหญ่
- ต้องระบุชื่อแพ็กเกจบริการ
- ชื่อแพ็กเกจบริการต้องมีความยาวไม่เกิน 47 อักขระ
- ชื่อแพ็กเกจบริการต้องไม่มีขีดล่างติดกัน
__ - ชื่อแพ็กเกจบริการต้องไม่ขึ้นต้นหรือลงท้ายด้วยขีดล่าง
_ - อักขระทั้งหมดต้องเป็นตัวอักษรและตัวเลขคละกันหรือขีดล่าง
[A-Za-z0-9_]
ชื่ออินสแตนซ์ของแพ็กเกจบริการ
ชุดบริการใน SDV ของ AAOS สามารถติดตั้งและโหลดได้หลายครั้งใน VM เดียวกัน ซึ่งต่างจากแอปพลิเคชัน Android มาตรฐาน ด้วยเหตุนี้ แพ็กเกจบริการเดียวกันจึงมีอินสแตนซ์หลายรายการที่ทํางานภายใน VM ของ AAOS SDV เดียวกันได้ อินสแตนซ์เหล่านี้จะได้รับการกำหนดชื่ออินสแตนซ์ของชุดบริการที่มนุษย์อ่านได้ เช่น
front-leftfront-rightmainclientsubscriber
โดยมีข้อจำกัดดังนี้
ชื่ออินสแตนซ์ต้องมีลักษณะดังนี้
- ขึ้นต้นด้วยตัวอักษร
[a-z] - ไม่ลงท้ายด้วยขีดกลาง
- ต้องมีอักขระไม่เกิน 47 ตัว
- ไม่ซ้ำกันใน VM เดียวกันสำหรับบริการเดียวกัน
- ขึ้นต้นด้วยตัวอักษร
อักขระทั้งหมดต้องเป็นตัวอักษรพิมพ์เล็กและตัวเลขคละกัน หรือขีดกลาง
[a-z0-9\-]ขีดกลางต้องไม่ปรากฏติดกัน
อินสแตนซ์บริการแต่ละรายการต้องมีชื่ออินสแตนซ์ที่ไม่ซ้ำกัน (ระบุหรือสร้างขึ้น เมื่อเริ่มบริการ)
ชื่ออินสแตนซ์ของชุดบริการที่สมบูรณ์ในตัวเอง (FQIN)
ระบบจะรวมชื่อ VM ของ SDV, ชื่อแพ็กเกจ, ชื่อแพ็กเกจบริการ และชื่ออินสแตนซ์แพ็กเกจบริการ เข้าด้วยกันเป็นชื่ออินสแตนซ์แพ็กเกจบริการที่สมบูรณ์ในตัวเอง (FQIN) ซึ่งจะระบุอินสแตนซ์แพ็กเกจบริการที่ไม่ซ้ำกันทั่วทั้งรถ
โดยตัวอย่างมีดังนี้
cdc:com.android.sdv.datatunnel.SomeService/instance1cdc:com.android.sdv.datatunnel.SomeService/instance2mechatronics:com.yourcompany.sdv.adas.TirePressure/front-leftmechatronics:com.yourcompany.sdv.adas.TirePressure/front-rightmechatronics:com.yourcompany.sdv.adas.TirePressure/rear-rightpcu:com.android.sdv.cluster.InfoProvider/acceleration
แพ็กเกจบริการในแพ็กเกจต่างๆ อาจมีชื่อแพ็กเกจบริการเดียวกันได้ เช่น แพ็กเกจบริการ 2 รายการต่อไปนี้ (ระบุโดย FQIN ของแต่ละรายการ) ซึ่งติดตั้งใช้งานใน VM ของ SDV เดียวกัน (mechatronics) มีชื่อแพ็กเกจบริการเดียวกันคือ TirePressure
mechatronics:com.yourcompany1.sdv.adas.TirePressure/defaultmechatronics:com.yourcompany2.sdv.adas.TirePressure/default
ในตัวอย่างนี้ จะไม่มีการตั้งชื่อซ้ำเนื่องจากแพ็กเกจบริการ 2 รายการอยู่คนละแพ็กเกจ (รายการหนึ่งอยู่ใน com.yourcompany1.sdv.adas และอีกรายการอยู่ใน com.yourcompany2.sdv.adas)
ชื่อหัวข้อ
ระบบจะระบุหัวข้อด้วยสตริงที่ไม่ซ้ำกันในยานพาหนะสำหรับ ประเภทข้อความที่กำหนด
ตัวอย่างชื่อหัวข้อ
left-tirefront-windowengine-coolant-temp
ข้อจำกัด:
- ต้องเป็นตัวอักษรและตัวเลขคละกันหรือขีดกลาง
[a-z0-9\-] - ต้องขึ้นต้นด้วยตัวอักษร
- ต้องมีความยาวไม่เกิน 127 อักขระ
ชื่อช่อง
ช่องจะระบุด้วยสตริงชื่อ
ตัวอย่างชื่อช่อง
main-controlhigh-prioritybackground
ข้อจำกัด:
- ต้องเป็นตัวอักษรและตัวเลขคละกันหรือขีดกลาง
[a-z0-9\-] - ต้องขึ้นต้นด้วยตัวอักษร
- ต้องมีความยาวไม่เกิน 127 อักขระ
ชื่อหน่วยบริการ
โดยหลักแล้ว นักพัฒนาซอฟต์แวร์แพ็กเกจบริการจะโต้ตอบกับหัวข้อและ
ช่อง ชื่อหน่วยบริการเป็นรายละเอียดการติดตั้งใช้งานพื้นฐาน
และจะพบได้เป็นหลักเมื่อใช้เครื่องมือแก้ไขข้อบกพร่อง เช่น 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.IComponentHandlercom.android.sdv.datatunnel.IComponentHandlercom.yourcompany.sdv.adas.TirePressurecom.android.sdv.cluster.IWheelInfoCallbackcom.android.sdv.cluster.ISeatAlignmentCallback
สรุป
ข้อกำหนดในการตั้งชื่อสรุปไว้ในตารางต่อไปนี้
| รายการ | ขีดจำกัด | อักขระที่อนุญาต | ประเภทเคส |
|---|---|---|---|
| FQIN | 256 อักขระ | ประกอบด้วยชื่อ VM, ชื่อแพ็กเกจ, ชื่อแพ็กเกจบริการ และชื่ออินสแตนซ์แพ็กเกจบริการ | ตัวพิมพ์เล็ก |
| ชื่อ VM ของ SDV | 30 อักขระ |
|
ตัวพิมพ์เล็ก |
| ชื่อแพ็กเกจ SDV | 127 อักขระ |
|
ตัวพิมพ์เล็ก |
| ชื่อแพ็กเกจบริการ | 30 อักขระ |
|
ตัวพิมพ์เล็กและใหญ่ผสมกัน |
| ชื่ออินสแตนซ์ของแพ็กเกจบริการ | 48 อักขระ |
|
ตัวพิมพ์เล็ก |
| ชื่อหัวข้อ | 127 อักขระ |
|
ตัวพิมพ์เล็ก |
| ชื่อช่อง | 127 อักขระ |
|
ตัวพิมพ์เล็ก |
| ชื่อหน่วยบริการ | 48 อักขระ |
|
ตัวพิมพ์เล็ก |