乳情欲乱973_一区二区三区成人A片在线观看_久久丫亚洲一区二区_久久人妻熟女中文字幕av蜜芽_无码少妇一区二区_国产精品美女久久久_97人妻人人做人碰人人爽_亚洲中文久久精品无码99_国产高清视频在线观看69_久久久久久久久久久久久9999

400-821-6015
行業(yè)資訊
您當(dāng)前的位置:首頁 ? 行業(yè)資訊 ? 行業(yè)資訊
內(nèi)部資訊行業(yè)資訊

汽車軟件架構(gòu)(CP)建模實(shí)踐

發(fā)布日期:2024-10-22

作者 | 不可說

出品 | 汽車電子與軟件



#01 前  言   

      在汽車軟件的開發(fā)周期中,首先是需要將模糊的概念轉(zhuǎn)化為清晰、可量化的需求列表,明確軟件需實(shí)現(xiàn)的功能、性能指標(biāo)、用戶界面要求以及安全標(biāo)準(zhǔn)等。隨后,進(jìn)入軟件架構(gòu)設(shè)計(jì)階段,這是將需求轉(zhuǎn)化為實(shí)際解決方案的過程。軟件架構(gòu)工程師在此階段扮演核心角色,基于需求分析的結(jié)果,結(jié)合行業(yè)最佳實(shí)踐、技術(shù)趨勢及項(xiàng)目約束條件,構(gòu)思出軟件的整體架構(gòu)。這包括定義系統(tǒng)的層次結(jié)構(gòu)、組件劃分、接口定義、數(shù)據(jù)流及控制流等關(guān)鍵要素。為了確保架構(gòu)的靈活性與可擴(kuò)展性,還會(huì)考慮模塊化設(shè)計(jì)、服務(wù)化架構(gòu)等先進(jìn)理念。    

      在設(shè)計(jì)過程中,軟件架構(gòu)工程師會(huì)利用專業(yè)工具和技術(shù)手段,如UML圖等來輔助表達(dá)設(shè)計(jì)思想。最終,他們會(huì)輸出詳盡的軟件架構(gòu)描述文檔,這些文檔不僅包含SWC的詳細(xì)描述信息,如組件功能、接口協(xié)議、依賴關(guān)系等,還會(huì)以多種形式呈現(xiàn),以滿足不同受眾的需求。例如,使用Office文檔來撰寫詳細(xì)的架構(gòu)說明書和進(jìn)行交流展示;利用ARXML(AUTOSAR XML)文件來定義符合AUTOSAR標(biāo)準(zhǔn)的軟件架構(gòu),便于在汽車行業(yè)生態(tài)系統(tǒng)中進(jìn)行集成與驗(yàn)證等。



#02 工具準(zhǔn)備 

      本文將使用MATLAB完成AUTOSAR CP(Classical Platform)平臺(tái)下的軟件架構(gòu)中的SWC(Software Component)的搭建。

      建模時(shí),對(duì)MATLAB版本和工具包有一定的要求。以下是詳細(xì)的說明:   


      MATLAB版本要求

      MATLAB的版本對(duì)于支持AUTOSAR建模的功能至關(guān)重要。雖然具體的最低版本要求可能隨時(shí)間變化,但一般來說,較新的MATLAB版本(如MATLAB 2020及以后版本)通常能夠提供更好的支持和更多的功能。為了獲得最佳的性能和兼容性,建議使用MATLAB的最新版本或至少是一個(gè)相對(duì)較新的穩(wěn)定版本。


      工具包要求

      對(duì)于AUTOSAR CP SWC建模,除了MATLAB的基本安裝外,還需要特定的工具箱和插件。以下是一些關(guān)鍵的工具包要求:

      1. Simulink:Simulink是MATLAB的一個(gè)附加產(chǎn)品,用于建模、仿真和基于模型的設(shè)計(jì)。對(duì)于AUTOSAR建模,Simulink是必不可少的,因?yàn)樗峁┝藞D形化的建模環(huán)境,可以方便地構(gòu)建和測試系統(tǒng)模型。

      2. AUTOSAR Blockset(或類似名稱的工具包):如果老一點(diǎn)版本的MATLAB標(biāo)準(zhǔn)安裝中可能不包含專門的AUTOSAR Blockset,但可以通過MATLAB的附加功能管理器或MATLAB Central File Exchange下載并安裝相關(guān)的AUTOSAR支持工具包。這些工具包通常提供了特定的AUTOSAR相關(guān)塊和配置選項(xiàng),以支持AUTOSAR SWC的建模和代碼生成。

      3. Embedded Coder:Embedded Coder是MATLAB的一個(gè)產(chǎn)品,用于將Simulink模型和MATLAB函數(shù)自動(dòng)轉(zhuǎn)換為優(yōu)化的C和C++代碼。在AUTOSAR SWC建模中,Embedded Coder能夠?qū)⒛P娃D(zhuǎn)換為符合AUTOSAR標(biāo)準(zhǔn)的代碼,這對(duì)于與AUTOSAR兼容的ECU(Electronic Control Unit,電子控制單元)的部署至關(guān)重要。

      4. 其他相關(guān)工具包:根據(jù)具體需求,可能還需要安裝其他MATLAB工具包,如Stateflow(用于設(shè)計(jì)復(fù)雜的狀態(tài)機(jī)和流程圖)、HDL Coder(用于生成硬件描述語言代碼)等。然而,這些工具包對(duì)于AUTOSAR CP SWC建模不是必需的,但可能會(huì)在某些高級(jí)應(yīng)用場景中提供額外的支持。    

      綜上所述,為了使用MATLAB進(jìn)行AUTOSAR CP SWC建模,需要確保安裝了最新版本的MATLAB、Simulink以及必要的AUTOSAR支持工具包和Embedded Coder。

       


#03 建模輸入

      SWC的設(shè)計(jì)屬于SWE.2軟件架構(gòu)設(shè)計(jì)的工作,需要接收來自于SWE.1的軟件需求分析輸出,再著手SWC的設(shè)計(jì)。這包括SWC的劃分、port&interface接口的定義、參數(shù)與數(shù)據(jù)類型等。     

      假定之前的準(zhǔn)備工作均已經(jīng)完成,“座椅加熱”功能的需求與需求分析的結(jié)果如下:


      主駕座椅加熱用戶需求Case:

      UC 01 : 座椅加熱關(guān)閉時(shí),手動(dòng)點(diǎn)擊屏幕主駕座椅加熱虛擬按鍵,座椅加熱開到2擋;

      UC 02 : 座椅加熱2擋位時(shí),手動(dòng)點(diǎn)擊屏幕主駕座椅加熱虛擬按鍵,座椅加熱開到1擋;

      UC 03 : 座椅加熱1擋位時(shí),手動(dòng)點(diǎn)擊屏幕主駕座椅加熱虛擬按鍵,座椅加熱關(guān)閉;

      UC 04 : 座椅加熱開啟時(shí)時(shí),且主駕離座時(shí),觸發(fā)座椅加熱關(guān)閉。

          

圖片

軟件需求分析結(jié)果   

      軟件架構(gòu)設(shè)計(jì)如下:

圖片

圖片          

(為了操作演示,參數(shù)分了枚舉與整形兩類)

圖片
      Data Type 信息如下:
圖片
   


#04 建  模 

      創(chuàng)建工程 

      首先打開matlab ,創(chuàng)建新的Simulink腳本,選擇AUTOSAR Blockset工具箱中的Software Architecture模板;  

圖片

圖片

          

      SWC組件 

      在SWC模型建立的時(shí)候,可以建立Composition模塊,可以理解為某一類功能的SWC的集合;Seat_Heat_Composition:   
圖片

圖片

    

      雙擊進(jìn)入,可以進(jìn)行Composition內(nèi)的SWC的設(shè)計(jì);   

圖片 

      按照SWC設(shè)計(jì)結(jié)果,構(gòu)建兩個(gè)Component,SeatHeat_VC_SWC,SeatHeat_AS_SWC

圖片
      構(gòu)建SWC的port與interface,首先直接在SWC邊框上鼠標(biāo)點(diǎn)擊即可創(chuàng)建port   
圖片
      共計(jì)需要六個(gè)外部輸入、兩個(gè)外部輸出以及兩個(gè)內(nèi)部交互信號(hào);
      雙擊port處,對(duì)port進(jìn)行修改命名;
圖片          

      Interface與DataType數(shù)據(jù)字典建立 

      再對(duì)Interface進(jìn)行模型數(shù)據(jù)字典的建立;

      點(diǎn)擊Simulink界面左下角的Interface,如之前沒有復(fù)用或者已經(jīng)建立好的數(shù)據(jù)字典,則需要點(diǎn)擊Create Dictionary來創(chuàng)建;   

      再次點(diǎn)擊Open Dictionary來打開,點(diǎn)擊上方的Data Interface來創(chuàng)建Interface
圖片


      創(chuàng)建了一個(gè)默認(rèn)的Interface,里面相關(guān)屬性需要進(jìn)一步配置,可以先根據(jù)我們的需要,對(duì)數(shù)據(jù)類型進(jìn)行配置;   

 圖片

      切換到Data Types tag欄,建立對(duì)應(yīng)的Data Type
圖片
      根據(jù)架構(gòu)設(shè)計(jì)需求,這里定義了一個(gè)uint8類型的數(shù)據(jù)與三個(gè)base uint8的枚舉類型數(shù)據(jù),填寫相關(guān)關(guān)鍵信息,如枚舉量名稱、數(shù)值、初始值、base類型(枚舉值需要)、最大最小值(連續(xù)值需要)等;  
圖片
圖片
      再回過頭構(gòu)建Interface;
      修改Interface名稱,修改其Element屬性,重點(diǎn)是與剛才創(chuàng)建的ADT關(guān)聯(lián)起來;   
圖片

      注:如果Interface關(guān)聯(lián)的ADT是枚舉類型,不要填寫最大值&最小值。          

      Interface本身也需要配置屬性,如接口類型、是否是服務(wù)(應(yīng)該是SOA架構(gòu)中需要)

圖片


      也可以導(dǎo)出數(shù)據(jù)字典對(duì)應(yīng)的ARXML文件   

 圖片

      在工作目錄下生成對(duì)應(yīng)的Data Type ARXML與interface ARXML文件
圖片


      數(shù)據(jù)字典查看 

      返回simulink界面,可以查看interface信息   

圖片

      也可以點(diǎn)擊模型數(shù)據(jù)查看剛才建立的Interface與Data Type
圖片


      Port與Interface關(guān)聯(lián) 

      在模型中點(diǎn)擊port,使其高亮,再下方的interface中選擇其對(duì)應(yīng)的,右鍵,點(diǎn)擊Assign to Select Port(s)    

圖片

      或者,選擇port后,直接在屬性檢查器中選擇其對(duì)應(yīng)的Interface

圖片


      按照對(duì)應(yīng)關(guān)系,完成所有關(guān)聯(lián)map;

      返回主界面,將Composition的輸入、輸出port,連接到架構(gòu)模型邊界   


圖片          


      架構(gòu)導(dǎo)出 

      先配置下導(dǎo)出ARXML的配置,選擇導(dǎo)出單個(gè)文件;

圖片


     再執(zhí)行導(dǎo)出,生成Seat_Heat_Composition.ARXML 

 圖片


      ARXML包含其外部輸入port/interface信息,內(nèi)部port/interface信息,port與SWC map關(guān)系、SWC prototype、port prototype、data type等          

      至此,該ARXML文件便可作為軟件架構(gòu)模型輸出,給到軟件單元開發(fā)工程師進(jìn)行進(jìn)一步開發(fā),當(dāng)然,如果架構(gòu)模型建立與單元構(gòu)建同屬于一撥人的職責(zé),可以直接在上面工程中繼續(xù)創(chuàng)建Runnable,并繼續(xù)開發(fā)。

上海創(chuàng)程車聯(lián)網(wǎng)絡(luò)科技有限公司版權(quán)所有 滬ICP備11045498號(hào)-1   技術(shù)支持:網(wǎng)站建設(shè)