車(chē)載信息系統的快速發(fā)展與可重用設計
同樣,制造商需要預先對下載進(jìn)行管理(例如根據車(chē)輛識別號分類(lèi)),這樣用戶(hù)即可只下載適用于所用車(chē)型且車(chē)載系統支持的應用和升級程序。最后,制造商還應保證為互連汽車(chē)的車(chē)載系統持續提供的更改不會(huì )對現有應用程序和功能造成任何影響。例如,在越野旅行時(shí),車(chē)主在下載了新導航應用程序后不幸地發(fā)現其與媒體播放器不兼容。一點(diǎn)不足就會(huì )令車(chē)主對整個(gè)車(chē)輛生產(chǎn)線(xiàn)產(chǎn)生強烈的不良反饋。
面對這些挑戰,解決方案的首要內容就是同一個(gè)解決方案應滿(mǎn)足HMI在快速發(fā)展、品牌重新定位和自定義方面的各種需求:這就需要一種能夠將HMI從其他基礎功能中獨立出來(lái)的系統架構。解決方案的另一方面就是將可用資源獨立開(kāi)來(lái),以便新應用程序能夠順利運行,同時(shí)保證為系統中的重要進(jìn)程提供足夠的資源。
互聯(lián)汽車(chē)技術(shù)的架構
為了測試這種方法的可行性,我們制作了可以將AdobeFlashHMI從基礎應用程序匯總中獨立出來(lái)的架構,并設計了一系列小型的ActiONScript擴展程序,以將HMI與基礎程序銜接起來(lái)。我們還為我們的PPS服務(wù)、QNXAviage多媒體技術(shù)套件以及QDB(QNX數據庫服務(wù)器)各創(chuàng )建了一個(gè)擴展程序。
PPS是在松散耦合信息架構中針對發(fā)布者和訂閱者提供的一種基于對象的服務(wù)。1根據實(shí)現服務(wù)的需要,任何PPS服務(wù)客戶(hù)端都可以是一個(gè)獨立的發(fā)布者、訂閱者,也可以同時(shí)是發(fā)布者和訂閱者。發(fā)布者和訂閱者只需能夠在PPS文件系統路徑名下的空間內讀取和寫(xiě)入對象及其屬性。當然,訂閱者必須知道其感興趣的對象和屬性,而發(fā)布者則必須了解訂閱者可能感興趣的對象和屬性,但是,無(wú)論是發(fā)布者還是訂閱者都需要更多的了解系統的其他部分。寫(xiě)入到永久存儲器的對象在重啟后仍可保留。
我們推出PPS服務(wù)是為了處理Adobe Flash應用程序和所有數據源發(fā)布者組件之間的信息交換;這些組件包括Webkit(瀏覽器)、藍牙、GPS、音頻音量控制等。PPS信息處理模型提供的最主要優(yōu)勢在于組件之間的API更為一致且處于松散耦合網(wǎng)絡(luò )中。
而且PPS能讓我們在不接觸基礎應用程序的情況下重新設計HMI.它允許我們?yōu)?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/車(chē)載信息系統">車(chē)載信息系統添加新的組件(例如,車(chē)輛遠程信息處理系統或ITS識別系統),而無(wú)需在其他信息范例方面浪費開(kāi)發(fā)時(shí)間。對于所有這些,我們需要知道的就是他們需要發(fā)布什么,以及他們需要從PPS中了解到哪些情況。此外,該架構還能確保無(wú)需為了迎合新版本而對其他組件進(jìn)行不必要的更新。
圖3:自適應分區擁有一系列規則用于保護特定的線(xiàn)程和線(xiàn)程組
我們選擇的技術(shù)可以在管理車(chē)載系統新程序產(chǎn)生的影響方面提供兩大技術(shù)優(yōu)勢(除了標準流程和內存保護)。首先,基于A(yíng)dobe Flash的HMI使我們能夠在二級Flash播放器(其虛擬機作為"沙盒"使用)中運行不受信任的程序。其次,QNX Neutrino RTOS提供有自適應資源分區功能,這是一項獨特的動(dòng)態(tài)技術(shù),可以提供未使用的CPU時(shí)間來(lái)處理相應的需求,同時(shí)保證關(guān)鍵流程對資源的需求。
為確保新引入的應用程序不會(huì )為我們的系統帶來(lái)任何問(wèn)題,我們選擇了采用二級Adobe Flash播放器。該播放器專(zhuān)門(mén)用于播放不受信任的應用程序(也就是說(shuō),對于我們無(wú)法確定其安全性的應用程序),可以獨立運行該應用程序,而不會(huì )對其他應用程序或整個(gè)系統的可靠性和性能造成任何負面影響。
與所有的Flash播放器一樣,該二級播放器會(huì )在其獨立的虛擬機環(huán)境中運行,這是因為如此才能與系統中的其他應用程序分離開(kāi)來(lái)。二級播放器虛擬機環(huán)境中的程序不會(huì )擠占系統中主播放器或其他組件的資源需求。這一簡(jiǎn)單實(shí)用的技術(shù)使我們能夠在虛擬環(huán)境中嘗試運行任何Flash程序,而無(wú)需擔心導致系統崩潰。事實(shí)上,任何開(kāi)發(fā)工程師都能夠編寫(xiě)所需的應用程序,并毫無(wú)危險的在二級播放器中運行它們。
分區
資源分區是操作系統中最常采用的做法,旨在保護不同應用程序或應用程序組不受彼此影響。它們就像是虛擬的墻壁一樣,可以避免一個(gè)應用程序中斷另一個(gè)應用程序,或擠占其資源。受分區保護的主要資源就是CPU時(shí)間,但是分區還可以用來(lái)保護其他共享資源,例如內存或文件空間(磁盤(pán)或閃存)。
實(shí)時(shí)操作系統(RTOS)采用了自適應分區技術(shù)。與傳統的固定式分區模型相比,自適應分區更為靈活。它可以保證特定進(jìn)程的時(shí)間,就像傳統的分區方式一樣。但是,與傳統分區方法不同的是,這種技術(shù)更為靈活,自適應分區可以根據運行時(shí)間條件自動(dòng)調整分區。
本文小結
如今車(chē)載系統必須與跟得上消費設備發(fā)展的快速步伐。使用Adobe Flash Lite用戶(hù)界面的系統通過(guò)PPS信息處理與基礎組件的通信,來(lái)構建車(chē)載系統的經(jīng)驗是最為高效的解決方案。它可以提供品牌化、本地化和自定義的用戶(hù)界面,而不會(huì )對基礎組件造成任何影響,同時(shí)還可以便捷地增加新應用程序和組件(在開(kāi)發(fā)過(guò)程中和后續使用中)。
評論