作者:BENJAMIN BROSGOL,GREG GICCA
新的航空電子軟件安全標(biāo)準(zhǔn)DO-178C及其補(bǔ)充軟件工具認(rèn)證注意事項(xiàng)(DO-330)澄清并擴(kuò)展了DO-178B中提供的工具認(rèn)證指南。通過基于敏捷開發(fā)原則的方法,可以加快在整個(gè)系統(tǒng)演變過程中維護(hù)資格就緒工具的挑戰(zhàn)。
如果航空電子軟件認(rèn)證所需的手動(dòng)活動(dòng)被自動(dòng)化工具減少或取代,并且未經(jīng)驗(yàn)證就使用該活動(dòng)的輸出,則開發(fā)人員需要限定該工具:證明該工具至少與它所取代的活動(dòng)一樣值得信賴。新的航空電子安全標(biāo)準(zhǔn)DO-178C及其配套的軟件工具資格考慮因素DO-330澄清并擴(kuò)展了DO-178B中定義的工具認(rèn)證指南。以下討論總結(jié)了新指南,并介紹了在存在系統(tǒng)維護(hù)和更改的情況下維護(hù)資格就緒工具的敏捷方法。
DO-178B 中的工具認(rèn)證
DO-178B[1]是一種商業(yè)航空電子軟件安全標(biāo)準(zhǔn),在軍用飛機(jī)開發(fā)中越來越多地使用,通常被稱為“基于過程”:它指定了軟件生命周期過程的相互關(guān)聯(lián)的集合,每個(gè)過程都包含一組活動(dòng)和相關(guān)目標(biāo)。這些活動(dòng)產(chǎn)生的輸出(“項(xiàng)目”)由證書頒發(fā)機(jī)構(gòu)人員進(jìn)行評(píng)估,以查看它們是否符合 DO-178B 中指定的目標(biāo)。適用的目標(biāo)(以及適用的活動(dòng)和工件)取決于軟件級(jí)別:軟件在確保飛機(jī)和乘員安全方面的關(guān)鍵程度。級(jí)別范圍從E(無效)到A(軟件故障可能直接導(dǎo)致飛機(jī)損失,從而導(dǎo)致生命損失)。
一些 DO-178B 活動(dòng)是可自動(dòng)化的,該標(biāo)準(zhǔn)描述了如果在未經(jīng)驗(yàn)證的情況下使用工具的輸出,如何信任工具來替換或減少手動(dòng)活動(dòng)。它定義了兩個(gè)類別:開發(fā)工具和驗(yàn)證工具。開發(fā)工具生成的輸出是機(jī)載軟件的一部分,因此有可能引入錯(cuò)誤。例如,從基于模型的設(shè)計(jì)生成源代碼的代碼生成器。驗(yàn)證工具不能引入任何錯(cuò)誤,但可能無法檢測到錯(cuò)誤,例如,靜態(tài)分析工具標(biāo)識(shí)在初始化之前讀取的變量。
除其他數(shù)據(jù)項(xiàng)外,工具認(rèn)證還需要準(zhǔn)備工具操作要求 (TOR)。TOR 定義了工具的各種屬性,包括其功能、安裝、使用和操作環(huán)境。
當(dāng)且僅當(dāng)該工具生成的軟件不受與其他機(jī)載軟件相同的適用認(rèn)證目標(biāo)時(shí),開發(fā)工具才需要合格。開發(fā)工具認(rèn)證需要滿足與機(jī)載軟件認(rèn)證相同的目標(biāo)。(盡管編譯器和鏈接器是開發(fā)工具,但不需要資格認(rèn)證,因?yàn)樗鼈兊妮敵鍪峭ㄟ^其他 DO-178B 活動(dòng)驗(yàn)證的。事實(shí)上,資格認(rèn)證將是昂貴的,并且不會(huì)簡化實(shí)現(xiàn)其他目標(biāo)(如可追溯性分析)的工作。
鑒定驗(yàn)證工具比鑒定開發(fā)工具要簡單得多,部分原因是DO-178B的理念是鼓勵(lì)使用此類工具來自動(dòng)化涉及重復(fù)性和基于規(guī)則的任務(wù)的活動(dòng),自動(dòng)化工具比人工更好地執(zhí)行這些活動(dòng)。驗(yàn)證工具的資格基本上包括證明該工具符合其 TOR。
DO-178C 中的工具認(rèn)證
工具認(rèn)證一直是DO-178B認(rèn)證的重要組成部分,但在實(shí)踐中出現(xiàn)了幾個(gè)問題:
驗(yàn)證工具和開發(fā)工具之間的區(qū)別并不總是直截了當(dāng)?shù)摹4送猓?yàn)證工具可能不是簡單地自動(dòng)化特定活動(dòng);它的輸出也可用于消除或減少一些其他活動(dòng)。
要求開發(fā)工具滿足與機(jī)載軟件相同的目標(biāo)是不必要的限制,因?yàn)椴僮鳝h(huán)境不同。例如,航空電子軟件中的無限遞歸可能會(huì)耗盡堆棧存儲(chǔ)并導(dǎo)致系統(tǒng)故障;開發(fā)工具中的相同行為不會(huì)帶來安全隱患。
雖然工具鑒定本質(zhì)上是在特定系統(tǒng)背景下進(jìn)行的,但如果資格認(rèn)證要求加快在現(xiàn)有系統(tǒng)的修改版本上重復(fù)使用合格的工具,那將是有益的。
所有這些問題都在DO-178C或其隨附的補(bǔ)充DO-330,軟件工具資格考慮中得到解決。
“開發(fā)工具”和“核查工具”已被三個(gè)標(biāo)準(zhǔn)所取代。標(biāo)準(zhǔn) 1 對(duì)應(yīng)于開發(fā)工具(即,該工具可以將錯(cuò)誤插入機(jī)載軟件)。標(biāo)準(zhǔn) 2 對(duì)應(yīng)于可能無法檢測到錯(cuò)誤的驗(yàn)證工具,用于減少其他開發(fā)或驗(yàn)證活動(dòng)。標(biāo)準(zhǔn) 3 對(duì)應(yīng)于可能無法檢測到錯(cuò)誤但不用于減少其他開發(fā)或驗(yàn)證活動(dòng)的驗(yàn)證工具。
工具所需的資格 - 其工具資格級(jí)別(TQL) - 取決于其標(biāo)準(zhǔn)和工具所用軟件的軟件級(jí)別,如表1所示。TQL 的范圍從 5(相當(dāng)于 DO-178B 驗(yàn)證工具)到 1(類似于軟件級(jí)別 A)。與每個(gè) TQL 關(guān)聯(lián)的活動(dòng)和數(shù)據(jù)項(xiàng)在單獨(dú)的文檔 DO-330 中定義,其結(jié)構(gòu)與 DO-178C 相同。DO-330 為工具鑒定提供全面的指導(dǎo),并識(shí)別機(jī)載軟件和工具的執(zhí)行環(huán)境之間的差異。
DO-330 明確涵蓋了以前合格的工具的使用。簡而言之,只要開發(fā)人員能夠通過更改影響分析證明該工具仍符合其 TQL 要求,即使操作環(huán)境或工具本身發(fā)生任何變化,就可以重復(fù)使用以前合格的工具。
表 1:工具所需的資格 - 其工具資格級(jí)別(TQL) - 取決于其標(biāo)準(zhǔn)和使用該工具的軟件的軟件級(jí)別。
重復(fù)使用以前合格的工具
重用或輕松調(diào)整先前合格工具的認(rèn)證工件的能力尤為重要。DO-178B在這里沒有提供明確的指導(dǎo)。對(duì)于任何新系統(tǒng),或者如果工具或環(huán)境的任何方面發(fā)生更改,則需要對(duì)一個(gè)系統(tǒng)執(zhí)行的工具鑒定重復(fù)。因此,項(xiàng)目經(jīng)理通常會(huì)在早期階段選擇操作環(huán)境和工具,然后提交這些版本,以便在最終系統(tǒng)認(rèn)證期間可以使用工具認(rèn)證工件。這有時(shí)被稱為“大凍結(jié)”,即環(huán)境和工具被提前鎖定。
DO-330 解決了這些問題。針對(duì)以前限定的工具的特定指南允許重用限定項(xiàng)目,只要沒有任何更改會(huì)影響限定。它考慮三種情況:
無需更改即可重用以前合格的工具 – 例如,當(dāng)工具用于相關(guān)項(xiàng)目或現(xiàn)有項(xiàng)目的多個(gè)階段時(shí)。開發(fā)人員需要確定計(jì)劃中的方法和基本原理。
對(duì)工具操作環(huán)境的更改 – 開發(fā)人員需要更新一個(gè)或多個(gè)計(jì)劃,但大部分原始資格項(xiàng)目可以按原樣重復(fù)使用。只有與操作環(huán)境相關(guān)的更新項(xiàng)目需要由證書頒發(fā)機(jī)構(gòu)進(jìn)行評(píng)審。
對(duì)工具本身的更改 – 必須提供更改影響分析,但工具重新認(rèn)證的成本仍然較低,基本上只需要與已更改或受更改影響的方面相關(guān)的活動(dòng)。關(guān)鍵是能夠準(zhǔn)確地確定和指定發(fā)生了什么變化,這些變化會(huì)影響什么,或者更重要的是,它們不會(huì)影響什么。
敏捷重新認(rèn)證
根據(jù) DO-178B 或 DO-178C 和 DO-330 中的刀具認(rèn)證指南,可以定義一個(gè)框架來跟蹤刀具或其操作環(huán)境的更改,并自動(dòng)啟動(dòng)由更改觸發(fā)的工具認(rèn)證活動(dòng)。
例如,可以根據(jù) DO-178C 和 DO-330 中定義的目標(biāo)初步開發(fā)和鑒定工具。可以在配置管理 (CM) 系統(tǒng)中捕獲和維護(hù)完整的工具開發(fā)生命周期過程及其關(guān)聯(lián)的鑒定工件,包括所有依賴關(guān)系(參見圖 1)。核心 CM 系統(tǒng)允許對(duì)重現(xiàn)刀具鑒定所需的所有鑒定數(shù)據(jù)和工件進(jìn)行基本重新生成。完整的結(jié)構(gòu)允許影響和變化分析。通過這種方式,可以跟蹤工具操作環(huán)境或工具本身的任何變化。最重要的是,該結(jié)構(gòu)將清楚地顯示工具的哪些部分及其工件不受影響,因此可以保持不變并保持其先前的審查和資格準(zhǔn)備。
圖1:可以在配置管理 (CM) 系統(tǒng)中捕獲和維護(hù)完整的工具開發(fā)生命周期過程及其關(guān)聯(lián)的認(rèn)證工件,包括所有依賴關(guān)系。
過渡到新的資格指南
DO-178B實(shí)際上是DO-178C的一個(gè)子集。因此,項(xiàng)目可以繼續(xù)為 DO-178B 制定的開發(fā)和認(rèn)證計(jì)劃,同時(shí)將所選部分遷移到 DO-178C,例如,利用 DO-330 中的工具認(rèn)證目標(biāo)。因此,現(xiàn)有的DO-178B項(xiàng)目和新的DO-178C項(xiàng)目都可以利用DO-330在工具鑒定和重新認(rèn)證方面的具有成本效益的指導(dǎo)。
AdaCore 資格計(jì)算機(jī)框架是上一節(jié)中描述的敏捷技術(shù)的正在進(jìn)行中實(shí)現(xiàn),支持這種方法。它可以幫助項(xiàng)目避免“大凍結(jié)”,以便工具和開發(fā)環(huán)境能夠順利發(fā)展。當(dāng)更新可用時(shí),工具可能會(huì)升級(jí)到較新版本,而不會(huì)丟失系統(tǒng)認(rèn)證所需的工具資格。
審核編輯:郭婷
-
代碼
+關(guān)注
關(guān)注
30文章
4748瀏覽量
68356 -
編譯器
+關(guān)注
關(guān)注
1文章
1618瀏覽量
49051
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論