雙重困境:嵌入式開發(fā)的“效率堰塞湖”和“新型工業(yè)化開發(fā)挑戰(zhàn)”
在軟件開發(fā)工具演進歷程中,Eclipse等傳統(tǒng)開發(fā)工具曾占據(jù)重要地位,但由于其復(fù)雜插件及依賴鏈等弊端,導(dǎo)致啟動慢、占資源、大文件處理耗時長、UI交互繁瑣等困難不斷暴露。在應(yīng)對新場景時存在適配短板,如難滿足敏捷開發(fā)、跨平臺部署等需求,同時面對不同項目配置需求,易出兼容性問題。
當(dāng)下,工業(yè)敏捷化開發(fā)浪潮推動著操作系統(tǒng)需要與云原生、容器化等能力相結(jié)合。云原生使開發(fā)環(huán)境向云端化轉(zhuǎn)型,要求IDE敏捷部署;為保證工業(yè)控制的極高軟件質(zhì)量,引入測試前移,運用CI/CD流水線與容器技術(shù)融合,全鏈路與開發(fā)工具無縫銜接;同時,嵌入式開發(fā)者需要隨時前往開發(fā)現(xiàn)場,統(tǒng)一組織內(nèi)開發(fā)環(huán)境需要統(tǒng)一工具鏈等組件,常規(guī)基于本地IDE的開發(fā)形式統(tǒng)一化繁瑣易出錯,依賴高性能PC使得使用不便,需要更輕便靈活的開發(fā)能力。
鴻道Intewell Developer
三大核心特性:重塑開發(fā)體驗
光亞鴻道推出全新鴻道Intewell Developer,為適應(yīng)新時代開發(fā)模式下的機遇與挑戰(zhàn),使復(fù)雜系統(tǒng)開發(fā)如搭積木般高效。
云-邊-端架構(gòu),開啟高效開發(fā)新體驗
傳統(tǒng)本地開發(fā)環(huán)境效率低,需為不同操作系統(tǒng)配置環(huán)境、適配多開發(fā)機,耗費人力物力。環(huán)境不一致易致問題復(fù)現(xiàn)難,團隊協(xié)作效率低下,且無法滿足特殊環(huán)境如偏遠(yuǎn)地區(qū)的實時調(diào)試部署需求。
鴻道Intewell Developer的"云-邊-端協(xié)同"架構(gòu)有效解決了傳統(tǒng)開發(fā)模式的環(huán)境適配難題。本地開發(fā)套件支持VSCode插件部署及客戶需求的單個exe打包版本,安裝簡單、開箱即用,用戶可在任意支持VSCode的平臺上完成系統(tǒng)開發(fā)任務(wù)。同時,云端開發(fā)平臺內(nèi)置全系列編譯工具鏈、SDK資源及調(diào)試組件,開發(fā)者通過瀏覽器即可訪問完整開發(fā)環(huán)境,減少環(huán)境搭建耗時,降低環(huán)境不統(tǒng)一的開發(fā)問題出現(xiàn)率。本地和云端相互協(xié)同,系統(tǒng)通過雙向同步機制實現(xiàn)本地與云端代碼實時互通,本地代碼會自動同步至云端倉庫,云端調(diào)試問題及配置調(diào)整也會實時反饋到本地環(huán)境。
圖1鴻道Intewell Developer本地-云端同步開發(fā)能力
開發(fā)人員可根據(jù)場景靈活選擇開發(fā)模式,需要高性能計算時使用本地環(huán)境進行復(fù)雜代碼編譯,外出時通過瀏覽器訪問云端環(huán)境繼續(xù)開發(fā);對于遠(yuǎn)程服務(wù)器集群、危險環(huán)境設(shè)備等特殊場景時,可先在云端完成代碼調(diào)試,再通過設(shè)備云平臺一鍵部署到實體設(shè)備,省去本地中轉(zhuǎn)環(huán)節(jié),真正實現(xiàn)開發(fā)與部署流程的無縫銜接。
重構(gòu)嵌入式開發(fā)流程,實現(xiàn)分鐘級閉環(huán)交付
嵌入式軟件開發(fā)中,傳統(tǒng)瀑布式流程弊端明顯:需先適配硬件,再經(jīng)多團隊協(xié)作完成測試,一旦環(huán)節(jié)出錯,整改需多團隊協(xié)同,存在流程復(fù)雜、跨團隊溝通成本高、開發(fā)周期長等問題。此外,單體化系統(tǒng)軟硬件及模塊耦合度高,需求變更易引發(fā)整體架構(gòu)調(diào)整,導(dǎo)致交付風(fēng)險大、迭代困難。VSCode等新一代編輯工具雖具備DevOps適配、秒級啟動及AI輔助等優(yōu)勢,但核心功能仍聚焦代碼編輯。在嵌入式開發(fā)中,其對項目管理、參數(shù)鏈接等流程管理的支持不足。因此,如何充分發(fā)揮新一代編輯工具在代碼編輯上的優(yōu)勢,同時規(guī)避其在流程管理方面的短板,成為利用它們提升嵌入式開發(fā)效率的關(guān)鍵。
鴻道Intewell Developer保留VSCode原生體驗,通過插件化架構(gòu)集成項目管理、項目化配置、依賴包解析、多架構(gòu)編譯等功能,以盡量項目化的方式簡化管理流程,兼容VSCode插件,可使用GitHubCopilot等AI助手,提供代碼智能補全、語義搜索、測試用例生成等功能,大大提升編碼效率。平臺同時支持實時系統(tǒng)、非實時系統(tǒng)與容器化應(yīng)用的開發(fā),雙模式編譯工具鏈自動識別項目類型,實時系統(tǒng)開發(fā)時校驗時間確定性,非實時服務(wù)開發(fā)時自動生成容器化部署文件,適配混合架構(gòu)項目,消除多工具切換的環(huán)境割裂問題。
圖2鴻道Intewell Developer開發(fā)全流程
為了滿足無實體設(shè)備時的功能驗證,鴻道Intewell Developer集成硬件仿真環(huán)境,同時,可結(jié)合CI/CD工作流,代碼提交后進入仿真測試,實時反饋測試報告,將問題定位前移至每個模塊集成前,提前、精準(zhǔn)發(fā)現(xiàn)問題,降低跨團隊協(xié)作成本。此外,鴻道Intewell Developer內(nèi)置容器化開發(fā)引擎,生成OCI標(biāo)準(zhǔn)鏡像并支持對接容器管理平臺,可視化配置資源策略,自動生成部署文件;支持OTA升級鏡像,通過設(shè)備云平臺一鍵部署至邊緣節(jié)點,將跨環(huán)境適配周期從"天級"壓縮至"分鐘級",實現(xiàn)從開發(fā)到部署全流程閉環(huán)。
工具矩陣全維賦能嵌入式開發(fā)
鴻道Intewell Developer輔助工具集構(gòu)建了立體化的工具矩陣,結(jié)合精準(zhǔn)調(diào)試與云端預(yù)覽,覆蓋代碼編寫、調(diào)試優(yōu)化及設(shè)備選型全流程,提供一站式解決方案。其中,負(fù)載分析工具實時監(jiān)控CPU、內(nèi)存等資源占用,以可視化圖表精準(zhǔn)定位高負(fù)載進程,幫助開發(fā)者快速識別系統(tǒng)性能瓶頸;余度調(diào)試工具為軌交、飛控行業(yè)等多余度系統(tǒng)提供統(tǒng)一的應(yīng)用調(diào)試機制,確保調(diào)試中斷不影響狀態(tài)同步;Trace工具可將操作系統(tǒng)事件轉(zhuǎn)化為直方圖與事件表,清晰呈現(xiàn)工業(yè)控制等場景的系統(tǒng)運行軌跡,解決傳統(tǒng)調(diào)試中"觀測即干擾"的難題;Coredump工具在系統(tǒng)崩潰時即時捕獲寄存器狀態(tài)、堆棧信息等硬件數(shù)據(jù),精準(zhǔn)復(fù)現(xiàn)異?,F(xiàn)場,縮短故障定位時間。
圖3多場景工具集合
鴻道設(shè)備云展廳作為遠(yuǎn)程交互樞紐,將嵌入式開發(fā)物理邊界轉(zhuǎn)化為云端數(shù)字空間,集成設(shè)備預(yù)覽與方案展示雙平臺:設(shè)備預(yù)覽平臺實時映射設(shè)備交互界面,支持用戶在線觀測運行狀態(tài)、評估配置指標(biāo),縮短硬件調(diào)試周期。方案展示平臺支持云端接入用戶的解決方案,實時演示設(shè)備運行細(xì)節(jié),通過“零接觸式”模式減少設(shè)備占用與差旅成本,高效協(xié)同開發(fā)和成果展示。
基于鴻道Intewell Developer的安全關(guān)鍵軟件方案
當(dāng)前安全關(guān)鍵系統(tǒng)正在向服務(wù)化、模塊化過渡,應(yīng)用由單體化向微服務(wù)化轉(zhuǎn)變,在應(yīng)用開發(fā)全流程中,既需保障系統(tǒng)安全,又要確保設(shè)備數(shù)據(jù)實時更新,使用傳統(tǒng)嵌入式開發(fā)方式周期冗長,且需在開發(fā)、測試、發(fā)布團隊等多個團隊間頻繁交接工作,增加跨部門交流成本。因此,需改進傳統(tǒng)軟件的設(shè)計開發(fā)流程,同時引入容器平臺編排服務(wù),借持續(xù)集成、自動測試等,縮短開發(fā)-測試-部署迭代周期。
圖4安全關(guān)鍵軟件開發(fā)架構(gòu)圖
系統(tǒng)架構(gòu)
云端開發(fā)環(huán)境:
提供鴻道Intewell Developer開發(fā)工具、余度調(diào)試工具,并支持連接CI/CD流
支持運行仿真環(huán)境,模擬真實飛行場景
支持云端發(fā)布、部署至生產(chǎn)環(huán)境
測試硬件平臺:
搭載鴻道Intewell操作系統(tǒng),用于運行高實時性控制應(yīng)用??蛇M行擴展,運行飛控、列車控制軟件等安全關(guān)鍵多余度業(yè)務(wù)邏輯軟件,或使用Terra系統(tǒng)運行圖形化控制界面,端側(cè)AI等。
與云端運行仿真環(huán)境形成控制閉環(huán)——目標(biāo)硬件平臺搭載的應(yīng)用生成運行控制指令,并與仿真場景中的模型交互,仿真場景據(jù)此生成運行狀態(tài)并回傳給目標(biāo)硬件平臺,用于控制指令生成。
PC:任意計算機,支持通過瀏覽器遠(yuǎn)端開發(fā),也支持使用本地IDE開發(fā)
敏捷開發(fā)流程
Step1:無需另外配置PC機開發(fā)環(huán)境
應(yīng)用開發(fā)之前,由系統(tǒng)配置人員準(zhǔn)備云平臺、余度計算機等開發(fā)環(huán)境與設(shè)備,設(shè)置云端服務(wù)、實體設(shè)備、仿真環(huán)境、生產(chǎn)部署環(huán)境等不同模塊間的交互流程,并部署好CI/CD開發(fā)工作流,由測試人員準(zhǔn)備集成測試用例,以工作流測試節(jié)點的方式接入開發(fā)流程。此后,開發(fā)人員可在PC機上通過瀏覽器進入遠(yuǎn)程開發(fā)環(huán)境,啟動云端Intewell Developer并接入CI/CD平臺與仿真平臺,連接搭載鴻道Intewell操作系統(tǒng)的物理設(shè)備。
Step2:使用集成開發(fā)環(huán)境鴻道Intewell IDE,完成應(yīng)用代碼高效開發(fā)
鴻道Intewell IDE內(nèi)置了容器化應(yīng)用代碼模板,用戶可參考使用,并利用附帶的AI輔助編程,加速代碼編寫,使用Trace工具、多余度調(diào)試工具等工具集,定位解決開發(fā)中的性能優(yōu)化問題。
Step3:通過CI/CD工作流,完成仿真環(huán)境調(diào)試
代碼編寫與自測完成后,開發(fā)人員可將代碼推送到CI/CD工作流,由工作流自動將應(yīng)用代碼制作成容器鏡像,繼續(xù)執(zhí)行集成、測試等工作,同時,可使用鴻道Intewell仿真平臺模擬指定型號硬件,完成應(yīng)用的部署運行。
Step4:容器化推送,自動化批量部署
待完成測試、達到發(fā)布標(biāo)準(zhǔn)后,開發(fā)人員可通過鴻道Intewell容器管理平臺,將服務(wù)按已設(shè)定的發(fā)布方式,將應(yīng)用代碼推送到需更新的硬件平臺上,由符合條件的設(shè)備自行拉取更新,輕松實現(xiàn)安全。
方案亮點及價值
開發(fā)/調(diào)試/測試均可在云端完成,僅最終測試與部署階段要求物理設(shè)備介入
使用工作流集成不同團隊的工作內(nèi)容,管理跨團隊交接,降低跨團隊交流成本
深度集成IDE、CI/CD、仿真平臺、生產(chǎn)部署環(huán)境,形成自動化流水線
仿真平臺模擬硬件環(huán)境,降低調(diào)試對實體設(shè)備的依賴
從代碼模板到鏡像構(gòu)建再到批量部署,容器技術(shù)實現(xiàn)環(huán)境一致性
AI輔助編程加速開發(fā),自動化流程減少人工干預(yù)
該方案可應(yīng)用于多種運用多余度技術(shù)的安全關(guān)鍵的自動化控制系統(tǒng),如軌道交通、航空飛控、智能電力系統(tǒng)等。通過國產(chǎn)化技術(shù)賦能,實現(xiàn)從開發(fā)到驗證的全流程管控,為行業(yè)客戶提供高效、可靠、安全的軟件解決方案。
開啟“軟件定義”新時代
鴻道Intewell Developer以云端架構(gòu)與云原生技術(shù)破局傳統(tǒng)開發(fā)效率困境,依托“云-邊-端協(xié)同”貫通開發(fā)到部署全流程閉環(huán),全鏈路開發(fā)能力重塑開發(fā)體驗,以國產(chǎn)化路徑賦能行業(yè)
未來,鴻道Intewell Developer將持續(xù)演進,支持光亞鴻道AI機器人操作系統(tǒng)開發(fā)MaVIEW Robo,鴻道應(yīng)用市場等更多工具,為鴻道系統(tǒng)的進一步演化筑牢堅實的開發(fā)基礎(chǔ)。