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

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

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

民機(jī)機(jī)載軟件中的開發(fā)和驗(yàn)證工具

上??匕?/a> ? 來源:上??匕?/span> ? 作者:上海控安 ? 2023-02-24 13:34 ? 次閱讀

作者 |蔡喁 上??匕部尚跑浖?chuàng)新研究院副院長

版塊 |鑒源論壇 · 觀擎

01工具鑒定

現(xiàn)代軟件工程中,工具已經(jīng)出現(xiàn)在軟件研制過程中的各個(gè)環(huán)節(jié)中。在常見的軟件研制環(huán)節(jié)中,使用工具包括軟件需求工具、軟件設(shè)計(jì)工具、軟件架構(gòu)工具和軟件測試工具等。這些工具的使用可以提高軟件的開發(fā)效率,并且在正確使用相關(guān)工具的條件下還有望能提高軟件的質(zhì)量。當(dāng)然,如果工具中存在錯(cuò)誤或未能正確的使用工具,也將會(huì)帶來負(fù)面的影響。并且由于工具的功能日益強(qiáng)大,人類有時(shí)已經(jīng)無法對工具的輸出進(jìn)行直接的判斷。

正如前文不斷提及的那樣,民用飛機(jī)時(shí)刻以安全性為最高要求。為了保證達(dá)到預(yù)期的安全水平往往不惜犧牲效率和其它性能。就民機(jī)機(jī)載軟件研制過程中使用的工具來說,風(fēng)險(xiǎn)也是顯而易見的,主要原因在于:

● 相比純手工開發(fā),工具的輸出中隱藏的錯(cuò)誤往往更加分散難以被發(fā)現(xiàn);

● 工具生成的軟件中含有的缺陷往往難以通過手工的方式排查并加以修正;

● 相比人工活動(dòng),工具產(chǎn)生的錯(cuò)誤不再是偶然的。當(dāng)同樣的工具被用于多個(gè)項(xiàng)目中時(shí),同樣的錯(cuò)誤將被成批的復(fù)制。

為了規(guī)避工具的應(yīng)用給民機(jī)機(jī)載軟件帶來的風(fēng)險(xiǎn),適航審定過程中通常采取將機(jī)載軟件的要求延伸到相關(guān)工具中的方法,這一方法也可以稱之為“鑒定”。工具鑒定正是DO-178C第十二章第二節(jié)所描述的內(nèi)容。為了區(qū)別工具鑒定與機(jī)載軟件的適航要求,RTCA組織在DO-178C標(biāo)準(zhǔn)推出之時(shí)也同步頒布了DO-330文件。將工具鑒定要求和方法分開處理的出發(fā)點(diǎn)是將基于軟件過程管理技術(shù)和方法的工具鑒定這一思路運(yùn)用于各類可能需要用于證明工具自身功能或者性能的領(lǐng)域。

02DO-178C的工具鑒定要求

2.1 何時(shí)需要進(jìn)行工具鑒定?

“Qualification of a tool is needed when processes of this document are eliminated, reduced or automated by the use of a software tool without its output being verified as specified in section 6.” (RTCA DO-178C 12.2)

“當(dāng)使用軟件省略、減少或自動(dòng)化了本文所要求的過程,并且沒有采用本文件第六章的要求對輸出進(jìn)行驗(yàn)證,則工具需要鑒定?!保≧TCA DO-178C第12.2節(jié))

上文描述了工具鑒定的兩個(gè)基本條件,分別是“省略、減少或自動(dòng)化了本文所要求的過程”以及“沒有采用本文第六章的要求對輸出進(jìn)行驗(yàn)證?!?/p>

我們先來看看什么是“省略、減少和自動(dòng)化”。從字面上來看,“省略”自然就是因?yàn)檐浖ぞ叩氖褂枚梢允∪ゲ辉賵?zhí)行的軟件生命周期過程,或過程中的某些步驟;“減少”則是DO-178C要求的過程依然執(zhí)行,但是減少了過程中所包含部分活動(dòng);“自動(dòng)化”顧名思義是原先標(biāo)準(zhǔn)要求的過程原先由人工執(zhí)行,現(xiàn)在被工具自動(dòng)化地實(shí)現(xiàn)了。由此可以看出,“省略、減少、自動(dòng)化”是工具影響到軟件過程或活動(dòng)做多少和由誰做的置信度問題。下面我們通過一個(gè)例子來仔細(xì)分析上面三者間的區(qū)別。

例如,我們假設(shè)某軟件研制過程中工具A能直接從低級(jí)需求和系統(tǒng)架構(gòu)設(shè)計(jì)文件轉(zhuǎn)換并且生成全部的源代碼文件,在研制過程中無需進(jìn)行人工編碼。我們看到,在這一過程中源代碼是被工具編寫出來的,所以實(shí)質(zhì)上DO-178C所描述的軟件編碼過程(Software Coding Process)是被“自動(dòng)化”了。但是由于這一工具的出色性能,研制單位認(rèn)為在自動(dòng)轉(zhuǎn)換過程中不可能引入錯(cuò)誤,從而決定不再進(jìn)行對低級(jí)需求和源代碼一致性的驗(yàn)證,則DO-178B第六章的驗(yàn)證工作在對源代碼和目標(biāo)代碼一致性驗(yàn)證這點(diǎn)上被“省略”了。我們不妨再假設(shè),研制單位對工具的信心非常足,以至于決定將原先執(zhí)行一類構(gòu)型控制的源代碼由于工具的使用降為二類??梢姡谶@一過程中,構(gòu)型管理過程及其活動(dòng)依然保留,并且還是由人工進(jìn)行,但部分過程將被“減少”。

從DO-178C的要求中我們也不難看出,如果軟件工具的使用沒有省略、減少或自動(dòng)化DO-178C標(biāo)準(zhǔn)所要求的過程,則不需要對工具進(jìn)行鑒定。這類工具常見的例子如構(gòu)型管理(也稱配置管理)工具。構(gòu)型管理工具協(xié)助研制團(tuán)隊(duì)實(shí)現(xiàn)DO-178C第七章所要求的目標(biāo)和活動(dòng),但如果它們僅僅對軟件研制過程起到輔助作用而沒有起到上文中所描述的“省略、減少或自動(dòng)化”某一過程的效果,則這種工具不需要鑒定,可以在機(jī)載軟件項(xiàng)目中直接使用。當(dāng)然,所有使用的工具都應(yīng)該在相應(yīng)的軟件研制環(huán)境計(jì)劃中描述,同時(shí)也需要將這一計(jì)劃放入構(gòu)型管理的范圍內(nèi)。

另外,還需要重點(diǎn)關(guān)注DO-178C關(guān)于工具鑒定條件的第二條。如果存在工具,雖然滿足上面所提的條件,即“省略、減少或自動(dòng)化”了DO-178C所要求的某項(xiàng)活動(dòng)。但如果研制單位能夠通過對工具的輸出進(jìn)行全面的驗(yàn)證,且驗(yàn)證活動(dòng)按照DO-178C第六章的要求進(jìn)行,滿足第六章的目標(biāo)、活動(dòng)和數(shù)據(jù)要求。則這個(gè)工具也可以不進(jìn)行鑒定。

2.2 如何進(jìn)行工具鑒定?

“The purpose of the tool qualification process is to ensure that the tool provides confidence at least equivalent to that of the process(es) eliminated, reduced, or automated.”

“所謂工具鑒定就是為了確定工具能夠提供與其省略、減少或自動(dòng)化了的過程具備同樣的適航審定置信度?!?/p>

(1)工具鑒定準(zhǔn)則

在DO-178C中,工具被進(jìn)一步根據(jù)以下三個(gè)準(zhǔn)則分成三個(gè)類別:

準(zhǔn)則1――“工具的輸出是機(jī)載軟件的一部分并且可能引入錯(cuò)誤?!蔽覀兛梢钥闯?,這一定義與B版本中的開發(fā)工具是完全對應(yīng)的。換句話說,C版中的1類工具就是B版中所謂的“開發(fā)工具”。

準(zhǔn)則2――“將自動(dòng)驗(yàn)證某些過程,并可能漏檢錯(cuò)誤;同時(shí),這些輸出被用來證明對以下過程的省略和減少是合理的:a. 并沒有被工具自動(dòng)化的驗(yàn)證過程;b. 可能對機(jī)載軟件產(chǎn)生影響的開發(fā)過程?!?/p>

準(zhǔn)則3――“在預(yù)期的使用范圍內(nèi),可能漏檢錯(cuò)誤。

“事實(shí)上,準(zhǔn)則2和準(zhǔn)則3都是對B版本中驗(yàn)證工具的進(jìn)一步細(xì)分。

準(zhǔn)則1的工具比較好分辨,就是開發(fā)過程中需求、設(shè)計(jì)、編碼或者集成過程中用到的產(chǎn)生軟件本體的數(shù)據(jù)的工具。準(zhǔn)則3的工具則是用于驗(yàn)證需求、設(shè)計(jì)、編碼或者可執(zhí)行目標(biāo)碼的工具,但是其作用較為單一,不會(huì)產(chǎn)生“副作用”。準(zhǔn)則2的工具首先是驗(yàn)證工具,例如檢查數(shù)組索引越界的工具,如果因?yàn)樵摴ぞ叩氖褂茫沟么a中預(yù)防數(shù)組索引越界的代碼可以不用添加,那么該驗(yàn)證工具不但影響了驗(yàn)證過程,而且影響了開發(fā)過程,是一種超級(jí)驗(yàn)證工具,稱之為準(zhǔn)則2的工具。準(zhǔn)則2的工具的另外一個(gè)例子是測試用例的生成工具,其首先作用是生成測試用例,假如此時(shí)測試用例還無需人工評(píng)審或者部分減免了人工評(píng)審其與需求的追蹤性,那么這個(gè)工具同時(shí)影響了DO-178C A-6表和A-7表中的目標(biāo),產(chǎn)生跨表的符合性表達(dá),也是一種準(zhǔn)則2的工具。

(2)工具鑒定等級(jí)(Tool Qualification Level)

上世紀(jì)90年代,工具的規(guī)模和功能都與今天無法同日而語。近年來,軟件工具的功能復(fù)雜度甚至超過機(jī)載軟件產(chǎn)品本身,而在老版標(biāo)準(zhǔn)中對工具鑒定要求的描述過于簡單,對于驗(yàn)證工具的要求甚至只有黑盒測試的要求。這與DO-178C標(biāo)準(zhǔn)中對整個(gè)機(jī)載軟件開展全面系統(tǒng)的研制保證管理的要求差距較大。因此,DO-178C標(biāo)準(zhǔn)在考慮上面提到的工具分類準(zhǔn)則的基礎(chǔ)上,結(jié)合工具工作對象(軟件)的等級(jí),細(xì)化了工具鑒定等級(jí)的要求。

在上述對工具分級(jí)的基礎(chǔ)上,DO-178C標(biāo)準(zhǔn)要求工具鑒定的過程依據(jù)DO-330標(biāo)準(zhǔn)的相應(yīng)要求進(jìn)行。

03工具操作要求

我們不難發(fā)現(xiàn),不論是開發(fā)工具還是驗(yàn)證工具,在工具鑒定中都涉及工具操作需求。常見的誤解通常認(rèn)為,工具操作需求是一份類似于使用說明書的文件。我們也曾發(fā)現(xiàn)沒有取證經(jīng)驗(yàn)的研制單位因?yàn)闊o法提交令人信服的軟件操作需求而造成工具無法通過鑒定的情況。事實(shí)上,工具的操作需求作為工具鑒定活動(dòng)中必須準(zhǔn)備的生命周期數(shù)據(jù),應(yīng)該按照軟件生命周期數(shù)據(jù)中的軟件高級(jí)或低級(jí)需求的標(biāo)準(zhǔn)來編制。并且嚴(yán)格的執(zhí)行適用的構(gòu)型管理和更改控制。工具的操作需求起到機(jī)載軟件驗(yàn)證過程中系統(tǒng)需求的作用,而工具的鑒定活動(dòng)因此更加類似與我們經(jīng)常進(jìn)行的系統(tǒng)審查。我們除了對工具的操作需求其精確性和正確性進(jìn)行評(píng)審之外,還需考慮工具在預(yù)期運(yùn)行環(huán)境下的功能測試、魯棒性測試以及需求和結(jié)構(gòu)覆蓋率分析等,而工具軟件的高級(jí)需求則被作為符合工具操作需求的軟件高級(jí)需求來對待。

審核編輯黃宇

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

    關(guān)注

    69

    文章

    4619

    瀏覽量

    86995
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    360

    瀏覽量

    40771
  • 驗(yàn)證工具
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7476
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    深度解析:機(jī)載SDI攝像頭的技術(shù)優(yōu)勢與應(yīng)用前景

    機(jī)載SDI攝像頭作為現(xiàn)代航空偵察與監(jiān)控的重要工具,其技術(shù)優(yōu)勢與應(yīng)用前景備受關(guān)注。
    的頭像 發(fā)表于 09-18 17:13 ?252次閱讀
    深度解析:<b class='flag-5'>機(jī)載</b>SDI攝像頭的技術(shù)優(yōu)勢與應(yīng)用前景

    【電磁兼容技術(shù)案例分享】某民機(jī)產(chǎn)品磁影響測試FAIL問題案例

    【電磁兼容技術(shù)案例分享】某民機(jī)產(chǎn)品磁影響測試FAIL問題案例
    的頭像 發(fā)表于 08-02 08:17 ?237次閱讀
    【電磁兼容技術(shù)案例分享】某<b class='flag-5'>民機(jī)</b>產(chǎn)品磁影響測試FAIL問題案例

    聚焦嵌入式開發(fā)的合規(guī)性工具、項(xiàng)目管理工具、版本迭代工具應(yīng)用

    ,就嵌入式開發(fā)與管理領(lǐng)域的最新趨勢、工具選擇以及DevSecOps實(shí)踐應(yīng)用等方面展開了深入探討。 本期對話龍智資深DevSecOps顧問徐晨暉, 分享嵌入式開發(fā)的合規(guī)性
    的頭像 發(fā)表于 07-29 15:15 ?369次閱讀

    工具工具——映射與調(diào)度、模擬與驗(yàn)證開發(fā)與測試工具

    本篇文章將重點(diǎn)介紹工具鏈的工具相關(guān)知識(shí),我們將從工具鏈的基本概念出發(fā),重點(diǎn)介紹工具的映射和調(diào)度工具
    的頭像 發(fā)表于 05-16 14:30 ?2043次閱讀
    <b class='flag-5'>工具</b>鏈<b class='flag-5'>工具</b>——映射與調(diào)度、模擬與<b class='flag-5'>驗(yàn)證</b>、<b class='flag-5'>開發(fā)</b>與測試<b class='flag-5'>工具</b>

    嵌入軟件單元測試工具的作用

    可測試單元進(jìn)行測試,來驗(yàn)證其是否按照設(shè)計(jì)要求正常工作。 嵌入軟件單元測試工具能夠提高開發(fā)人員的工作效率和軟件質(zhì)量。首先,它可以幫助
    的頭像 發(fā)表于 04-23 15:31 ?377次閱讀
    嵌入<b class='flag-5'>軟件</b>單元測試<b class='flag-5'>工具</b>的作用

    fpga開發(fā)一般用什么軟件

    FPGA(現(xiàn)場可編程門陣列)開發(fā)通常使用一系列專門的軟件工具,這些工具涵蓋了從設(shè)計(jì)、仿真到編譯和調(diào)試的整個(gè)流程。
    的頭像 發(fā)表于 03-15 14:43 ?3086次閱讀

    蘋果準(zhǔn)備推出AI軟件開發(fā)工具

    近日,有知情人士透露,蘋果公司正在全力加碼人工智能,準(zhǔn)備推出一款新的軟件開發(fā)工具。這款工具將利用生成式人工智能技術(shù),幫助開發(fā)者自動(dòng)完成編碼工作,預(yù)計(jì)將加劇與微軟在人工智能方面的競爭。
    的頭像 發(fā)表于 02-20 14:35 ?784次閱讀

    CodeArts五年磨一劍,深耕信創(chuàng)軟件開發(fā)工具

    在今年的QCon全球軟件開發(fā)大會(huì)(上海站),華為云開發(fā)工具和效率領(lǐng)域首席專家、華為軟件開發(fā)生產(chǎn)線 CodeArts首席技術(shù)總監(jiān)王亞偉作為「智能化信創(chuàng)軟件IDE」專題的出品人,帶領(lǐng)他的專
    的頭像 發(fā)表于 12-15 15:55 ?848次閱讀
    CodeArts五年磨一劍,深耕信創(chuàng)<b class='flag-5'>軟件開發(fā)工具</b>

    民機(jī)機(jī)載軟件的配置管理

    配置管理(Configuration Management)在航空領(lǐng)域經(jīng)常又稱為構(gòu)型管理,是現(xiàn)代復(fù)雜產(chǎn)品研制的核心技術(shù)。與很多傳統(tǒng)觀念配置管理是對文檔和版本的簡單管理不同,現(xiàn)代復(fù)雜產(chǎn)品由于其內(nèi)部組成部分較多、研制分工普遍以及設(shè)計(jì)的版本狀態(tài)以及配合關(guān)系頻繁變換的原因,往
    的頭像 發(fā)表于 12-01 16:15 ?724次閱讀
    <b class='flag-5'>民機(jī)</b><b class='flag-5'>機(jī)載</b><b class='flag-5'>軟件</b>的配置管理

    OpenHarmony技術(shù)大會(huì) | 開發(fā)工具分論壇圓滿舉辦:助力應(yīng)用創(chuàng)新,提升開發(fā)效率

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 在當(dāng)今數(shù)字化世界,軟件開發(fā)已成為各類企業(yè)和組織不可或缺的技術(shù)支撐。為了全面降低開發(fā)成本,提高開發(fā)
    的頭像 發(fā)表于 11-11 21:10 ?767次閱讀

    軟件定義汽車vECU虛擬控制器集成開發(fā)與測試

    軟件定義汽車”即軟件將深度參與到汽車的定義、開發(fā)、驗(yàn)證、銷售、服務(wù)等過程,并不斷改變和優(yōu)化各個(gè)過程,是汽車從基于硬件的產(chǎn)品向
    發(fā)表于 11-09 11:49 ?941次閱讀
    <b class='flag-5'>軟件</b>定義汽車vECU虛擬控制器集成<b class='flag-5'>開發(fā)</b>與測試

    AbsInt—確保代碼安全的靜態(tài)性能分析工具

    德國AbsInt公司是專注于安全苛求軟件研發(fā)、確認(rèn)、驗(yàn)證和認(rèn)證的工具鏈供應(yīng)商,能夠?yàn)榭蛻籼峁┩暾拇_保代碼安全的性能分析工具套件以及軟件分析
    的頭像 發(fā)表于 11-08 11:15 ?407次閱讀
    AbsInt—確保代碼安全的靜態(tài)性能分析<b class='flag-5'>工具</b>

    中興通訊大載荷長航時(shí)無人直升機(jī)載應(yīng)急通信系統(tǒng)完成實(shí)戰(zhàn)化驗(yàn)證

    近日,在四川省涼山州木里藏族自治縣海拔3626米的香格里拉湖試驗(yàn)場舉行的「2023高原“三斷”場景無人機(jī)救援實(shí)戰(zhàn)驗(yàn)證,中興通訊攜「大載荷長航時(shí)無人直升機(jī)載應(yīng)急通信系統(tǒng)」以優(yōu)異的表現(xiàn),完成預(yù)定科目
    的頭像 發(fā)表于 11-07 17:25 ?1761次閱讀

    基于模型的方法在民機(jī)機(jī)載軟件的應(yīng)用

    機(jī)載軟件適航標(biāo)準(zhǔn)對軟件研制過程、生命周期數(shù)據(jù)以及符合性證據(jù)等都提出了明確的要求。然而,這些過程要求都是建立在歐美80~90年代軟件工程實(shí)踐的基礎(chǔ)上,以文本需求+代碼為主要的
    的頭像 發(fā)表于 10-27 15:30 ?508次閱讀
    基于模型的方法在<b class='flag-5'>民機(jī)</b><b class='flag-5'>機(jī)載</b><b class='flag-5'>軟件</b><b class='flag-5'>中</b>的應(yīng)用

    開發(fā)板和開發(fā)工具指南

    與使用開發(fā)環(huán)境相比,許多工程師更傾向于將調(diào)試點(diǎn)嵌入其代碼并使用測試設(shè)備來驗(yàn)證其硬件。歐時(shí)電子指南將詳述開發(fā)板和開發(fā)工具的優(yōu)勢,并提供關(guān)于使用和選擇恰當(dāng)
    的頭像 發(fā)表于 10-26 14:35 ?532次閱讀