หน้านี้จะกำหนดคำสำคัญที่ใช้ตลอดเอกสารประกอบของ Android Automotive OS (AAOS) Software Defined Vehicle (SDV) และเชื่อมโยงแนวคิดมาตรฐานในอุตสาหกรรมยานยนต์ กับแนวคิด SDV ของ AAOS ที่เกี่ยวข้อง
แมปแนวคิดในอุตสาหกรรมยานยนต์กับ SDV ของ AAOS
ตารางต่อไปนี้จะจับคู่สถาปัตยกรรม โปรโตคอล และข้อกำหนดมาตรฐานของอุตสาหกรรมยานยนต์กับแนวคิด SDV ของ AAOS ที่เกี่ยวข้องมากที่สุด
| มาตรฐานหรือแนวคิดในอุตสาหกรรม | แนวคิด SDV ของ AAOS ที่เกี่ยวข้อง | บทบาทและเอกสารประกอบ |
|---|---|---|
| คอมโพเนนต์ซอฟต์แวร์ (SWC) ของสถาปัตยกรรมระบบเปิดยานยนต์ (AUTOSAR) หรือแอปพลิเคชันแบบปรับตัว | แพ็กเกจบริการ | โมดูลโดเมนที่สามารถติดตั้งใช้งานได้อย่างอิสระ (.apex)
ห่อหุ้มตรรกะทางธุรกิจและปลายทางการสื่อสารที่เกี่ยวข้อง (เซิร์ฟเวอร์ RPC
ไคลเอ็นต์ ผู้เผยแพร่ และผู้ติดตาม) ดู
สถาปัตยกรรม
เชิงตรรกะ |
คำนิยามอินเทอร์เฟซ AUTOSAR Adaptive ara::com |
VSIDL (.vsidl) และบัฟเฟอร์โปรโตคอล
(.proto) |
บริการแบบประกาศและสคีมาข้อความที่คอมไพล์โดย
vsidlc เป็นการเชื่อมโยงไลบรารีของไคลเอ็นต์ Rust ดู
ภาพรวมของ VSIDL และมิดเดิลแวร์ |
| Scalable service-Oriented MiddlewarE over IP (SOME/IP) และ SOME/IP Service Discovery (SD) | การรับส่งข้อมูล SOME/IP และ ISomeIpStack |
การเรียกกระบวนการระยะไกล (RPC) และการรับส่งแบบเผยแพร่-สมัครรับข้อมูลข้าม ECU
ที่รองรับผ่านสแต็กของพาร์ทเนอร์ที่กำหนดเอง (ISomeIpStack AIDL ที่เสถียร
) หรือ Connected Vehicle Systems Alliance (COVESA)
vsomeip ดู
ภาพรวมการผสานรวม SOME/IP |
| ข้อกำหนดสัญญาณยานพาหนะ (VSS) ของ COVESA | แคตตาล็อกพร็อพเพอร์ตี้ VHAL และ VSIDL | สัญญาณยานพาหนะที่ได้มาตรฐานซึ่งแสดงในระบบสาระบันเทิงในรถยนต์ (IVI) ผ่านระดับชั้นการจัดการฮาร์ดแวร์โดยตรงของยานพาหนะ (VHAL) และเชื่อมต่อกับบริการ SDV ดูใช้ SDV Gateway ใน IVI |
| หน่วยควบคุมอิเล็กทรอนิกส์ (ECU) | อินสแตนซ์ SDV ของ AAOS ที่ทำงานในเครื่องเสมือน (VM) บน ไฮเปอร์ไวเซอร์ | VM ของแขกที่แยกต่างหากซึ่งเรียกใช้ SDV ของ AAOS แบบไม่มีส่วนหัว
โปรไฟล์หลักที่สื่อสารผ่านซ็อกเก็ต VirtIO (vsock) หรือ
อีเทอร์เน็ต ดูสถาปัตยกรรมระบบ SDV ของ AAOS |
| ISO 26262 / ASIL Instrument Cluster และตัวจัดการไฟเตือน | การแสดงผลที่ปลอดภัยและเครื่องมือแสดงผลที่มีความพร้อมใช้งานสูง (HAR) | ไปป์ไลน์การแสดงผลที่แยกจากกันและสถาปัตยกรรม DriverUI สำหรับ สัญญาณเตือนของแผงหน้าปัดที่สำคัญต่อความปลอดภัยและมุมมองกล้องหลัง ดู ความปลอดภัยในการแสดงผล |
คำในอภิธานศัพท์
- โปรไฟล์หลักของ SDV ใน Android Automotive OS (AAOS)
- ระบบแบบไม่มีส่วนหัวที่มีน้ำหนักเบา ซึ่งมีความสามารถในการเชื่อมต่อและการจัดระเบียบ รวมถึงบริการหลักสำหรับยานยนต์
- ระบบปฏิบัติการ Android
- ระบบปฏิบัติการ Android ที่ใช้ในอุปกรณ์เคลื่อนที่ เช่น โทรศัพท์มือถือและแท็บเล็ต
- แคตตาล็อก
- ไดเรกทอรีที่มีไฟล์ Protobuf และ VSIDL ทั้งหมดที่กำหนดอินเทอร์เฟซบริการของ ยานพาหนะ คอมไพเลอร์ VSIDL รับไดเรกทอรีแคตตาล็อก เป็นอินพุตและสร้างโค้ดสำหรับไฟล์ทั้งหมดภายใน
- แคตตาล็อกทรัพยากร Dependency
- แคตตาล็อกทรัพยากร Dependency จะระบุตำแหน่งของคำจำกัดความภายนอกที่กำหนด ในไฟล์ VSIDL หรือ Protobuf ระบบจะไม่สร้างโค้ดสำหรับทรัพยากร Dependency คอมไพเลอร์ VSIDL จะใช้เส้นทางแคตตาล็อกทรัพยากร Dependency เป็นอินพุต
- หน่วยควบคุมอิเล็กทรอนิกส์ (ECU)
- โมดูลที่ควบคุมระบบย่อยของยานพาหนะอย่างใดอย่างหนึ่ง (เช่น เครื่องยนต์ ตัวถัง หรือการเชื่อมต่อ) ส่วนการประมวลผลอาจเป็นเพียงไมโครคอนโทรลเลอร์ขนาดเล็ก หรืออาจเป็นคอมพิวเตอร์ Linux เต็มรูปแบบที่มีความซับซ้อนสูง บางครั้งอาจมี SoC หลายตัว ดูข้อมูลเพิ่มเติมได้ที่หน่วยควบคุมอิเล็กทรอนิกส์
- ไลบรารีของไคลเอ็นต์มิดเดิลแวร์
- ไลบรารีของไคลเอ็นต์ (เรียกอีกอย่างว่า clientlib) ที่มี API ระดับสูงสำหรับ
การโต้ตอบกับสแต็กการสื่อสาร SDV ไลบรารีนี้ซ่อนรายละเอียดการลงทะเบียนและการค้นพบบริการ ช่วยให้นักพัฒนาซอฟต์แวร์มุ่งเน้นที่หัวข้อและช่องได้ API ของ clientlib ออกแบบมาให้ทำงานร่วมกับตัวอธิบายปลายทางที่สร้างจากเครื่องมือสร้างโค้ด VSIDL (
vsidlc) ซึ่งช่วยลดข้อผิดพลาดในการตั้งค่าด้วยตนเองและเร่งการพัฒนาได้อย่างมาก - บัฟเฟอร์โปรโตคอล (Protobuf)
Protocol Buffer เป็นกลไกที่ขยายได้ซึ่งไม่ขึ้นกับภาษาและแพลตฟอร์ม สำหรับการอธิบายและจัดรูปแบบ Structured Data
ไฟล์ Protobuf มีนามสกุล
.protoและกำหนดโครงสร้างของ ข้อความ (ข้อมูล) ที่แลกเปลี่ยนระหว่างบริการ นอกจากนี้ ไฟล์เหล่านี้ยังระบุ ประเภทข้อมูล ฟิลด์ และความสัมพันธ์ภายในข้อความด้วย- เอเจนต์ SDV
แอปพลิเคชันที่มีสิทธิ์พิเศษซึ่งทำงานในระบบ SDV และให้บริการ ฟังก์ชันหลักของ SDV เอเจนต์ SDV ทำงานเหมือนกับ Daemon ของ Linux ซึ่งเป็น แอปพลิเคชันที่ทำงานตลอดอายุการใช้งานของระบบปฏิบัติการและ มีฟังก์ชันการทำงานระดับต่ำบางอย่าง คอมโพเนนต์ SDV หลักแต่ละรายการสามารถมีเอเจนต์ได้ 0, 1 หรือมากกว่า 1 รายการ
- อินสแตนซ์ SDV (VM ของ SDV)
อินสแตนซ์เดียวของโปรไฟล์หลัก SDV ของ AAOS ซึ่งทำงานในเครื่องเสมือน (VM) บนระบบบนชิป (SoC) หรือในสภาพแวดล้อมเสมือน โดยส่วนใหญ่แล้ว อินสแตนซ์ SDV หลายรายการจะทำงานในยานยนต์คันเดียว ซึ่งเมื่อรวมกันแล้ว จะกลายเป็นการติดตั้งใช้งาน SDV ของ AAOS ที่สมบูรณ์
- แพ็กเกจ SDV
หน่วยที่เล็กที่สุดของซอฟต์แวร์ SDV ที่อัปเดตได้ แพ็กเกจ SDV สามารถ ประกอบด้วยแพ็กเกจบริการหลายรายการ
- แพลตฟอร์ม SDV
แพลตฟอร์ม SDV ซึ่งประกอบด้วยโปรไฟล์หลักของ SDV เป็นแพลตฟอร์มสำหรับนักพัฒนาบริการ เพื่อสร้างบริการและเรียกใช้บริการ
- นักพัฒนาแพลตฟอร์ม SDV
วิศวกรที่ผสานรวม กำหนดค่า และบำรุงรักษาโปรไฟล์หลัก, VM และโครงสร้างพื้นฐานของระบบ SDV ของ AAOS ซึ่งคล้ายกับนักพัฒนาแพลตฟอร์ม Android ในระบบสาระบันเทิงในรถยนต์ (IVI) ความรับผิดชอบหลักมีดังนี้
- การกำหนดค่ากลไกการแยกกระบวนการและ VM, นโยบายความปลอดภัย และ การจัดกำหนดการทรัพยากรสำหรับบริการ SDV
- การผสานรวมสแต็กการขนส่ง (เช่น SOME/IP หรือ VirtIO) และการตรวจสอบ การกำหนดที่อยู่เครือข่ายใน ECU และ VM
- การจัดการวิธีที่ SDV Orchestrator จัดสรร โหลด
และอัปเดตแพ็กเกจบริการ (
.apexแพ็กเกจ)
- นักพัฒนาบริการ SDV
วิศวกรที่สร้างฟังก์ชันการทำงานของยานพาหนะที่เจาะจงโดเมนเป็นชุดบริการแบบโมดูลาร์ ที่ทำงานบนแพลตฟอร์ม SDV ซึ่งคล้ายกับนักพัฒนาแอป Android ในระบบ IVI แต่สร้างบริการยานพาหนะแบบไม่มีส่วนหัวแทน แอปส่วนติดต่อผู้ใช้ (UI) ความรับผิดชอบหลักๆ มีดังนี้
- การกำหนดอินเทอร์เฟซบริการและโครงสร้างข้อมูลโดยใช้ VSIDL (
.vsidl) และ Protocol Buffer (.proto) - การใช้ตรรกะทางธุรกิจของโดเมนโดยใช้การเชื่อมโยงไลบรารีของไคลเอ็นต์ Rust ที่สร้างขึ้น (เซิร์ฟเวอร์ RPC, ไคลเอ็นต์, ผู้เผยแพร่ และผู้ติดตาม)
- การแพ็กเกจ การทดสอบ และการติดตั้งใช้งานชุดบริการโดยไม่ขึ้นกับ อิมเมจแพลตฟอร์มพื้นฐาน
- การกำหนดอินเทอร์เฟซบริการและโครงสร้างข้อมูลโดยใช้ VSIDL (
- แพ็กเกจบริการ
โมดูลที่สามารถติดตั้งใช้งานได้อย่างอิสระซึ่งมีตรรกะทางธุรกิจที่เกี่ยวข้อง ซึ่งห่อหุ้มความสามารถของโดเมนที่เฉพาะเจาะจงและบังคับใช้ขอบเขตการให้สิทธิ์ที่เข้มงวด
- Service Discovery
เอเจนต์ SDV ที่ช่วยให้ค้นพบบริการและปลายทางการสื่อสาร
- สถาปัตยกรรมแบบมุ่งเน้นบริการ (SOA)
รูปแบบของซอฟต์แวร์คอมพิวเตอร์ที่คอมโพเนนต์ของแอปพลิเคชันให้บริการแก่คอมโพเนนต์อื่นๆ ผ่านโปรโตคอลการสื่อสารในเครือข่าย
- หน่วยบริการ
เอนทิตีปลายทางพื้นฐานของสแต็กการสื่อสาร SDV (เช่น เซิร์ฟเวอร์ RPC หรือผู้เผยแพร่หัวข้อ) ที่ประกาศภายในแพ็กเกจบริการ ไลบรารีของไคลเอ็นต์ของมิดเดิลแวร์ จะจัดการการลงทะเบียนและการค้นหาหน่วยบริการ โดยอัตโนมัติ
- หัวข้อ
เส้นทางการสื่อสารที่มีชื่อสำหรับข้อความที่มุ่งเน้นข้อมูล (เผยแพร่/ติดตาม) ระบบจะระบุหัวข้อด้วยสตริงและนำข้อความประเภทที่เฉพาะเจาะจง หัวข้อช่วยให้การสื่อสารแบบหลายต่อหลายข้อมูลเป็นไปได้ โดยอนุญาตให้ผู้เผยแพร่ และสมาชิกหลายรายสำหรับหัวข้อเดียวกัน
- ช่อง
เส้นทางการสื่อสารที่มีชื่อสำหรับบริการ RPC แชแนลช่วยให้แยกความแตกต่างของบริการประเภทเดียวกันหลายอินสแตนซ์ได้ (เช่น
main-control,high-priority)- ยานพาหนะที่กำหนดโดยซอฟต์แวร์ (SDV)
คำศัพท์ที่ใช้ภายนอกสำหรับโซลูชันในโค้ดและเอกสารประกอบ ดูข้อมูลอ้างอิงได้ที่ ยานพาหนะที่กำหนดโดยซอฟต์แวร์: วิธีที่โอเพนซอร์สกระตุ้นนวัตกรรม
- ระบบวงจรรวมบนชิป (SoC)
วงจรรวมที่รวมคอมโพเนนต์ทั้งหมดของคอมพิวเตอร์หรือระบบอิเล็กทรอนิกส์อื่นๆ ไว้ในชิปเดียว โดยทั่วไปแล้ว คอมโพเนนต์เหล่านี้ประกอบด้วย หน่วยประมวลผลกลาง (CPU), หน่วยความจำ, พอร์ตอินพุต/เอาต์พุต และ พื้นที่เก็บข้อมูลรอง ดูข้อมูลเพิ่มเติมได้ที่ระบบวงจรรวมบนชิป
- หน่วยควบคุมเทเลเมติกส์ (TCU)
ECU ที่รับผิดชอบอุปกรณ์ต่อพ่วงสำหรับการสื่อสารภายนอก เช่น GSM/LTE, Wi-Fi, GNSS หรือบลูทูธ ดูข้อมูลเพิ่มเติมได้ที่หน่วยควบคุมเทเลเมติกส์
- ภาษาที่ใช้สื่อสารข้อมูลระหว่างคอมโพเนนต์ของบริการยานพาหนะ (VSIDL)
VSIDL เป็นภาษาเฉพาะโดเมนที่ออกแบบมาเพื่อกำหนดอินเทอร์เฟซและ การโต้ตอบระหว่างบริการภายในระบบซอฟต์แวร์ของยานพาหนะ
ไฟล์ VSIDL อธิบายแพ็กเกจบริการ ความสามารถ และข้อความที่แพ็กเกจแลกเปลี่ยน ซึ่งจะกำหนดโครงสร้างของสถาปัตยกรรมซอฟต์แวร์ของยานพาหนะ
ไฟล์ VSIDL มีนามสกุลเป็น
.vsidl