| 作 者 簡 介 楊環(huán)宇(Thomas Yang),國內(nèi)知名的Automotive SPICE專家和評(píng)估師,上海先起公司首席過程及軟件顧問,負(fù)責(zé)Automotive SPICE、汽車功能安全(ISO26262)過程及軟件部分。20余年的豐富嵌入式軟件及汽車領(lǐng)域工作經(jīng)驗(yàn);國內(nèi)最早的Automotive SPICE?從業(yè)人員(2009年始);國內(nèi)第三方機(jī)構(gòu)中,在中國大陸最早獲得最高級(jí)別的AutomotiveSPICE?評(píng)估師(目前唯一)。為國內(nèi)眾多的OEM及供應(yīng)商提供過Automotive SPICE?及ISO26262的培訓(xùn)、咨詢和評(píng)估審核服務(wù)。 汽車嵌入式軟件開發(fā)中,基于模型開發(fā)的方法非常普遍,經(jīng)常被客戶及一些評(píng)估師問到的問題是: 
 ◆ ◆ ◆ ◆ 軟件開發(fā)過程中,應(yīng)用模型開發(fā),是指:采用具備一定語法和語義含義的模型,來全部或部分完成軟件需求、軟件設(shè)計(jì)、并基于模型來生成代碼。 根據(jù)使用模型的目的,基于模型開發(fā)可以映射到“SWE.1 軟件需求分析”、'SWE.2 軟件架構(gòu)設(shè)計(jì)'和'SWE.3 軟件詳細(xì)設(shè)計(jì)和單元構(gòu)建'等 ASPICE 中的各個(gè) Process。 當(dāng)前比較普遍的用法是用模型進(jìn)行設(shè)計(jì)、基于模型生成代碼、在模型及代碼層面進(jìn)行驗(yàn)證。使用模型來定義需求的情形不是特別多。 接下來,我們就基于當(dāng)前比較普遍的這種用法來進(jìn)行分析: 一、基于模型開發(fā),通常包括哪些活動(dòng)呢? ① 模型設(shè)計(jì) 基于模型設(shè)計(jì)的輸入(通常是軟件需求和軟件架構(gòu)設(shè)計(jì))和模型規(guī)范(如: 基于 MAAB 的模型規(guī)則),進(jìn)行模型設(shè)計(jì)。 ② 模型靜態(tài)分析 使用工具對(duì)模型進(jìn)行分析,包括: 
 ③ 模型評(píng)審 評(píng)審模型的內(nèi)部邏輯、評(píng)審其是否與模型設(shè)計(jì)的輸入相一致。也就是評(píng)審設(shè)計(jì)的模型否能正確的實(shí)現(xiàn)模型設(shè)計(jì)的輸入。 ④ 模型動(dòng)態(tài)驗(yàn)證 一般是通過模型在環(huán)(MIL)測(cè)試的方式對(duì)模型進(jìn)行動(dòng)態(tài)驗(yàn)證。 測(cè)試的目的有兩個(gè): 
 ⑤ 自動(dòng)代碼生成 進(jìn)行一定的代碼生成的定制化設(shè)置、并使用工具生成代碼。 在這個(gè)過程中“用戶的定制化設(shè)置”和'生成代碼的工具'都有可能引入錯(cuò)誤。 因此,在對(duì)代碼質(zhì)量要求很高的場(chǎng)合,會(huì)希望做“⑥等效性測(cè)試”。 ⑥ 等效性測(cè)試 通常采用軟件在環(huán)(SIL)測(cè)試和處理器在環(huán)(PIL)測(cè)試的方式,用來驗(yàn)證代碼和模型的一致性。 SIL 是將模型生成的代碼通過 DLL 的方式運(yùn)行在 Windows 平臺(tái)上;PIL 是將生成的代碼運(yùn)行到目標(biāo)處理器上,兩種模式使用的編譯器是不同的,SIL 使用的就是 Windows 下的編譯器,比如 Visual Studio C++ 或者 LCC 編譯器,而 PIL 使用的是目標(biāo)編譯器。 二、模型開發(fā)活動(dòng),與ASPICE中的過程(SWE.1 ~ SWE.6)是如何映射的呢? (1) SWE.3 軟件詳細(xì)設(shè)計(jì)和單元構(gòu)建 
 (2) SWE.4 軟件單元驗(yàn)證 (3) SWE.2 軟件架構(gòu)設(shè)計(jì) 有些時(shí)候,在模型設(shè)計(jì)中,會(huì)包括SWC之間的交互及接口的設(shè)計(jì),這個(gè)部分是屬于軟件架構(gòu)設(shè)計(jì)的。 (4) SWE.5 軟件集成和集成測(cè)試 
 文章經(jīng)作者授權(quán)轉(zhuǎn)自“仨人談起”微信公眾號(hào) ◆ ◆ ◆ ◆ | 
|  |