0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么模塊化可組合性對(duì)當(dāng)今的安全關(guān)鍵型軟件開發(fā)至關(guān)重要

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Mark Pitchford ? 2022-11-16 16:51 ? 次閱讀

模塊化和可組合性是軟件中的流行語(yǔ),適用于從企業(yè)計(jì)算到裸機(jī)應(yīng)用程序的所有內(nèi)容。對(duì)于安全關(guān)鍵型嵌入式系統(tǒng),這些概念通過(guò)允許針對(duì)不同用例以不同的組合使用現(xiàn)有軟件組件來(lái)定義軟件重用的目標(biāo)。

雖然正式模塊化開發(fā)的大部分推動(dòng)力來(lái)自航空航天和國(guó)防領(lǐng)域,但它提供的好處與安全關(guān)鍵部門相關(guān)。了解模塊化可組合性為何以及如何融入安全關(guān)鍵型開發(fā),是利用軟件重用優(yōu)勢(shì)同時(shí)滿足當(dāng)今功能安全標(biāo)準(zhǔn)的苛刻目標(biāo)的關(guān)鍵。

模塊化可組合性的概述和挑戰(zhàn)

模塊化解決了設(shè)計(jì)具有明確定義的接口的子系統(tǒng)(模塊)的問(wèn)題,這些接口可用于各種上下文??山M合性要求模塊之間的關(guān)系,以便它們可以以解決多個(gè)問(wèn)題的方式組合在一起。特溫特大學(xué)的Ansgar Fehnker對(duì)這兩個(gè)概念如何協(xié)同工作給出了這樣的定義:

“如果一種設(shè)計(jì)方法有利于生產(chǎn)軟件元素,那么它就滿足了模塊化可組合性,這些軟件元素可以自由地相互組合以產(chǎn)生新系統(tǒng),可能與最初開發(fā)它們的環(huán)境完全不同。

簡(jiǎn)而言之,模塊化可組合性意味著跨系統(tǒng)的可移植性和可重用性,就像樂高積木從街景到航天器一樣。

像樂高一樣,模塊化有一個(gè)實(shí)際的限制。樂高是一個(gè)特定品牌的建筑玩具,不能輕易與斯蒂克爾積木或麥卡諾連接。這同樣適用于模塊化軟件,因?yàn)橐坏┙M件投入生產(chǎn),在不同的環(huán)境中重用它通常會(huì)受到約束和警告。

一個(gè)真實(shí)而臭名昭著的例子是阿麗亞娜5發(fā)射失敗。根據(jù)歐洲航天局的報(bào)告,損失“是由于慣性參考系統(tǒng)軟件的規(guī)格和設(shè)計(jì)錯(cuò)誤。在阿麗亞娜5號(hào)開發(fā)計(jì)劃期間進(jìn)行的廣泛審查和測(cè)試不包括對(duì)慣性參考系統(tǒng)或整個(gè)飛行控制系統(tǒng)的充分分析和測(cè)試,這些系統(tǒng)本可以檢測(cè)到潛在的故障。雖然該軟件實(shí)際上與阿麗亞娜4中成功使用的軟件相同,但它受到新環(huán)境環(huán)境的影響。

安全關(guān)鍵標(biāo)準(zhǔn)如何反映模塊化可組合性

許多行業(yè)標(biāo)準(zhǔn)都引用了與安全可重用性相關(guān)的過(guò)程和目標(biāo),如以下各節(jié)所述。

軟件項(xiàng)目隔離:IEC 62304:2006+AMD1:2015

國(guó)際電工委員會(huì) (IEC) 62304:2006+AMD1:2015 醫(yī)療器械標(biāo)準(zhǔn)允許將軟件項(xiàng)目分開,目的是將盡可能少的系統(tǒng)放置在安全關(guān)鍵性較高的類別中(例如,C 類軟件“在考慮軟件系統(tǒng)外部的風(fēng)險(xiǎn)控制措施后,可能導(dǎo)致危險(xiǎn)情況,從而導(dǎo)致不可接受的風(fēng)險(xiǎn), 由此可能造成的傷害是死亡或重傷“):

“軟件架構(gòu)應(yīng)促進(jìn)安全操作所需的軟件項(xiàng)的隔離,并應(yīng)描述用于確保有效隔離這些軟件項(xiàng)的方法”

圖 1 說(shuō)明了安全影響較少的軟件項(xiàng)目(第 X 項(xiàng))和具有高安全關(guān)鍵影響的軟件項(xiàng)(Y 項(xiàng)和 Z 項(xiàng))的分離。由于存在高度安全的關(guān)鍵項(xiàng)目,整個(gè)軟件系統(tǒng)被指定為C類。

6362c3f7a9f1c-Fig1+for+LDRA+ModComp+article.jpg

圖 1:根據(jù) IEC 62304:2006 +AMD1:2015 對(duì)軟件項(xiàng)目進(jìn)行分區(qū)的示例 圖 B.18(來(lái)源:IEC)

提高開發(fā)效率:FAA AC 20-148

美國(guó)聯(lián)邦航空管理局 (FAA) 咨詢通告 AC 20-148 為可重用軟件組件 (RSC) 的開發(fā)提供了指導(dǎo),例如軟件庫(kù)、操作系統(tǒng)通信協(xié)議。RSC 與其他組件的不同之處在于,所需的文檔和指南遠(yuǎn)遠(yuǎn)超出了通常提供的軟件工件。

咨詢通告有明確的指導(dǎo)方針,以確保每個(gè)接口(包括應(yīng)用程序代碼和目標(biāo)硬件)都由開發(fā)人員以 RSC 提供商規(guī)定的方式完全定義。這種高度指定的模塊化意味著RSC在很大程度上可以被視為“黑匣子”,因?yàn)闊o(wú)論目標(biāo)應(yīng)用程序的目的如何,RSC都可以被假定為以明確定義的方式運(yùn)行。

這意味著在符合 DO-178 標(biāo)準(zhǔn)的系統(tǒng)中部署 RSC 可以節(jié)省大量認(rèn)證時(shí)間。如果沒有 RSC,F(xiàn)AA 要求每次重用時(shí)重新生成、重新提交和重新審查認(rèn)證工件,包括對(duì)現(xiàn)有安裝進(jìn)行的軟件更改。

促進(jìn)重用:開放集團(tuán)未來(lái)機(jī)載能力環(huán)境

開放集團(tuán)未來(lái)機(jī)載能力環(huán)境 (FACE) 聯(lián)盟通過(guò)可負(fù)擔(dān)性、速度、敏捷性和卓越改進(jìn)目標(biāo),建立了一條在航空中重用軟件的途徑。FACE技術(shù)戰(zhàn)略和標(biāo)準(zhǔn)概述了幾個(gè)關(guān)鍵原則,包括:

建立一個(gè)軟件環(huán)境,使FACE應(yīng)用程序從一架國(guó)防部飛機(jī)或作戰(zhàn)平臺(tái)重新利用到另一架國(guó)防部飛機(jī)或作戰(zhàn)平臺(tái),只需最少的軟件修訂。

采用增強(qiáng)軟件可移植性的設(shè)計(jì)原則 - 例如,為每個(gè)便攜式 FACE 應(yīng)用程序提供一組通用接口。

限制使用某些 API 調(diào)用并要求其他調(diào)用的編碼標(biāo)準(zhǔn) - 例如,遵守 POSIX API 的特定部分,以確保 FACE 可移植性單元 (UoP) 的功能簽名在語(yǔ)法上正確,并強(qiáng)制正確使用關(guān)鍵語(yǔ)言結(jié)構(gòu)。

自動(dòng)化在實(shí)現(xiàn)模塊化可組合性目標(biāo)方面的價(jià)值

無(wú)論標(biāo)準(zhǔn)或方法如何,模塊化可組合性原則往往會(huì)在時(shí)間和金錢方面對(duì)安全關(guān)鍵型開發(fā)過(guò)程產(chǎn)生巨大影響。乍一看,這似乎是一個(gè)昂貴的提議,但如今的自動(dòng)化工具(可重用組件可用于各種工具鏈)簡(jiǎn)化了驗(yàn)證的不同方面,如圖 2 所示。

6362c4af0fef7-Fig2+for+LDRAModComp+article.jpg

圖 2:支持確認(rèn)重用代碼適用性的自動(dòng)化需求可追溯性和回歸測(cè)試示例(來(lái)源:LDRA)

需求可追溯性

軟件生命周期中勞動(dòng)密集型和易出錯(cuò)元素的自動(dòng)化在最大限度地減少模塊化可組合性的開發(fā)影響方面發(fā)揮著關(guān)鍵作用。識(shí)別需求和證明履行可能是一個(gè)苛刻的過(guò)程,特別是當(dāng)功能需求必須與 DO-178 等標(biāo)準(zhǔn)一起驗(yàn)證時(shí)。

自動(dòng)化可追溯性可緩解潛在的項(xiàng)目管理難題。通過(guò)自動(dòng)化,可以在初始模塊開發(fā)和不同環(huán)境中的每次未來(lái)部署之間使用相同的機(jī)制來(lái)管理和跟蹤需求。模塊需求的確認(rèn)可以通過(guò)自動(dòng)化和鏈接回歸測(cè)試來(lái)實(shí)現(xiàn),包括單元測(cè)試、針對(duì)編碼標(biāo)準(zhǔn)的靜態(tài)分析檢查和其他措施。

單元測(cè)試

盡管它們的統(tǒng)稱,稱為“單元測(cè)試”工具的自動(dòng)化工具通常同時(shí)支持單元測(cè)試和集成測(cè)試。這些工具的價(jià)值在于使用相同的機(jī)制來(lái)測(cè)試單個(gè)可重用單元和多個(gè)集成單元作為一個(gè)整體。測(cè)試本身不需要更改函數(shù)是單獨(dú)測(cè)試還是作為調(diào)用樹的頂部進(jìn)行測(cè)試。在前一種情況下,自動(dòng)生成的存根可以處理超出范圍的代碼。

這種自動(dòng)化方法有助于將模塊集成到初始項(xiàng)目和未來(lái)項(xiàng)目中。每當(dāng)在新環(huán)境中調(diào)用模塊時(shí),例如部署到不同的目標(biāo)硬件時(shí),都可以簡(jiǎn)單地回歸原始測(cè)試。通過(guò)在新項(xiàng)目的上下文中調(diào)用模塊的 API,可以驗(yàn)證其適用性。

為您的項(xiàng)目帶來(lái)模塊化可組合性

可重用性是安全關(guān)鍵型應(yīng)用程序開發(fā)人員的圣杯,但模塊化可組合性為實(shí)現(xiàn)其目標(biāo)提供了一種可行、現(xiàn)實(shí)的機(jī)制。雖然有關(guān)于軟件重用的恐怖故事和許多討論模塊化和可組合性原則的標(biāo)準(zhǔn),但自動(dòng)化為任何項(xiàng)目提供了安全重用的有效途徑。

自動(dòng)化減少了在不同環(huán)境中管理、跟蹤和測(cè)試組件重用所需的時(shí)間和精力。生命周期平臺(tái)(如LDRA 工具套件)可確保重用模塊適合其環(huán)境,具有從需求可追溯性到靜態(tài)分析再到單元和集成測(cè)試的功能。這些功能使安全和安保關(guān)鍵軟件開發(fā)團(tuán)隊(duì)能夠根據(jù)嚴(yán)格的行業(yè)標(biāo)準(zhǔn)獲得可重復(fù)使用組件的認(rèn)證和批準(zhǔn)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊化
    +關(guān)注

    關(guān)注

    0

    文章

    328

    瀏覽量

    21323
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3237

    瀏覽量

    57547
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    模塊化插座接線方法有哪些

    擴(kuò)展或改變插座的功能。以下是一些模塊化插座接線方法的概述,以及一些安全和安裝的注意事項(xiàng)。 1. 基本接線方法 模塊化插座的基本接線方法通常包括以下幾個(gè)步驟: 1.1 斷開電源 在開始接線之前,確保斷開電源,以防止觸電事故。 1.
    的頭像 發(fā)表于 10-18 09:50 ?241次閱讀

    無(wú)刷電機(jī)驅(qū)動(dòng)芯片方案的選擇至關(guān)重要

    當(dāng)今科技飛速發(fā)展的時(shí)代,無(wú)刷電機(jī)因其高效、低噪、長(zhǎng)壽命等顯著優(yōu)勢(shì),在眾多領(lǐng)域得到了廣泛應(yīng)用,從工業(yè)自動(dòng)到智能家居,從電動(dòng)汽車到航空航天。而在無(wú)刷電機(jī)系統(tǒng)中,驅(qū)動(dòng)芯片方案的選擇至關(guān)重要,它直接影響
    的頭像 發(fā)表于 09-05 17:28 ?446次閱讀

    IO模塊的作用及其在工業(yè)生產(chǎn)中的重要性

    IO模塊,作為自動(dòng)控制系統(tǒng)的重要組成部分,發(fā)揮著至關(guān)重要的作用。本文為您介紹IO模塊在工業(yè)生產(chǎn)中的作用及其
    的頭像 發(fā)表于 07-17 15:59 ?668次閱讀

    【《軟件開發(fā)珠璣》閱讀體驗(yàn)】+ 心得

    的財(cái)富。 人類是單線程工作的,同時(shí)只能完成一項(xiàng)任務(wù)。感慨頗深。只能根據(jù)優(yōu)先級(jí)選擇重要的任務(wù)了(或事情)。需要養(yǎng)成單日單任務(wù)的習(xí)慣。 此外,《軟件開發(fā)珠璣》還強(qiáng)調(diào)了團(tuán)隊(duì)協(xié)作和溝通的重要性。在軟件
    發(fā)表于 06-23 17:56

    PLC的I/O模塊的作用及其重要性

    在工業(yè)自動(dòng)領(lǐng)域中,可編程邏輯控制器(PLC)扮演著至關(guān)重要的角色。作為PLC的核心組成部分,I/O(輸入/輸出)模塊不僅連接著PLC與外部設(shè)備,更是實(shí)現(xiàn)信息交換的關(guān)鍵橋梁。本文將詳細(xì)
    的頭像 發(fā)表于 06-19 10:43 ?2706次閱讀

    上位機(jī)軟件開發(fā)用什么語(yǔ)言

    維護(hù)的上位機(jī)軟件至關(guān)重要。本文將詳細(xì)介紹幾種常用的上位機(jī)軟件開發(fā)編程語(yǔ)言,并分析它們的優(yōu)缺點(diǎn)。 C/C++ C和C++是兩種廣泛使用的編程語(yǔ)言,它們?cè)谏衔粰C(jī)軟件開發(fā)中具有很高的地位。C
    的頭像 發(fā)表于 06-06 10:44 ?1369次閱讀

    淺談存內(nèi)計(jì)算生態(tài)環(huán)境搭建以及軟件開發(fā)

    環(huán)境搭建 (一)背景介紹 存內(nèi)計(jì)算環(huán)境搭建是一種高效的數(shù)據(jù)處理方法,它涉及在計(jì)算機(jī)內(nèi)存中配置和管理數(shù)據(jù)及應(yīng)用程序,以提高數(shù)據(jù)處理和計(jì)算的速度。存內(nèi)計(jì)算環(huán)境的搭建對(duì)于高效軟件開發(fā)至關(guān)重要。首先,它提供了
    發(fā)表于 05-16 16:40

    淺談存內(nèi)計(jì)算生態(tài)環(huán)境搭建以及軟件開發(fā)

    當(dāng)今數(shù)據(jù)驅(qū)動(dòng)的商業(yè)世界中,能夠快速處理和分析大量數(shù)據(jù)的能力變得越來(lái)越重要。而存內(nèi)計(jì)算開發(fā)環(huán)境在此領(lǐng)域發(fā)揮其關(guān)鍵作用。存內(nèi)計(jì)算環(huán)境利用內(nèi)存(RAM)而非傳統(tǒng)的磁盤存儲(chǔ)來(lái)加速數(shù)據(jù)處理,提
    的頭像 發(fā)表于 05-15 17:10 ?424次閱讀
    淺談存內(nèi)計(jì)算生態(tài)環(huán)境搭建以及<b class='flag-5'>軟件開發(fā)</b>

    什么是模塊化機(jī)房?

    在這個(gè)數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,數(shù)據(jù)中心的作用變得日益重要。而模塊化機(jī)房,作為一種創(chuàng)新的數(shù)據(jù)中心解決方案,正在逐漸改變我們構(gòu)建和管理這些關(guān)鍵設(shè)施的方式。但究竟什么是模塊化機(jī)房呢?它又為何受到越來(lái)
    的頭像 發(fā)表于 03-12 15:05 ?1338次閱讀

    嵌入式軟件開發(fā)應(yīng)該掌握哪些知識(shí)?

    知識(shí)點(diǎn)學(xué)習(xí) 熟悉 Linux 的基本使用對(duì)于嵌入式軟件開發(fā)至關(guān)重要。包括文件系統(tǒng)的管理、用戶權(quán)限的控制、軟件包管理等。嵌入式開發(fā)人員需要能夠在 Linux 環(huán)境下進(jìn)行開發(fā)、調(diào)試和部署工
    發(fā)表于 02-19 11:23

    嵌入式軟件開發(fā)軟件開發(fā)的區(qū)別

    嵌入式軟件開發(fā)軟件開發(fā)是兩個(gè)不同的概念,它們?cè)谝恍?b class='flag-5'>關(guān)鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指開發(fā)嵌入在硬件設(shè)備中的
    的頭像 發(fā)表于 01-22 15:27 ?2125次閱讀

    模塊化UPS是什么?模塊化UPS電源并機(jī)的優(yōu)點(diǎn)

    模塊數(shù)量。通過(guò)并機(jī)技術(shù),多個(gè)模塊可以一起運(yùn)行,提供高可靠和高可擴(kuò)展性的電源系統(tǒng)。下面將詳細(xì)介紹模塊化UPS電源并機(jī)的優(yōu)點(diǎn)。 1. 高可靠
    的頭像 發(fā)表于 01-10 15:16 ?1225次閱讀

    碳化硅器件封裝與模塊化關(guān)鍵技術(shù)

    碳化硅(Silicon Carbide,簡(jiǎn)稱SiC)器件封裝與模塊化是實(shí)現(xiàn)碳化硅器件性能和可靠提升的關(guān)鍵步驟。
    發(fā)表于 01-09 10:18 ?422次閱讀
    碳化硅器件封裝與<b class='flag-5'>模塊化</b>的<b class='flag-5'>關(guān)鍵</b>技術(shù)

    安全關(guān)鍵軟件開發(fā)中實(shí)現(xiàn) ASPICE 和 ISO 26262 的協(xié)同

    (ASPICE) 和 ISO 26262。ASPICE 用于評(píng)估并改進(jìn)汽車軟件開發(fā)流程,而 ISO 26262 則著重解決安全關(guān)鍵系統(tǒng)的
    的頭像 發(fā)表于 11-22 16:37 ?456次閱讀

    千兆光模塊和萬(wàn)兆光模塊在網(wǎng)絡(luò)安全中的重要性

    本文旨在介紹千兆光模塊和萬(wàn)兆光模塊在網(wǎng)絡(luò)安全中的重要性。作為網(wǎng)絡(luò)通信的基礎(chǔ)設(shè)施,光模塊的性能和穩(wěn)定性對(duì)網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-13 11:00 ?549次閱讀