新架構下服務(wù)建模,關(guān)鍵在這6步!
隨著(zhù)AUTOSAR、SOA、以太網(wǎng)通訊等新技術(shù)、新理念的成熟化,面向軟件、硬件、網(wǎng)絡(luò )、電氣等多領(lǐng)域的電子電氣系統經(jīng)歷了多代架構方法論的迭代。如何跟隨新技術(shù)和新理念的浪潮,構建起新型的汽車(chē)電子電氣架構平臺,以實(shí)現新老技術(shù)的快速更替和融合,優(yōu)化協(xié)同系統架構的搭建將成為主機廠(chǎng)和供應商共同關(guān)注的重點(diǎn)。
經(jīng)緯恒潤基于SystemWeaver平臺,按照SOA建模理念為客戶(hù)提供了新一代基于SOA的企業(yè)級電子電氣系統協(xié)同設計解決方案,可以有效支持服務(wù)和信號的混合架構建模。新型架構下的服務(wù)建模分為服務(wù)設計、服務(wù)系統部署、拓撲設計、服務(wù)接口部署、服務(wù)實(shí)例部署和服務(wù)設計檢查和集成六大部分。
01 服務(wù)設計
服務(wù)Service Interface將在服務(wù)設計庫中進(jìn)行全局維護,系統中的軟件模塊將以引用的方式去調用服務(wù)接口。在設計服務(wù)接口之前 ,可在統一的數據類(lèi)型庫中進(jìn)行CppImplementationDatatype的定義和維護,之后將被服務(wù)接口引用。
CppImplementationDatatype是適配于C++的Implementation Datatype,常用的有Type Reference、Array、vector、Struct和String類(lèi)型等。在SystemWeaver中,用戶(hù)將可以用便捷的方式進(jìn)行數據類(lèi)型的定義,其內置的校驗規則將有效支持數據的正確性和完整性。
圖1 數據類(lèi)型維護
此后,將進(jìn)一步進(jìn)行服務(wù)接口的定義,用戶(hù)需要根據其功能進(jìn)行詳細的接口設計,明確服務(wù)ID、大版本、小版本等基礎信息,并對該服務(wù)的使用和內部邏輯進(jìn)行詳細描述。
服務(wù)接口信息主要包括Method、Event和Field三種通訊形式,需要定義其引用的數據類(lèi)型,也就是上一步中定義出的CppImplementationDatatype用來(lái)描述其參數的信息。SystemWeaver將提供良好的用戶(hù)界面完成對于服務(wù)接口的基本信息填寫(xiě)和接口定義,同時(shí)將支持設計過(guò)程中數據正確性和完整性的校驗:
· Method、Event和Field的引用數據完整性
· 服務(wù)信息完整性
· Method參數的名稱(chēng)正確性
· Field的類(lèi)型完整性
圖2 服務(wù)接口定義
02 服務(wù)系統部署
用戶(hù)完成服務(wù)接口的定義之后,下一步將描述其在軟件模塊Adaptive Software Component中的交互邏輯,用戶(hù)需要設計Software Component軟件模塊之間的服務(wù)調動(dòng)關(guān)系,為軟件模塊定義Provided Port或者Consumed Port并進(jìn)行服務(wù)庫的服務(wù)引用,以此來(lái)表示提供或者消費某個(gè)服務(wù)。完成設計之后,SystemWeaver將提供各種系統框圖進(jìn)行查看和導出。
圖3 軟件模塊交互
軟件模塊設計完成之后,還需要進(jìn)行Executable的生成,并將軟件模塊和Executable進(jìn)行關(guān)聯(lián);同時(shí)需要完成Process Design的定義,并將Executable進(jìn)行分配。
03 拓撲設計
在ECU層級,除了和傳統架構一樣進(jìn)行ECU的設計以及軟件模塊的分配之外,還需要對以太網(wǎng)的拓撲進(jìn)行設計。其主要內容包括:
· ECU對應網(wǎng)絡(luò )的設計,包括對其Connector的定義
· VLAN的定義,包括其基本參數設置和Network Endpoint的定義
· 完成ECU網(wǎng)絡(luò )節點(diǎn)和VLAN 的拓撲結構設計
· Switch的設置和參數定義
· ECU網(wǎng)絡(luò )節點(diǎn)的controller定義,以及其和connector的關(guān)聯(lián)關(guān)系構建
· Switch和ECU網(wǎng)絡(luò )節點(diǎn)的Coupling Port關(guān)聯(lián)
圖4 拓撲設計
04 服務(wù)接口部署
服務(wù)接口設計完成了其設計層面上的描述,后續將進(jìn)行其在通訊層面上的部署,需要選擇通訊協(xié)議對服務(wù)接口完成部署,如 SOME/IP、DDS和IPC等,通常還需要對Eventgroup即訂閱組完成設計。
SystemWeaver將提供服務(wù)接口部署界面用于完成接口部署的參數例如接口ID和端口號的填寫(xiě),以及Eventgroup的定義。與此同時(shí),其包含了很多設計準則校驗,將進(jìn)一步幫助用戶(hù)完成低錯誤率的接口部署設計。
圖5 服務(wù)接口部署
05 服務(wù)實(shí)例部署
完成接口部署和通訊設計之后,需要完成服務(wù)實(shí)例部署,即定義服務(wù)實(shí)例的通訊方式。首先,需要對提供方和消費方的服務(wù)實(shí)例完成基本信息設置,如instance ID等。其次,需要對提供方和消費方通訊中提供和消費的訂閱組進(jìn)行定義,以實(shí)現差異化實(shí)例的訂閱組信息。最后,需要對通訊的行為進(jìn)行定義,將定義通訊使用的TCP/UDP 協(xié)議及端口號,和通訊所在VLAN的關(guān)聯(lián)。
針對于復雜的服務(wù)實(shí)例生成,System Weaver將提供自動(dòng)化部署功能。其中包含了設計中需要遵守的基本準則,根據Instance ID不能重復、提供方和接收方需要在一個(gè)VLAN下等要求進(jìn)行了自動(dòng)化部署的設計,幫助用戶(hù)快速完成復雜的服務(wù)部署工作。
圖6 服務(wù)實(shí)例部署
06 服務(wù)設計檢查和集成
完成服務(wù)實(shí)例部署之后,服務(wù)的整個(gè)設計將宣告結束,但服務(wù)信息仍需要和下游系統進(jìn)行集成,所以最后一步是對整個(gè)系統的所有信息進(jìn)行檢查校驗。SystemWeaver針對數據類(lèi)型、服務(wù)接口、服務(wù)部署、拓撲結構等10個(gè)維度進(jìn)行了200+條校驗,以保證整個(gè)系統層面服務(wù)設計的合理性和完整性。
數據校驗之后,將對數據進(jìn)行導出和下游集成。最常用的文件格式是ARXML格式,此外,服務(wù)矩陣表格和IDL格式也都是較為通用的格式。SyetemWeaver可以對多個(gè)版本的AUTOSAR標準進(jìn)行服務(wù)文件導出,并支持導出基于單個(gè)服務(wù)和全系統兩個(gè)維度的服務(wù),同時(shí)也支持進(jìn)行定制化服務(wù)矩陣和IDL或者JSON格式的文件導出。
如上所述是基于SOA的整個(gè)服務(wù)流程,但是隨著(zhù)底層軟件設計成熟度的提升,各個(gè)整車(chē)廠(chǎng)將對設計流程進(jìn)行調整和適配,以試用于其自身的架構方法論和工具鏈集成。因此,SystemWeaver也提供了靈活度較高的定制化配置功能,其不僅支持定制化的服務(wù)設計方法論,也支持服務(wù)設計過(guò)程中所有功能的定制化適配。
此外,System Weaver作為平臺類(lèi)的協(xié)同研發(fā)平臺,其本身優(yōu)異的協(xié)同能力將有效支持包含服務(wù)設計在內的整個(gè)新型架構的設計,它將支持新技術(shù),例如服務(wù)設計、信息安全和軟件架構等;并支持整個(gè)V流程“需求—功能—系統—ECU—測試”分層架構設計的融合,實(shí)現全系統的數據追溯和測試追溯。
了解更多:請致電010-64840808轉6116或發(fā)送郵件至market_dept@hirain.com(聯(lián)系時(shí)請說(shuō)明來(lái)自EEPW)
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。