遷移當今復雜的軍事和商業航空電子系統可能是一個相當艱巨的命題,但可以采取幾個步驟來緩解一些頭痛。
在當今的關鍵軍事、商業航空電子設備和其他系統中,有數億行遺留代碼在使用。這些遺留系統中的大多數都是使用現已過時(或過時)的編程語言和過時且不再可用的開發系統開發的。因此,這些遺留系統的維護和升級變得越來越困難和昂貴,迫使開發人員將其應用程序遷移到新的開發主機、編譯器、操作系統甚至編程語言。
當確實需要升級系統時,請避免此時對應用程序的其他方面進行現代化改造的誘惑,例如將應用程序轉換為新的編程語言。遷移到“最新和最偉大的”可能很誘人,但通常更明智的做法是放慢速度,僅在真正需要和經濟上合理時才遷移。理想情況下,應使用原始開發系統和語言或混合語言配置中同一開發系統支持的另一種語言添加新功能。
遷移復雜的嵌入式軟件 - 特別是在需要實時響應和高度安全關鍵性的應用中 - 可能是一個昂貴、耗時且有風險的過程,需要更改代碼、重新測試甚至重新認證。有許多因素使遺留應用程序難以移植,包括編程語言的細微差別、編譯器實現、運行時和硬件依賴關系、使用超出定義的編程語言的擴展以及不兼容的應用程序代碼結構。遷移應用程序還可能會影響先前的認證工作(例如,DO-178)。
盡管如此,保留經過充分驗證的應用程序并使它們能夠在不同的處理器、開發環境、編譯器甚至更新的編程語言上運行仍然至關重要。任務和安全關鍵型軟件的成本可能遠遠超過 10 美元/行和數年的創建成本(對于帶有工件的安全關鍵型軟件,每行超過 100 美元)。相比之下,傳統軟件通常可以以每行幾美元的價格遷移,并在一年內重新部署。
在考慮是否遷移舊版應用程序時,必須考慮許多因素。其中包括嵌入式應用程序的性能、資源約束(如內存和電源)、時序約束、數據布局(必須與底層硬件匹配)、新功能的可擴展性以及更改目標字長的后果(例如,從 8 位到 16 位、16 位到 32 位)。其他因素包括可讀性和可維護性、更改的可追溯性、認證或重新認證要求,以及將 RTOS 引入裸板環境的潛在副作用。
遷移舊版應用程序的復雜性使得適當的規劃至關重要。例如,在開始遷移項目之前,DDC-I 會執行遷移評估研究,以確定技術挑戰并解決未知問題。有了這些信息,DDC-I 的專業服務團隊可以就如何最好地進行遷移工作提出建議和技術解決方案,包括人力需求和成本估算。
更改編程語言
在所有遷移工作中最具挑戰性的是將用傳統語言(如 Ada 或 Jovial)編寫的代碼遷移到新語言(如 C 或實時 Java)上。無論是為了便于維護還是為了利用高級新語言功能,最好使用支持舊語言和新目標語言的開發環境,并能夠混合語言。這將允許您緩慢遷移并逐步進行測試。開發人員可能還希望利用可加快轉換過程的工具和服務。
例如,DDC-I提供了半自動化工具,以可預測和直接的方式轉換應用程序,同時保留原始應用程序結構和源代碼注釋。這使得轉換后的代碼可讀且可維護,最大限度地降低引入軟件錯誤的風險,并消除對軟件轉換工具的任何進一步依賴。使用新語言后,可以使用更新的語言優化工具對應用程序進行優化,使用新功能進行增強,或轉換為模型語言(例如 UML)。
即使借助這些工具,轉換應用程序也很少是微不足道的,尤其是在需要任務或安全關鍵性時。盡管如此,考慮到與開發新應用程序相關的過高成本和時間,遷移現有應用程序通常是最佳選擇。借助適當的規劃、轉換工具和在該領域具有特定專業知識的專業服務公司,開發人員可以大大加快轉換過程,同時降低風險。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19896瀏覽量
235277 -
嵌入式
+關注
關注
5152文章
19675瀏覽量
317629
發布評論請先 登錄
評論