DO-178B 應(yīng)用程序面臨重新驗(yàn)證和重新認(rèn)證,即將遷移到 DO-178C 標(biāo)準(zhǔn)。
當(dāng)今的軍事和商業(yè)航空電子系統(tǒng)中使用了數(shù)億行遺留代碼。這些遺留系統(tǒng)中的大多數(shù)都是使用現(xiàn)已過(guò)時(shí)(或過(guò)時(shí))的編程語(yǔ)言和開(kāi)發(fā)系統(tǒng)以及不再可用的編程專(zhuān)業(yè)知識(shí)開(kāi)發(fā)的。因此,這些遺留系統(tǒng)的維護(hù)和升級(jí)變得越來(lái)越困難和昂貴,從而迫使開(kāi)發(fā)人員將其應(yīng)用程序遷移到新的開(kāi)發(fā)主機(jī)、編譯器、安全關(guān)鍵操作系統(tǒng)和編程語(yǔ)言。此外,監(jiān)管機(jī)構(gòu)對(duì)認(rèn)證施加的新標(biāo)準(zhǔn)和新要求也可能引發(fā)對(duì)軟件遷移和重新驗(yàn)證的需求。
遷移復(fù)雜的嵌入式軟件,特別是在需要實(shí)時(shí)響應(yīng)和高度安全關(guān)鍵性的應(yīng)用中,可能是一個(gè)昂貴、耗時(shí)且有風(fēng)險(xiǎn)的過(guò)程,需要更改代碼、重新測(cè)試、重新審查、重新分析甚至重新認(rèn)證。有許多因素使舊版應(yīng)用程序難以移植。這些因素包括編程語(yǔ)言的細(xì)微差別、特定于編譯器的實(shí)現(xiàn)、運(yùn)行時(shí)和硬件依賴(lài)關(guān)系、使用超出定義的編程語(yǔ)言的擴(kuò)展以及不兼容的應(yīng)用程序代碼結(jié)構(gòu)。遷移應(yīng)用程序還會(huì)影響已通過(guò) DO-178B 認(rèn)證或即將通過(guò) DO-178C 認(rèn)證的代碼的重用。
遷移到新語(yǔ)言
在所有遷移工作中,最具挑戰(zhàn)性的是將使用傳統(tǒng)語(yǔ)言(如 Ada 或 JOVIAL)編寫(xiě)的代碼移動(dòng)到另一種語(yǔ)言(如 C)中。由于生成的應(yīng)用程序與原始應(yīng)用程序不完全相同,因此至少需要基本的重新測(cè)試,并且可能需要完全重新驗(yàn)證。此外,由于必須在源代碼級(jí)別修改應(yīng)用程序,因此分配給該程序的新軟件工程師可能必須接受傳統(tǒng)編程語(yǔ)言以及應(yīng)用程序設(shè)計(jì)和內(nèi)部工作方面的培訓(xùn)。這將不可避免地將錯(cuò)誤引入應(yīng)用程序。其他因素也將發(fā)揮作用。例如,生成的代碼將具有不同的布局,并且可能不再適合可用內(nèi)存。數(shù)據(jù)布局也將不同,不再正確映射到底層硬件。性能和時(shí)序方面也將發(fā)生變化。
更改語(yǔ)言時(shí),最好使用支持舊語(yǔ)言和新目標(biāo)語(yǔ)言的開(kāi)發(fā)環(huán)境,并能夠混合語(yǔ)言。這將允許設(shè)計(jì)人員緩慢遷移并逐步進(jìn)行測(cè)試。雖然許多編譯器可以組合不同語(yǔ)言的代碼段,但大多數(shù)調(diào)試器工具一次只處理一種語(yǔ)言。這意味著開(kāi)發(fā)人員必須同時(shí)調(diào)用多個(gè)工具來(lái)查看代碼段之間的交互。這些工具很少以協(xié)調(diào)的方式進(jìn)行交互或交換信息,以幫助將目標(biāo)代碼與多種語(yǔ)言源相關(guān)聯(lián)。混合語(yǔ)言開(kāi)發(fā)環(huán)境(如DDC-I的OpenArbor)允許從單個(gè)啟動(dòng)進(jìn)行混合語(yǔ)言調(diào)試,從而更容易檢測(cè)交互錯(cuò)誤并協(xié)調(diào)新的和現(xiàn)有的代碼。
開(kāi)發(fā)人員可能還希望利用可加快轉(zhuǎn)換過(guò)程的工具和服務(wù)。其中包括半自動(dòng)化工具,這些工具以可預(yù)測(cè)和直接的方式轉(zhuǎn)換應(yīng)用程序,同時(shí)保留原始應(yīng)用程序結(jié)構(gòu)和源代碼注釋。這使得轉(zhuǎn)換后的代碼可讀且可維護(hù),最大限度地降低引入軟件錯(cuò)誤的風(fēng)險(xiǎn),并消除對(duì)軟件轉(zhuǎn)換工具的任何進(jìn)一步依賴(lài)。使用新語(yǔ)言后,可以使用更新的語(yǔ)言功能優(yōu)化應(yīng)用程序,并/或使用新功能進(jìn)行增強(qiáng)。
DO-178B/DO-178C 遷移
如果應(yīng)用程序最初已通過(guò) DO-178B 認(rèn)證并已遷移,則必須使用新語(yǔ)言、開(kāi)發(fā)環(huán)境、驗(yàn)證環(huán)境和運(yùn)行時(shí)環(huán)境重新驗(yàn)證和重新認(rèn)證。如前所述,今年晚些時(shí)候,該行業(yè)將開(kāi)始從DO-178B過(guò)渡到DO-178C,這將在新開(kāi)發(fā)和遺留代碼重用方面產(chǎn)生新的影響。除了對(duì) DO-178B 的指南進(jìn)行一些澄清外,DO-178C 文檔還增加了新的指南,以適應(yīng)自 DO-178B 發(fā)布以來(lái)變得很常見(jiàn)的開(kāi)發(fā)技術(shù),包括面向?qū)ο缶幊獭⒒谀P偷拈_(kāi)發(fā)(UML 或 Simulink)、工具鑒定和形式化方法。
對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),好消息是DO-178C保留了核心DO-178B指南,并進(jìn)行了一些修改以進(jìn)行澄清。開(kāi)發(fā)人員仍然必須熟悉適用于其特定流程和程序的每個(gè)領(lǐng)域的指南。開(kāi)發(fā)人員還必須評(píng)估附加指南的影響,相應(yīng)地定制其流程和過(guò)程,并更新他們遷移的任何軟件和認(rèn)證項(xiàng)目。但是,DO-178B的大部分將保持不變,從而簡(jiǎn)化了向DO-178C的過(guò)渡。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5090文章
19176瀏覽量
306881 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6889瀏覽量
123595 -
編譯器
+關(guān)注
關(guān)注
1文章
1642瀏覽量
49238
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論