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