日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

功能安全之軟件架構(gòu)設(shè)計(上)

 花信風(fēng)zq 2024-04-18 發(fā)布于重慶
圖片
功能安全之軟件架構(gòu)設(shè)計
圖片


圖片

軟件架構(gòu)設(shè)計是功能安全軟件開發(fā)過程中的關(guān)鍵階段,作為實現(xiàn)軟件安全需求和軟件需求的載體,它定義了軟件架構(gòu)要素并將其細化到能夠識別出軟件單元的程度。

ISO26262 Part6 Clause7中要求:軟件架構(gòu)設(shè)計應(yīng)描述軟件架構(gòu)要素的靜態(tài)設(shè)計方面和動態(tài)設(shè)計方面。接下來,我們將通過“功能安全之軟件架構(gòu)設(shè)計”專題分別從功能安全軟件靜態(tài)架構(gòu)設(shè)計、動態(tài)架構(gòu)設(shè)計、多核和部署三個方面進行介紹。

圖片

本文中,我們將重點介紹軟件架構(gòu)的定義和描述方法、軟件架構(gòu)的設(shè)計原則、軟件架構(gòu)的靜態(tài)設(shè)計和軟件架構(gòu)設(shè)計的注意事項。

01

軟件架構(gòu)的定義和描述方法

軟件架構(gòu)是軟件要素的結(jié)構(gòu)化表征,通過將軟件需求分配給軟件組件,從而識別并劃分軟件組件及其邊界和信號交互。軟件架構(gòu)設(shè)計是指全部軟件組件及其在層次結(jié)構(gòu)中的交互,既要滿足軟件安全需求,又要滿足其它軟件需求。因此,軟件架構(gòu)包括安全相關(guān)的軟件組件和非安全相關(guān)的軟件組件。

軟件架構(gòu)設(shè)計的描述方法如下表所示:

表1 軟件架構(gòu)設(shè)計描述方法

圖片

1b. 語法和語義定義均不完整的描述方法;

1c. 語法定義完整、但語義定義不完整的描述方法,如SysML、UML、Simulink和Statefolw等;

1d. 語法和語義均被完整定義的描述方法,如Zed、NuSMV、PVS、VDM和數(shù)學(xué)公式等。

注:盡管ISO26262 要求ASIL C及以上等級的軟件架構(gòu)設(shè)計描述方法要采用半形式化描述法,但是沒必要對所有ASIL C及以上等級的軟件架構(gòu)設(shè)計都使用半形式化描述方法。

02

軟件架構(gòu)的設(shè)計原則

在進行軟件架構(gòu)設(shè)計時,我們需要考慮軟件架構(gòu)的簡單性、一致性、封裝性、可理解性可驗證性可維護性等,同時結(jié)合軟件架構(gòu)的設(shè)計原則對軟件架構(gòu)進行開發(fā)和設(shè)計。軟件架構(gòu)設(shè)計原則如下表所示:

表2 軟件架構(gòu)設(shè)計原則

圖片

1a. 軟件組件需要采用分層架構(gòu),如AUTOSAR架構(gòu)或類AUTOSAR架構(gòu);

1b. 每個軟件組件都不能太大,邏輯不能太復(fù)雜,圈復(fù)雜度不能太高,具體詳見“功能安全之執(zhí)行低復(fù)雜性”;

1c. 軟件組件的接口數(shù)量不能太多,接口數(shù)量的增加會導(dǎo)致軟件組件復(fù)雜度的升高;

1d&1e. 軟件組件內(nèi)部要實現(xiàn)功能內(nèi)聚,軟件組件之間要降低耦合;

1f. 軟件的調(diào)度要合理,確保所有的Task能夠被操作系統(tǒng)有條不紊的調(diào)度并正確執(zhí)行;

1g. 少使用中斷,如果必須使用,需要先定義中斷的優(yōu)先級;

1h. 需要對軟件組件進行內(nèi)存分區(qū)與訪問權(quán)限保護,確保軟件組件之間免干擾;

1i. 要對共享資源進行管理,常見的共享資源包括:供電、時鐘和驅(qū)動等。

03

軟件架構(gòu)的靜態(tài)設(shè)計

本文以VCU扭矩計算中加速踏板相關(guān)的軟件安全需求為例,通過半形式化方法描述功能安全軟件靜態(tài)架構(gòu)中“加速踏板合理性校驗”軟件組件的數(shù)據(jù)接口和函數(shù)接口。接口信息如下圖所示:

圖片

圖1 “加速踏板合理性校驗”靜態(tài)架構(gòu)

將所有的軟件安全需求和其它軟件需求按照軟件架構(gòu)設(shè)計原則進行設(shè)計后,得到的應(yīng)用層軟件架構(gòu)、系統(tǒng)服務(wù)層架構(gòu)、ECU抽象層架構(gòu)和MCU抽象層架構(gòu)如下圖所示:

圖片

圖2 應(yīng)用層軟件架構(gòu)

圖片

圖3 系統(tǒng)服務(wù)層軟件架構(gòu)

圖片

圖4 ECU抽象層軟件架構(gòu)

圖片

圖5 MCU抽象層軟件架構(gòu)

最后,將應(yīng)用層、RTE、系統(tǒng)服務(wù)層、ECU抽象層和MCU抽象層軟件架構(gòu)匯總到一起,即可得到VCU的軟件總體架構(gòu),如下圖所示:

圖片

圖6 VCU軟件總體架構(gòu)

04

軟件架構(gòu)設(shè)計的注意事項

在進行軟件架構(gòu)設(shè)計時,有一些常見的注意事項,主要包括:

a. 軟件架構(gòu)設(shè)計既要考慮軟件安全需求,又要考慮其它軟件需求;

b. 軟件架構(gòu)設(shè)計是對整體軟件架構(gòu)的設(shè)計,不一定局限于某個微控制器或ECU;

c. 軟件組件應(yīng)按照分配給它的所有需求的最高的ASIL等級來進行開發(fā);

d. 軟件架構(gòu)設(shè)計應(yīng)被開發(fā)到能夠識別出軟件單元的程度;

e. 如果嵌入式軟件的最高等級為ASIL D,需要對軟件組件行適當(dāng)?shù)目臻g隔離;

f. 應(yīng)該對嵌入式軟件所需資源進行上限預(yù)估,包括:時間資源、內(nèi)存資源和通信資源等;

g. 一個軟件分區(qū)內(nèi)的Task,彼此之間不能免于干擾;

h. 一個軟件分區(qū)不能改變其它軟件分區(qū)的代碼或數(shù)據(jù),也不能控制其它軟件分區(qū)的非共享資源。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多