新聞中心

        EEPW首頁 > 嵌入式系統 > 業界動態 > Rust慶祝成立10周年

        Rust慶祝成立10周年

        作者: 時間:2025-05-16 來源: 收藏

        慶祝成立 10周年之際,Nick Flaherty 與 Adacore 的 Tony Aiello 和 Stephen Hedrick 討論了嵌入式和任務關鍵型系統語言的演變

        本文引用地址:http://www.104case.com/article/202505/470552.htm

        避免了 C 和 C++ 出現的內存問題,確保可以為安全關鍵型應用程序開發代碼。但有幾種看法阻礙了它,即沒有足夠的具有該語言經驗的熟練工程師,而且工具還沒有準備好。

        語言和 Ada 形式語言的發展之間存在相似之處。Adacore 為安全關鍵系統開發工具,并于 2023 年推出了適用于 Rust 的 Gnat Pro 工具版本。

        “我們的觀點與廣泛的主流觀點不同。我們的重點是為高完整性應用開發工具,通常是在嵌入式領域,包括航空航天和國防、一些新太空、汽車、醫療,“Adacore 產品和創新主管兼負責推出 Rust 工具的產品經理 Aeillo 說。

        “我們看到的是 Rust 的勢頭。對 Rust 的興趣主要是由普通工程師推動的,他們希望找到一種前衛的方法,將其用于業余項目,并在他們的團隊中鼓動 Rust 被采用。

        “如果經理們猶豫不決,那不是工程師的問題,因為這還沒有在我們的領域得到證實,而且對生態系統的完整性、安全標準的資格存在疑問,這些都是需要解決的問題,”他說

        “這仍然是一門年輕的語言,很多東西會隨著時間的推移而成熟。事實上,仍然存在著嗡嗡聲,而且這種嗡嗡聲正在增加并開始滲透到工業中,重要的是要注意,任何主流語言都有這些障礙需要克服,“現任 Rust 產品經理 Hedrick 說

        反對使用 Rust 的一個問題是,開發人員可以正確地將 C 語言用于安全關鍵代碼。

        “我不相信正確地做 C。我認為 C 語言不適合用于安全關鍵應用程序句號,“Aiello 說。“Nvidia 選擇了 Spark,并使用了完整的形式化方法來進行安全關鍵型開發,并且有一個案例研究。如果你要編寫新代碼,你不應該使用 C。

        “當我們第一次開始談論 Rust 產品時,我們很驚訝地發現并沒有我們預期的興趣激增。有很多對話,客戶想了解 Rust,“Aiello 說。“快進到今天,我們還有更多潛在客戶似乎非常接近認真對待 Rust,但人們在不想成為第一時猶豫不決。根據我們從安全關鍵聯盟聽到的情況,我持謹慎樂觀的態度。

        “有些事情看起來與 Ada 相似。它是一種類型安全的語言,這會減慢人們的速度,所以它有點相似,但我覺得差異多于相似之處。

        其中一個因素是美國國防部于 1987 年發布的 Ada 授權,旨在標準化軟件開發 DoD 并解決不同編程語言和方言的激增問題。

        “授權出來時,Ada 還不到 10 歲,感覺編譯人員還沒有準備好,”Aiello 說。“Rust 的編譯器已經準備好了,所以 Rust C 的速度和穩定性都相當快。發出的代碼是高效的,但可能最重要的區別是,雖然在工作中,Rust 工程師比 C 少,但 Rust 背后有一個巨大的社區。社區的力量很難被低估。

        Rust 生態系統

        但他確實承認生態系統中的差距,尤其是修改條件/決策覆蓋率 (MC/DC)。這是一個代碼覆蓋率標準,用于確保關鍵軟件系統的可靠性和健壯性,它超越了基本覆蓋率,以驗證決策中的每個條件是否獨立影響該決策的結果

        “存在空白,我們正在填補它們。我們有一個 Rust 的覆蓋工具,將在秋天推出。缺少 MC/DC 覆蓋,這是絕對必要的。另一個差距是安全關鍵標準中的銹蝕編碼標準。Rust 基金會正在構建一個編碼標準,一旦完成,工具就會隨之而來。與此同時,這是臨時的,但目前它是一個更微妙的解決方案。

        運行時庫的認證,例如用于安全關鍵標準(如汽車ISO26262和工業IEC61508)的標準庫,也是一個潛在的問題。

        “Ada 具有豐富的運行時,而 Rust 具有豐富的運行時,”Aiello 說。“你可以不用 libstd,但 libcore 被視為該語言的基礎。這是一個包含 36,000 行代碼的大型庫,它進入最終應用程序,需要經過認證。這將非常耗時且成本高昂,我們會與潛在客戶討論這個問題。然而,一旦完成了其中一些,它就會使整個社區處于更好的境地。

        “將來可能會有反對重新編譯庫的壓力。如果你想發布一個 Rust 庫,你必須發布開源的,這可能會有專有代碼的問題。這也不是該項目不知道的事情,“Aeillo 說。“關于何時以及如何解決專有代碼的 API 問題,正在討論。”

        安全關鍵聯盟包括 Rust Foundation、ARM、Ferrous Systems、OxidOS、Synopsys、HighTec EDV-Systeme、TrustInSoft、Veecle 和 Woven by Toyota,以支持該語言的使用,并通過現有的安全關鍵項目和標準(包括 SAE JA1020)擴展生態系統。

        “由于安全關鍵聯盟的積極工作,取得了很大進展,因此隨著事情的進展,人們會認為這是一個更可行的選擇,”Hedrick 說。“我們展示實際應用的行業采用案例越多,這就是我們要追求的目標。還有很多事情要做,而且有很大的潛力,這就是很棒的事情。

        Aiello 預計 Rust 的授權不會有同樣的壓力。

        “我不指望 Rust 會強制要求。我認為國防部對 ADA 的打擊如此嚴重,我認為他們不會再這樣做了。有力推動的地方是推動內存安全授權和推動像 CHERI 這樣的內存安全硬件,“他說。“即使在今天,我仍然聽說他們的客戶存在壓力,要求他們轉向內存安全。”

        AI 副駕駛還可以幫助使用 Rust 進行編碼。

        “我認為這是一個好主意,尤其是在學習它時,”Hedrick 說。“然后你可以隨心所欲地變得復雜。隨著潮水的上漲,隨著越來越多的業余愛好者和社區機器人項目在 Raspberry Pi 和其他平臺上出現,這些項目可以擴展到公司的研究。



        關鍵詞: Rust

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 吉林市| 开远市| 台北县| 临沂市| 乐陵市| 望都县| 太仓市| 三台县| 大理市| 探索| 芷江| 禄劝| 称多县| 博乐市| 勐海县| 昌吉市| 荣昌县| 兴国县| 大洼县| 讷河市| 巴彦淖尔市| 郸城县| 洪泽县| 贵南县| 临邑县| 正定县| 安化县| 黔西| 郧西县| 泽普县| 新沂市| 临洮县| 绥化市| 新乡市| 米易县| 鲁甸县| 砚山县| 西城区| 富锦市| 盐山县| 英超|