يوفر نظام التشغيل Android Automotive (AAOS) في المركبات المحدّدة بالبرامج (SDV) بنية معيارية موجّهة نحو الخدمات (SOA) مصمَّمة لمجالات الحوسبة في المركبات من الجيل التالي التي تتجاوز نظام المعلومات والترفيه. تستند منصة نظام التشغيل Android Automotive (AAOS) SDV إلى أساس Android خفيف الوزن وبلا واجهة مستخدم رسومية (SDV Core، مشابه Microdroid) يتيح التشغيل السريع، وتعمل على أجهزة افتراضية معزولة (VirtIO) لتقليل وقت التشغيل واستهلاك الذاكرة مع ربط خدمات المركبة باستخدام بروتوكولات مثل SOME/IP وحِزم خدمات VSIDL ودمج طبقة تجريد الأجهزة في المركبة (VHAL).
على سبيل المثال، تعمل المركبة المحدّدة بالبرامج على تفعيلها بسرعة عندما يقترب منها المستخدم. في بعض الإعدادات، تعرض ميزة "شاشة العرض المحدودة" أيضًا محتوى لوحة العدادات المجمّعة عندما يبدأ المستخدم في التفاعل مع المركبة.
التكامل مع نظام Android Infotainment (AAOS IVI)
تم تصميم المركبات المزوّدة ببرامج (SDV) لتحقيق تكامل وثيق مع نظام التشغيل Android Automotive في نظام المعلومات والترفيه داخل المركبة (AAOS IVI). ويتيح ذلك التواصل المدمَج والآمن والمتقدّم بين النظامَين.
تعمل خدمة SDV كأجهزة افتراضية
تم تصميم البنية للعمل كنظام تشغيل يعمل ضمن جهاز افتراضي على برنامج Hypervisor متوافق مع VirtIO. ويسهّل ذلك إجراء الاختبارات وعمليات الدمج في السحابة الإلكترونية. توفّر البنية أيضًا عدة أجهزة افتراضية على وحدة المعالجة المركزية نفسها لتحقيق العزل، كما أنّها تتضمّن تصميمًا مستقلاً عن النظام الأساسي يقلّل من تكاليف الدمج.
ربط خدمات SDV على مستوى الأجهزة الافتراضية
أحد أهداف مبادرة "المركبات المحدّدة بالبرامج" هو تقليل تكلفة دمج البرامج التابعة لجهات خارجية. أحد المكوّنات الرئيسية لجهود SDV هو الربط السلس للخدمات على مستوى جهاز افتراضي واحد أو عدة أجهزة افتراضية.
في الإصدار 17 من نظام التشغيل Android (26Q2) والإصدارات الأحدث، يحدّد مطوّرو الخدمات واجهات استدعاء الإجراء عن بُعد (RPC) ومواضيع النشر والاشتراك بشكل تعريفي باستخدام لغة تعريف واجهة خدمات المركبات (VSIDL، .vsidl) ومخازن البروتوكولات المؤقتة (.proto)، والتي يترجمها برنامج التحويل البرمجي vsidlc إلى روابط مكتبة البرامج للعملاء. يتيح هذا التصميم المستقل عن وسيط النقل لمكتبة برامج العميل الوسيطة تجريد وسائل النقل بين العمليات وبين الأجهزة الافتراضية — بما في ذلك مقابس VirtIO (vsock) وإيثرنت وBinder وgRPC وFast Message Queue (FMQ) — مع إتاحة بروتوكولات وحدة التحكّم الإلكترونية (ECU) الخارجية، مثل SOME/IP (ISomeIpStack).
مكوّنات السيارات التي طوّرتها Google
لاختبار حالات استخدام السيارات ذاتية القيادة، يعمل فريق السيارات ذاتية القيادة في Google على تطوير العديد من المكوّنات الشائعة للسيارات. وتشمل هذه الخدمات تنسيق الخدمات وإدارة وضع الطاقة في المركبة ودمج SOME/IP وقياس استخدام البيانات.
إتاحة القياس عن بُعد
يتطلّب استيفاء المتطلبات الأساسية لمصنّعي المعدات الأصلية نظام قياس عن بُعد مصمّمًا بشكل جيد لمراقبة مركباتهم وتحسين سلوك النظام وتحقيق الربح من بعض حالات الاستخدام. تتكامل بنية SDV مع بيانات قياس السيارة عن بُعد. الهدف الرئيسي من القياس عن بُعد هو جمع أي بيانات عن المركبة بدون الحاجة إلى إجراء تحديث.
تحدّد القياس عن بُعد لغة جديدة مصمَّمة في بروتوكول buffer، وتعرض سيناريوهات جمع البيانات. تحدّد هذه اللغة عملية جمع البيانات من خدمات SOA، وتُعالج البيانات على الأجهزة الطرفية، وتنشئ تقارير المقاييس لتطبيق القياس عن بُعد بغرض تحميلها. تتضمّن القياس عن بُعد خادمًا خلفيًا على السحابة الإلكترونية لإنشاء إعدادات المقاييس والتحقّق من صحتها قبل إرسالها إلى المركبة.
دمج Google Cloud في عملية تطوير البرامج
إحدى مزايا SDV هي أنّها تتيح لك محاكاة برامج SDV وتطويرها مباشرةً على السحابة الإلكترونية، سواء كان لديك أجهزة محلية متخصصة أم لا. تستخدِم الأجهزة الافتراضية في Android تكنولوجيات Google الحالية، مثل Cuttlefish. يعمل فريق SDV مع فِرق أخرى للتحقّق من توفّر الدعم لاحتياجاته الخاصة، مثل تصميم الأجهزة الافتراضية المتعددة.
تتيح هذه التكنولوجيا أيضًا الدمج المستمر والتسليم المستمر (CI/CD) في البنية الأساسية لخدمة Google Cloud قبل نشر تحديثات البرامج الجديدة في السيارة.
تفعيل واجهة مستخدم أدوات المركبة
تتيح SDV واجهة مستخدم مجموعة الأدوات من خلال التشغيل في غضون ثانية أو ثانيتين تقريبًا. توفّر ميزة "أمان الشاشة" واجهة مستخدم للميزات ذات الصلة بالأمان. على سبيل المثال، أدوات السيارة مثل السرعة وأضواء التحذير.