工業物聯網(IIoT)的興起正在將嵌入式軟件開發推向更大的復雜性——這一變革具有廣泛的影響,影響著軟件開發過程的每個階段。
嚴格的新網絡安全要求、日益復雜的設備生態系統、芯片架構的創新、新興的連接技術以及人工智能和機器學習技術的集成正在徹底重塑嵌入式軟件開發。
具體到嵌入式系統,典型的設備有數百個軟件組件,通常具有相互關聯的依賴性,這一網絡安全要求將從根本上改變產品的開發方式。傳統上,最佳實踐是用最新的組件集開始項目,并隨著項目的進展構建和強化項目。但是根據這一要求,制造商現在必須對軟件供應鏈管理采取更加主動的方法,例如在部署后提供持續的監控和更新。
影響嵌入式系統的其他趨勢
除了網絡安全,還有許多趨勢影響著嵌入式系統的開發——例如,設備的共存和互操作性。IIoT的大部分價值來自于創造一個環境,在這個環境中,設備、傳感器、應用程序、計算機系統和網絡設備協同工作,以支持工業運營。廣泛的設備類型和特定設備產生了一個非常復雜的生態系統,管理這種復雜性的責任將在很大程度上落在運行在各種系統組件上的軟件身上,這些軟件最好構建在穩定的行業標準之上。
看似無窮無盡的連接技術也增加了嵌入式系統的復雜性。有如此多的技術被設計來連接設備以創建工作系統,很可能最終會建立新的行業標準,以減少運動部件的數量。在那一天到來之前,開發人員可以通過谷歌的IoT Matter標準等舉措來管理復雜性,讓你的設備使用單一協議與任何生態系統合作。
另一個重要趨勢是新芯片架構的出現。過去,隨著微處理器發展得更快、更小、更高效,處理能力也在不斷提升,基本的芯片架構仍然是靜態的。但最近,隨著芯片制造商努力適應機器學習(ML)應用的計算要求,芯片架構正在發生變化。AI/ML技術越來越受歡迎,已經出現在各種嵌入式應用中,從汽車車載信息娛樂和預測性維護系統到醫療診斷。隨著更強大的芯片的出現,這一趨勢無疑將獲得動力。
在這種環境下,面向服務的架構越來越突出是有意義的。IIoT的價值是通過協調具有不同用途、不同位置和不同用戶的設備來創造的,因此它們共同構成了滿足系統要求的最佳方式。面向服務的架構通過關注設備之間發送的消息來幫助管理IIoT系統的復雜性。Google的Protobuf等工具需要清晰、一致的模式和良好的編程實踐。反過來,它們提供了高效的網絡通信、向后和向前兼容性以及跨語言支持。
移動和云應用中常見的容器化和微服務也被提出來作為通過簡化嵌入式軟件開發、部署和維護來管理復雜性的方法。例如,如果所有平臺都支持容器運行時,容器化的應用程序可以在PC、服務器或嵌入式目標上運行。微服務通常與容器結合使用,通過將應用程序定義為自治的、松散耦合的服務集合,這些服務協同工作以滿足系統需求,可以降低開發和部署的復雜性。
然而,重要的是要注意,在系統的一部分使用容器的好處應該與容器之間通信的額外復雜性一起考慮——特別是在兩個容器需要與單個設備通信的情況下。這個問題在用戶界面開發中很普遍,在用戶界面開發中,多個應用程序需要共享屏幕。為了應對這一挑戰,越來越多的人開始采用GUI即服務的方法,將GUI分離到自己的容器中。
嵌入式系統變得越來越復雜,這反過來也使得系統開發變得更加復雜。越來越多的技術被使用,需要更多——更專業的——嵌入式開發人員來創建這些系統。對于設備制造商來說,這些變化為產品開發帶來了新的機遇,但反過來也帶來了難以承受的額外責任。除了最大的公司之外,其他公司可能很難在內部集合所有必要的技能來開發新的嵌入式產品。對于沒有龐大的設計、開發、網絡安全、質量保證和監管團隊的制造商來說,合作伙伴協作將成為填補空白的常態。