軟件究竟如何定義汽車【二】?
簡單來說,SOA就是要求各個控制器,把自己的能力,以服務的方式提供出來,以此來構建一個與車型、芯片、操作系統無關的靈活可變的平臺系統。
服務內高內聚,功能完整,可復用服務間低耦合,無依賴服務通信接口標準化,不依賴于平臺實現。
下面舉個例子來說明,在中央計算電子電氣架構下,以以太網為通信方式,把各個控制器提供的功能按服務的維度進行拆解(以下只是示意,主要為了講清楚原理,服務的分類、拆解、分層,是一個架構設計的細活兒,是一個系統性的工作)。

面向服務的架構設計舉例.png
上面這張圖,軟件上的分層看起好像和傳統軟件的架構也沒太大區別,其實這里面最關鍵還是服務間的連接關系,其核心是需要SOA框架軟件的實現一套服務管理的框架,類似與IT領域所說的 UDDI(Universal DescriptionDiscovery and Integration,統一描述、發現和集成),提供服務發布、查找和定位的方法。在這個框架下,服務節點可以動態加入,并且按照統一標準實現的所有服務都是對等的,服務之間可以動態的建立訂閱/發布的關系,且相互之間以一種中立的服務描述語言為契約,是一種松耦合的關系。
服務可以分為三類,原子服務、組合服務、流程服務,原子服務提供的是最基本的功能,比如獲取傳感器的數據、升降車窗指令;組合服務是利用多個原子服務,實現了部分判斷邏輯,比如升降車窗并不是任何條件下都能執行,還需其他條件去綜合判斷;流程服務,是根據業務功能定義的服務,比如產品上定義一個抽煙模式,需要同時打開車窗、天窗,并播放車主收藏的音樂,這就需要調用多個組合服務去實現。
原子服務,一般和硬件功能有關,硬件功能決定了原子服務的范圍;組合服務,可以認為和某種策略和控制邏輯相關,比如實現一種新的駕駛模式;流程服務,可以認為是和特定場景下的產品功能。在SOA的軟件框架下,“軟件定義汽車”就變成了,在一個完備的原子服務集合當中,通過定義新的組合服務與流程服務,去實現新的產品功能。而在硬件可升級的前提下,又可以通過硬件升級,去拓展原子服務的功能范圍。比如,換了帶V2X的中央計算單元,就可以新增V2X相關的原子服務,然后定義一個新的流程服務,如,基于V2X的緊急剎車。
當然新的架構,也一定會帶來新的挑戰:
架構設計的挑戰, 比如上面提到的服務的拆解、分類、分層,這類工作往往具有一定的靈活性,需要不斷地去摸索和總結最佳實現。
功能安全的挑戰,傳統AutoSAR,功能靜態部署,可以對每個分支流程,做危害分析,而SOA功能可以動態部署,無法預先做到每個場景都覆蓋到。
信息安全的挑戰,傳統的離散系統,造成信息孤島的同時,也無形之中構建了一道物理防火墻,現在服務都變成了對等節點,就需要一套完整的權限控制解決方案。
結語
本篇主要對智能汽車軟件的范圍、軟硬件升級、SOA的內涵進行了介紹,下一篇將重點介紹,SOA實現的基礎;對常見的技術概念,車載以太網、SOME/IP、DDS、Adaptive AutoSAR、ROS2 等,梳理各自所處的技術層次與要解決的問題,闡述其與SOA的關系。
請輸入評論內容...
請輸入評論/評論長度6~500個字
圖片新聞
最新活動更多
-
精彩回顧立即查看>> 【線下會議】恩智浦創新技術峰會·深圳
-
精彩回顧立即查看>> 【在線直播】可視化神器!VisionSym 賦能汽車光學原型開發
-
精彩回顧立即查看>> 12月16-17日 AMD 嵌入式峰會
-
精彩回顧立即查看>> 恩智浦創新技術峰會
-
精彩回顧立即查看>> 【工程師系列】汽車電子技術在線大會
-
精彩回顧立即查看>> Works With 開發者大會深圳站
推薦專題


分享










