新聞中心

        EEPW首頁 > 汽車電子 > 業界動態 > Nvidia將Ada和SPARK引入無人駕駛汽車

        Nvidia將Ada和SPARK引入無人駕駛汽車

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

        Core 和 為安全關鍵型汽車軟件中的 和 SPARK 編程語言開發了開源參考流程,特別是對于無人駕駛汽車。

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

        該流程支持在 DriveOS作系統之上更快地開發 ISO26262 軟件。 使用 SPARK 開發了具有 7m 行代碼的 DriveOS,以及基于其 DRIVE AGX 的硬件上的應用程序的認證流程。

        AGX-Orin 芯片基于 Ampere GPU 架構和 ARM Cortex A78AE 內核,被沃爾沃、梅賽德斯-奔馳、捷豹路虎、通用汽車、極氪和吉利等汽車制造商以及全球最大的汽車制造商豐田使用。

        基于 Blackwell 架構、搭載 NeoverseV3AE 內核的 AGX-Thor 芯片預計將于今年晚些時候提供自動駕駛樣品。中國電動汽車制造商比亞迪、自動駕駛班車制造商文遠知行、沃爾沃、卡車制造商極光、大陸集團和理想汽車都在使用。

        DriveOS 于 1 月在 Orin 芯片上獲得了 TUD SUD 的 ASIL-D 認證,該芯片具有名為 Halos 的 AI 安全框架。

        “自動駕駛汽車的時代已經到來,我們將在制造、企業以及它們模擬和設計汽車和汽車的方式中與 AI 合作,”Nvidia 首席執行官黃仁勛表示。“十多年來,我們一直在研究自動駕駛汽車。”

        參考流程是向前邁出的關鍵一步,包括符合汽車認證標準 ISO-26262 最高完整性級別的軟件組件。使用 SPARK 需要建立一個開發流程,該流程利用 形式語言及其 SPARK 子集的形式化方法和其他安全特性。

        AdaCore 和 Nvidia 已決定將參考流程作為開源且不斷發展的文檔發布,從而允許整個行業采用 Ada 和 SPARK。

        “這標志著開發人員在軟件定義汽車上工作的一個重要轉折點,”AdaCore的首席產品和收入官Quentin Ochem告訴eeNews Europe。

        “這里的獨特之處在于 Nvidia 的方法。通過采用 Ada 和 SPARK 并公開發布其 ISO 26262 認證文件,他們正在重塑這些職責的處理方式。Nvidia 沒有讓開發人員承擔孤立、抽象的合規活動,而是將這些問題盡可能地接近開發人員的主要工件:代碼本身。這與將驗證、可追溯性和需求直接集成到開發流程中的增長趨勢相一致,使正確性成為代碼庫的一個屬性,而不僅僅是一個單獨的過程。

        “傳統上,開發人員不得不身兼數職——除了編寫代碼之外,他們經常發現自己承擔了 QA 工程師、驗證工程師甚至需求工程師的責任,”他補充道。

        “像汽車這樣的安全關鍵領域受 ISO 26262 等標準的約束,需要嚴格的可追溯性、正確性證據和正式保證——這些責任遠遠超出了傳統的軟件工程。”

        他還指出,Nvidia 決定開源認證工件是一項關鍵舉措。

        “很少看到主要技術提供商將其內部安全認證流程開放到這種程度。Nvidia 的 ISO 26262 文檔可以現成使用,這是一件大事,它為其他汽車軟件團隊提供了一個具體、實用的起點。它降低了開發人員和公司的需求門檻,這些公司的目標是構建安全、經過認證的車輛軟件,而無需重新發明輪子。

        ISO-26262 參考流程可在 nvidia.github.io/spark-process/ 上獲得,任何有興趣采用這些語言的人都可以自由使用或定制。

        ISO26262

        該文件定義了一個基于 Spark 的 ISO-26262 合規流程,用于開發符合 ASIL D 和更低 ASIL 的安全關鍵型車輛軟件單元子集。

        該過程僅適用于完全使用 Ada 編程語言開發的軟件單元,但面向部分或全部 Ada 代碼符合 SPARK 子集的軟件單元。雖然此過程的某些元素(例如所需的 Ada 編譯器警告設置)通常適用于安全關鍵型 Ada 軟件開發,但無法使用此流程開發將 Ada 與其他語言(例如 C、C++ 或匯編語言)混合的軟件單元。

        此過程涵蓋與語言子集、軟件單元設計、軟件單元實施和軟件單元驗證相關的 ISO 26262 要求和目標。此外,該流程還涵蓋了 ISO 26262 要求和與安全要求相關的目標,當它們以軟件接口規范表達時。

        此過程支持并排進行形式驗證和非形式驗證。根據此流程開發的單個軟件單元可以進行整體正式驗證、整體非正式驗證,或者部分正式驗證和部分非正式驗證。

        “簡而言之,此舉有助于為開發人員揭開安全認證的神秘面紗,并為更強大、更高效的軟件定義汽車架構鋪平道路,”Ochem 說。

        采用新的編程語言涉及部署新環境、培訓團隊以適應新的形式、調整編程模式以及許多其他問題。但是,從過程的角度來看,編程語言可以互換,但 Ada 和 SPARK 是另一回事。

        將其視為一種語言轉變是一種可能性,這肯定會在傳統的開發過程中產生價值。然而,這將錯過該技術帶來的關鍵機會,即將開發過程轉變為驗證驅動過程的能力,從而允許以比傳統方法更嚴格、更具成本效益的方式演示軟件屬性。

        Ada 語義旨在最大限度地降低漏洞風險,并最大限度地利用源代碼中直接定義的語義信息。SPARK 使用這些屬性來避免常見漏洞,并允許定義其他屬性以正式驗證以代替動態測試。

        在 SPARK 中,可以保證基本屬性,例如變量初始化、沒有緩沖區溢出、數據范圍,或者更普遍地說,否則最終會成為防御性代碼,但它也提供了定義更高級要求的方法,這些要求可以以布爾斷言的形式表示,并且無需運行測試即可正式證明實現是正確的。

        在開發代碼時考慮形式化驗證會在開發過程的各個級別產生影響。建立一種以這種方式開發軟件的方法可能是一個漫長的迭代路徑,并且可能會錯過技術的某些關鍵方面。

        參考流旨在允許新的采用者跳過此步驟,并啟動一個已經建立的流程,該流程已經過權威機構的審查并由行業進行試驗。它并不意味著“按原樣”使用,而是作為適合每個組織具體情況的定制流程的起點。

        然而,Nvidia 指出,該流程并未涵蓋軟件架構設計規范、如何將現有 C/C++ 軟件單元移植到這個基于 Spark 的進程,或者并發或軟件安全分析。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 汕头市| 华池县| 东丰县| 巢湖市| 牙克石市| 徐水县| 临桂县| 建水县| 河津市| 南川市| 芮城县| 永吉县| 宝山区| 方正县| 武川县| 红桥区| 曲周县| 广河县| 铜梁县| 西峡县| 福州市| 巴林左旗| 新闻| 常宁市| 平顶山市| 进贤县| 永济市| 东安县| 银川市| 怀远县| 维西| 郸城县| 海晏县| 凤台县| 和平县| 陆良县| 格尔木市| 乐至县| 读书| 汉沽区| 吴江市|