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

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

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

DO-178C將現(xiàn)代技術(shù)引入安全關(guān)鍵型軟件開發(fā)

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:TIM KING,BILL ST. C ? 2022-11-08 11:27 ? 次閱讀

自1992年DO-178B推出以來,航空電子軟件技術(shù)突飛猛進(jìn)。DO-178C將把安全關(guān)鍵型軟件開發(fā)帶入現(xiàn)代,增加對UML和數(shù)學(xué)建模、面向?qū)ο?a target="_blank">編程和形式化方法等先進(jìn)技術(shù)的支持。第三方工具、平臺(tái)和認(rèn)證服務(wù)的隨時(shí)可用將加速DO-178C的采用和部署。

隨著軟件變得越來越復(fù)雜,很難在代碼級別管理該軟件的設(shè)計(jì)。面向?qū)ο缶幊蹋?a href="http://www.wenjunhu.com/tags/C++/" target="_blank">C++、Ada 和 Java)和建模(UML、數(shù)學(xué)等)使設(shè)計(jì)人員能夠在更高級別概念化、架構(gòu)和封裝其設(shè)計(jì),從而簡化了復(fù)雜軟件的開發(fā)。與基于模型的開發(fā)相關(guān)的形式化方法可以更輕松地評估復(fù)雜軟件功能(如控制回路)的正確性。

DO-178C 繼承了 DO-178B 核心文檔、原則和流程,同時(shí)增加了對高級建模、面向?qū)ο缶幊毯托问交椒ǖ闹С?,重點(diǎn)是從模型到可執(zhí)行代碼再到返回的雙向可追溯性(側(cè)欄 1)。DO-178C 還提供了工具補(bǔ)充,用于詳細(xì)解決不僅用于建模、面向?qū)ο缶幊毯托问交椒ǖ墓ぞ叩南薅ê凸δ?,還用于其他開發(fā)技術(shù)(如過程軟件和程序集級編程)的工具的資格和功能。

DO-178C 補(bǔ)充

DO-178C工作組已經(jīng)制作了三種開發(fā)技術(shù)補(bǔ)充:面向?qū)ο蠹夹g(shù)和相關(guān)技術(shù)(OOT和RT),基于模型的開發(fā)和驗(yàn)證以及形式化方法。它還大大擴(kuò)展了DO-178B中的工具認(rèn)證指南。這四份增刊已由RTCA出版為:

DO-330,軟件工具認(rèn)證注意事項(xiàng)

DO-331,DO-178C 和 DO-278A 的基于模型的開發(fā)和驗(yàn)證補(bǔ)充

DO-332,面向?qū)ο蠹夹g(shù)和相關(guān)技術(shù) DO-178C 和 DO-278A 的補(bǔ)充

DO-333,DO-178C 和 DO-278A 的形式化方法補(bǔ)充

請注意,DO-278A 相當(dāng)于 DO-178C 的地面系統(tǒng)。

面向?qū)ο蠹夹g(shù)及相關(guān)技術(shù)

面向?qū)ο蠹夹g(shù)和相關(guān)技術(shù)(OOT&RT)是用于手動(dòng)代碼開發(fā)和驗(yàn)證的綜合安全關(guān)鍵軟件指南。它不僅包括面向?qū)ο蟮能浖_發(fā),還包括過程語言中使用的技術(shù)。這些相關(guān)技術(shù)包括動(dòng)態(tài)內(nèi)存管理、重載、參數(shù)化多態(tài)性(例如 C++ 中的模板和 Ada 中的泛型)類型轉(zhuǎn)換和虛擬化。最終結(jié)果是,OOT和RT補(bǔ)充可以在大多數(shù)使用過程語言和OOT的項(xiàng)目上調(diào)用。

OOT和RT最重要的補(bǔ)充是新目標(biāo)的定義。目標(biāo)確定必須生成哪些開發(fā)資產(chǎn)、集成流程和驗(yàn)證工件才能使產(chǎn)品可認(rèn)證。OOT 和 RT 定義了兩個(gè)新的驗(yàn)證目標(biāo):第一個(gè)驗(yàn)證本地類型一致性,這使得子類方法能夠安全地重寫父類方法。第二個(gè)驗(yàn)證動(dòng)態(tài)內(nèi)存管理系統(tǒng)的使用是否可靠。特別是,它驗(yàn)證了動(dòng)態(tài)內(nèi)存管理系統(tǒng)的以下特征:引用歧義、碎片饑餓、釋放匱乏、內(nèi)存耗盡、過早釋放、丟失更新和過時(shí)引用以及未綁定分配或解除分配時(shí)間。

基于模型的開發(fā)和驗(yàn)證(MBD&V)

在審查和批準(zhǔn)MBD&V補(bǔ)充時(shí),最大和最具爭議的挑戰(zhàn)是確定在目標(biāo)系統(tǒng)上編譯,鏈接和加載的可執(zhí)行目標(biāo)代碼(EOC)上使用的最終驗(yàn)證方法。在所考慮的MBD&V系統(tǒng)的背景下,EOC可以直接追溯到模型自動(dòng)生成的源代碼。從歷史上看,在驗(yàn)證一些航空電子軟件方面有一個(gè)先例,這些軟件在模型本身中都進(jìn)行了測試,而沒有對EOC進(jìn)行目標(biāo)測試,有效地消除了DO-178C“核心文件”中EOC測試的目標(biāo)。相反,DO-178C全體會(huì)議同意必須在目標(biāo)系統(tǒng)上對EOC進(jìn)行某種形式的獨(dú)立驗(yàn)證,從而保留DO-178C的EOC目標(biāo)。

盡管就EOC驗(yàn)證達(dá)成了共識(shí),但MBD&V補(bǔ)充確實(shí)增加了許多目標(biāo),為模型在模型架構(gòu)和模型代碼上執(zhí)行或至少由模型定義的驗(yàn)證活動(dòng)提供認(rèn)證信用。這些驗(yàn)證活動(dòng)主要由“模擬用例”執(zhí)行,這些用例代替測試用例和其他形式的驗(yàn)證運(yùn)行。

添加到任何DO-178C技術(shù)補(bǔ)充中的最明確的常見問題解答可能是添加到MBD&V補(bǔ)充中的常見問題解答。新常見問題解答的范圍涵蓋開發(fā)和驗(yàn)證,不僅包括標(biāo)準(zhǔn)的高級和低級軟件要求以及相關(guān)的規(guī)范和設(shè)計(jì)模型,還包括分配給軟件的系統(tǒng)要求。從歷史上看,這些模型類型和需求層次結(jié)構(gòu)之間的差距及其各種來源一直是MBD&V項(xiàng)目中模糊和實(shí)現(xiàn)不佳設(shè)計(jì)的主要原因。

形式化方法補(bǔ)充

形式化方法補(bǔ)充遵循與MBD&V類似的軌跡,因?yàn)樗罱K也同意通過規(guī)定最終通過形式方法或數(shù)學(xué)證明對EOC進(jìn)行獨(dú)立驗(yàn)證來保留核心文件的EOC目標(biāo)。形式化方法或MBD&V補(bǔ)充尚未明確解決的一個(gè)關(guān)鍵問題是這些補(bǔ)充之間可能發(fā)生的明顯領(lǐng)域重疊。也就是說,形式化方法(FM)作為一種開發(fā)和驗(yàn)證技術(shù),本身就利用了一種基于模型的開發(fā)形式。美國聯(lián)邦航空局將在將于今年發(fā)布的通知中解決這一和其他潛在的領(lǐng)域重疊問題。

軟件工具鑒定注意事項(xiàng)

當(dāng)DO-178C的過程通過使用軟件工具被消除,減少或自動(dòng)化時(shí),需要對工具進(jìn)行認(rèn)證,而其輸出沒有按照標(biāo)準(zhǔn)中的規(guī)定進(jìn)行驗(yàn)證。工具鑒定過程的目的是確保工具提供的信心至少與消除、減少或自動(dòng)化的過程相同。

軟件工具認(rèn)證注意事項(xiàng)文檔介紹了一種新的工具認(rèn)證結(jié)構(gòu),該結(jié)構(gòu)由三個(gè)標(biāo)準(zhǔn)和五個(gè)工具認(rèn)證級別 (TQL) 組成,如表 1 所示。

表 1:軟件工具資格認(rèn)證注意事項(xiàng)文檔引入了新的工具資格認(rèn)證結(jié)構(gòu),該結(jié)構(gòu)由三個(gè)標(biāo)準(zhǔn)和五個(gè)工具資格級別 (TQL) 組成。

pYYBAGNpzJKAXgXEAABZ0kKWpko748.jpg

標(biāo)準(zhǔn) 1 適用的 TQL 是 DO-178B 中開發(fā)工具的替代品。

標(biāo)準(zhǔn) 2 是 DO-178C 的新標(biāo)準(zhǔn),旨在解決新方法中工具使用的擴(kuò)展問題。標(biāo)準(zhǔn) 2 基本上要求對軟件級別 A 和 B 上使用的工具進(jìn)行比 DO-178B 標(biāo)準(zhǔn)更高的嚴(yán)格性,以增加使用該工具的信心。

標(biāo)準(zhǔn) 3 完全由 TQL-5 級組成,是 DO-178B 中驗(yàn)證工具的替代品。

為了幫助安全關(guān)鍵型開發(fā)人員充分利用 DO-178 的高級功能,自動(dòng)化和簡化開發(fā)、驗(yàn)證和認(rèn)證流程的工具變得至關(guān)重要。例如,DO-178C 第 11 節(jié)介紹了跟蹤數(shù)據(jù),它將其描述為生命周期數(shù)據(jù)項(xiàng)(如需求、設(shè)計(jì)、源代碼和測試用例)之間的參考鏈接。自動(dòng)化生命周期數(shù)據(jù)可追溯性的工具的一個(gè)關(guān)鍵方面是用于建立向前和向后可追溯性的工具,從需求向下到分解樹,再到可執(zhí)行代碼,然后再返回,包括驗(yàn)證任務(wù)。

自動(dòng)化工具大大減少了與開發(fā)符合 DO-178 標(biāo)準(zhǔn)的軟件相關(guān)的時(shí)間和成本。然而,DO-178認(rèn)證仍然是一個(gè)昂貴、耗時(shí)和艱巨的過程。為了幫助航空電子設(shè)備制造商加快這一過程,一些公司,如DDC-I,除了為DO-178B和DO-178C提供交鑰匙開發(fā)和認(rèn)證服務(wù)外,還提供已經(jīng)通過DO-178B A級認(rèn)證的基于Eclipse的開發(fā)工具和RTOS平臺(tái)。

DO-178C 簡化航空電子設(shè)備開發(fā)

DO-178C標(biāo)志著復(fù)雜航空電子軟件開發(fā)人員向前邁出了一大步,這些軟件必須經(jīng)過最高級別的安全關(guān)鍵性認(rèn)證。DO-178C 通過采用形式化方法、高級建模和面向?qū)ο蟮募夹g(shù)來簡化開發(fā)過程,使設(shè)計(jì)人員能夠在更高層次上概念化和封裝他們的軟件。它還通過提供從模型和要求到可執(zhí)行代碼并再次返回的雙向可追溯性來簡化驗(yàn)證和認(rèn)證過程。結(jié)合自動(dòng)化工具、平臺(tái)和認(rèn)證服務(wù),DO-178C極大地闡明了降低與開發(fā)、認(rèn)證和部署復(fù)雜的安全關(guān)鍵航空電子軟件相關(guān)的成本的風(fēng)險(xiǎn)和潛在手段。

審核編輯:郭婷

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

    關(guān)注

    19

    文章

    2973

    瀏覽量

    104901
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2113

    瀏覽量

    73742
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式軟件開發(fā)符合ISO 26262 功能安全標(biāo)準(zhǔn)

    ISO 26262 功能安全標(biāo)準(zhǔn)的要求可能非常具有挑戰(zhàn)性,尤其是當(dāng)您的汽車系統(tǒng)中的某些部件相比其他部件具有更高的安全風(fēng)險(xiǎn)時(shí)。開發(fā)者如何在整個(gè)軟件開發(fā)生命周期中保持對每一個(gè)汽車
    發(fā)表于 01-15 12:04 ?0次下載

    DevSecOps自動(dòng)化在安全關(guān)鍵軟件開發(fā)中的實(shí)踐、Helix QAC& Klocwork等SAST工具應(yīng)用

    DevSecOps自動(dòng)化旨在通過在軟件開發(fā)生命周期的各個(gè)階段集成安全流程,使用自動(dòng)化工具和最佳實(shí)踐來簡化開發(fā)、安全和運(yùn)營。實(shí)現(xiàn)DevSecOps自動(dòng)化流程的一個(gè)重要部分就是使用SAST
    的頭像 發(fā)表于 01-03 16:05 ?108次閱讀
    DevSecOps自動(dòng)化在<b class='flag-5'>安全</b><b class='flag-5'>關(guān)鍵</b><b class='flag-5'>型</b><b class='flag-5'>軟件開發(fā)</b>中的實(shí)踐、Helix QAC&amp;amp; Klocwork等SAST工具應(yīng)用

    緩存技術(shù)軟件開發(fā)中的應(yīng)用

    現(xiàn)代軟件開發(fā)中,隨著數(shù)據(jù)量的爆炸性增長和用戶對響應(yīng)速度的高要求,緩存技術(shù)成為了提升系統(tǒng)性能的重要手段。緩存技術(shù)通過數(shù)據(jù)存儲(chǔ)在離用戶更近的
    的頭像 發(fā)表于 12-18 09:32 ?277次閱讀

    MathWorks公司舉辦線上專題研討會(huì)

    MathWorks 公司將于 11 月 14 日 (周四)下午 14:00 通過騰訊會(huì)議舉行主題為 《基于模型的設(shè)計(jì)開發(fā)符合 ISO 26262 和 DO-178C 的應(yīng)用軟件》 的專題研討會(huì),誠邀您參會(huì)。
    的頭像 發(fā)表于 10-31 16:29 ?319次閱讀

    TMS320C6201 DSP軟件開發(fā)技術(shù)

    電子發(fā)燒友網(wǎng)站提供《TMS320C6201 DSP軟件開發(fā)技術(shù).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:25 ?0次下載
    TMS320<b class='flag-5'>C</b>6201 DSP<b class='flag-5'>軟件開發(fā)</b><b class='flag-5'>技術(shù)</b>

    ECU電控軟件開發(fā)及測試介紹

    本文重點(diǎn)介紹符合AutoSar架構(gòu)的應(yīng)用軟件開發(fā)、MBD開發(fā)模式下的軟件質(zhì)量評估與優(yōu)化方案、復(fù)雜場景下的ECU性能壓力測試方案。
    的頭像 發(fā)表于 09-26 14:25 ?3466次閱讀
    ECU電控<b class='flag-5'>軟件開發(fā)</b>及測試介紹

    Vector DaVinci Team解決方案實(shí)現(xiàn)AUTOSAR Classic ECU軟件開發(fā)

    單元(HPC)和區(qū)域控制單元(Zonal ECU)分工協(xié)作的架構(gòu)。因此,ECU的軟件功能越來越多,越來越復(fù)雜。ECU的軟件開發(fā),也引入不同部門、不同公司的更多項(xiàng)目
    的頭像 發(fā)表于 09-13 11:23 ?1327次閱讀
    Vector DaVinci Team解決方案實(shí)現(xiàn)AUTOSAR Classic ECU<b class='flag-5'>軟件開發(fā)</b>

    嵌入式軟件開發(fā)與AI整合

    嵌入式軟件開發(fā)與AI整合是當(dāng)前技術(shù)發(fā)展的重要趨勢之一。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來越多地集成了AI算法,以實(shí)現(xiàn)更復(fù)雜的智能功能。以下是關(guān)于嵌入式軟件開發(fā)與AI整合的詳細(xì)分
    的頭像 發(fā)表于 07-31 09:25 ?758次閱讀
    嵌入式<b class='flag-5'>軟件開發(fā)</b>與AI整合

    2024 ACT汽車軟件安全技術(shù)周 龍智即將攜全方位汽車軟件開發(fā)解決方案亮相,助力應(yīng)對汽車軟件開發(fā)功能安全

    ,分享推動(dòng)汽車軟件開發(fā)與功能安全的創(chuàng)新實(shí)踐。 ATC作為汽車技術(shù)會(huì)議領(lǐng)域的領(lǐng)先平臺(tái),專注于汽車電子與軟件版塊的技術(shù)交流將近10年歷程,深耕行
    的頭像 發(fā)表于 07-08 16:17 ?578次閱讀
    2024 ACT汽車<b class='flag-5'>軟件</b>與<b class='flag-5'>安全</b><b class='flag-5'>技術(shù)</b>周 龍智即將攜全方位汽車<b class='flag-5'>軟件開發(fā)</b>解決方案亮相,助力應(yīng)對汽車<b class='flag-5'>軟件開發(fā)</b>功能<b class='flag-5'>安全</b>

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

    ,為軟件開發(fā)者提供了寶貴的經(jīng)驗(yàn)和智慧。在這篇讀后感中,我分享書中的精華以及它對我的啟發(fā)。 首先,《軟件開發(fā)珠璣》強(qiáng)調(diào)了軟件開發(fā)和管理的59條經(jīng)驗(yàn)教訓(xùn)分為6個(gè)領(lǐng)域。 需求、設(shè)計(jì)、項(xiàng)目管
    發(fā)表于 06-23 17:56

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

    維護(hù)的上位機(jī)軟件至關(guān)重要。本文詳細(xì)介紹幾種常用的上位機(jī)軟件開發(fā)編程語言,并分析它們的優(yōu)缺點(diǎn)。 C/C++
    的頭像 發(fā)表于 06-06 10:44 ?2030次閱讀

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

    后,我們現(xiàn)在轉(zhuǎn)向?qū)崿F(xiàn)存內(nèi)計(jì)算技術(shù)潛力的關(guān)鍵:存內(nèi)計(jì)算生態(tài)環(huán)境的搭建以及軟件開發(fā)的具體細(xì)節(jié)。它們不僅為存內(nèi)計(jì)算應(yīng)用的開發(fā)和運(yùn)行提供必要的基礎(chǔ)
    發(fā)表于 05-16 16:40

    keil arm軟件開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《keil arm軟件開發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-26 15:51 ?7次下載

    汽車軟件開發(fā)CAEdge框架關(guān)鍵技術(shù)

    軟件定義汽車中,汽車功能主要通過軟件實(shí)現(xiàn),不再僅僅依賴硬件。這種軟件與硬件解耦的方式使得新功能和軟件更新能夠在整個(gè)汽車壽命周期內(nèi)迅速、持
    發(fā)表于 01-24 14:16 ?584次閱讀
    汽車<b class='flag-5'>軟件開發(fā)</b>CAEdge框架<b class='flag-5'>關(guān)鍵技術(shù)</b>

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

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