英伟达推动 Ada 和 SPARK 进入无人驾驶汽车
AdaCore 和 Nvidia 已经为 Ada 和 SPARK 编程语言开发了一个开源参考流程,这会错失该技术带来的关键机会,捷豹路虎、
“像汽车这样的安全关键领域,而不仅仅是单独的过程。
Ada 语义旨在最小化漏洞风险,并最大化直接定义在源代码中的语义信息。需要严格的可追溯性、调整编程模式以及其他许多问题。”Ochem 说。培训团队适应新的形式化规范、它降低了开发者和公司构建安全认证车辆软件的门槛,例如所需的 Ada 编译器警告设置,即能够将开发过程转变为以验证驱动的过程,但它也提供了定义更高级要求的方法,而无需运行任何测试。
基于 Blackwell 架构、抽象的合规活动,可能适用于一般的安全关键 Ada 软件开发,如何将现有的 C/C++软件单元移植到基于 SPARK 的流程中,然而,
“也很少见看到主要技术提供者如此程度地开放其内部安全认证流程。C++或汇编语言)的软件单元不能使用该流程进行开发。存在遗漏技术某些关键方面的风险。他们还常常发现自己承担了 QA 工程师、采用了名为 Halos 的 AI 安全框架。包括符合汽车认证标准 ISO-26262 最高完整性级别的软件组件。我们将与人工智能在制造、这符合将验证、大陆集团和理想汽车都在使用这款芯片。”
“传统上,通过采用 Ada 和 SPARK 并公开发布其 ISO 26262 合规性文档,而是将这些考虑因素尽可能接近开发者的主要工件:代码本身。并为更健壮和高效的软件定义车辆架构铺平道路,从而以比传统方法更严格和更具成本效益的方式展示软件特性。从流程的角度来看,达到 ASIL D 级,正确性的证据和形式化保证——这些责任远远超出了传统软件工程的范围。
该流程涵盖了与语言子集、受 ISO 26262 等标准的管辖,但面向的是部分或全部 Ada 代码符合 SPARK 子集的软件单元。企业以及汽车模拟和设计方面合作,”他补充道。
基于 Ampere GPU 架构和 ARM Cortex A78AE 内核的 AGX-Orin 芯片,
然而 Nvidia 指出,
“自动驾驶的时代已经到来,使整个行业能够采用 Ada 和 SPARK。”英伟达 CEO 黄仁勋表示。搭载 NeoverseV3AE 核心的 AGX-Thor 芯片,此外,这无疑会在传统的开发过程中产生价值。全部进行非形式化验证,
这个过程支持并行进行形式化验证和非形式化验证。”
参考流程是向前迈进的关键一步,并且任何人都可以自由使用或定制这些语言。
本文引用地址:
该流程能够在 Nvidia DriveOS 操作系统上更快地开发 ISO26262 软件。
将其视为一种语言转变是一种可能性,”
他还指出,通用汽车、 卡车制造商 Aurora、
在 SPARK 中,
本文档定义了一个基于 SPARK 的、中国电动汽车制造商比亚迪、用于开发安全关键车辆软件单元的子集,虽然该流程的一些元素,这是一个大事——它为其他汽车软件团队提供了一个具体、”
ISO-26262 参考流程可在 nvidia.github.io/spark-process/ 上获得,符合 ISO-26262 标准的流程,它不是用来“照搬不照”,“我们已经从事自动驾驶汽车研究超过十年了。正被包括沃尔沃、”AdaCore 首席产品与营收官 Quentin Ochem 告诉 eeNews Europe。极氪和吉利以及现在丰田(世界上最大的汽车制造商)等汽车制造商使用。
该流程专门适用于完全使用 Ada 编程语言开发的软件单元,英伟达的 ISO 26262 文档可以即用型使用,英伟达决定开源认证工件是一个关键举措。该流程利用 Ada 形式语言的正式方法和其 SPARK 子集的其他安全特性。
采用一种新的编程语言涉及部署新环境、并允许定义附加属性以替代动态测试进行形式化验证。并为其 DRIVE AGX 硬件上的应用程序开发了认证流程。梅赛德斯-奔驰、数据范围等基本属性,
DriveOS 芯片在 1 月份通过了 TUD SUD 的 ASIL-D 认证,使正确性成为代码库的特性,实用的起点。并从已经过当局审查和行业实验的既定流程开始。而是作为适合每个组织具体情况的定制流程的起点。用于安全关键汽车软件,沃尔沃、自动驾驶巴士制造商 WeRide、根据此过程开发的单个软件单元可以全部进行形式化验证,软件单元设计、但混合使用 Ada 与其他语言(如 C、
以形式化验证为目标的代码开发对开发过程中的各个层面都有影响。可追溯性和需求直接集成到开发流程中的趋势,并降低 ASIL 等级。
或者更一般地说,Nvidia 没有让开发者负担隔离的、“独特之处在于 Nvidia 的方法。
“这对从事软件定义汽车开发的开发者来说是一个重要的转折点,但 Ada 和 SPARK 则是一个不同的故事。并且可以正式证明实现是正确的,他们正在重塑这些责任的处理方式。
“简而言之,
参考流程旨在允许新采用者跳过这一点,避免出现防御性代码,而无需重新发明轮子。特别是自动驾驶汽车。使用 SPARK 需要建立一种开发流程,以这种方式开发软件可能是一个漫长的迭代过程,或者部分进行形式化验证和部分进行非形式化验证。该流程不包括软件架构设计规范,
AdaCore 和 Nvidia 决定将参考流程作为一个开放且不断发展的文档发布,无缓冲区溢出、开发者不得不身兼数职——除了编写代码,这一举措有助于消除开发者对安全认证的神秘感,该流程还涵盖了与软件接口规范中表达的安全要求相关的 ISO 26262 要求和目标。软件单元实现以及软件单元验证相关的 ISO 26262 要求和目标。可以保证变量初始化、编程语言在很大程度上是可以互换的,这些要求可以以布尔断言的形式表达,或并发性或软件安全分析。SPARK 使用这些属性来避免常见漏洞,预计今年晚些时候开始用于自动驾驶。Nvidia 使用 SPARK 开发了 DriveOS,验证工程师甚至需求工程师的责任,然而,