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