重大转变:无需硬件即可创建汽车软件
接续上一期,《Semiconductor Engineering》与一众嘉宾就软件定义汽车的概念和目前生态系统所处的位置等论题进行了讨论,接下来他们将就SDV实现的方法等方面展开讨论。
SE:开发软件定义汽车(SDV)平台的最佳方法是什么?
Fritz:这需要许多公司共同的努力。当我们向汽车公司推广SDV时,第一个难题就是他们需要改变整个内部的IT基础设施。如果我们运行的是虚拟平台——或者还涉及一些仿真,或者无论解决方案是什么——它都与他们之前的工作方式大相径庭,他们的工作方式是硬件存在于HIL(硬件在环)设备中。他们会在前期进行一些建模,然后就会遇到集成风暴。现在我们谈论的是持续集成、持续开发、持续验证、DevOps——所有这些类型的变化都支持敏捷开发。
对于许多汽车公司来说,敏捷开发仍然是一个陌生的概念。在硬件和软件同时进行的敏捷开发中,这是打破“22条军规”的唯一方法,即在没有硬件的情况下编写软件。如果我的硬件依赖于软件,正如SDV所暗示的那样,我如何在没有软件的情况下构建硬件?SDV的真正目的是打破这一现状,并提供工具和IT基础设施来解决这一问题。
Serughetti:SDV的很大一部分是基础设施。我们都在致力于基础设施建设。这是我们所知道的。但也有一部分是理论性的,那就是OEM的思维方式。OEM的高层中仍有许多人是机械导向的。他们不了解整个软件和电子图像是如何结合在一起的。他们必须改变思维方式。即使在今天,当我们谈论虚拟平台时,仍然有人持有硬件思维,即“这是我的硬件。虚拟原型必须完全一样。”不,你也必须从软件角度来考虑。当我们谈论流程、方法、人员、组织方面时,这些都需要在公司内部进行改变。技术是会发展的。我们这里有很多技术非常深厚的公司。我们知道如何将新技术整合在一起。另一部分是OEM必须做的事情。他们必须改变,但这很难,因为这些都是大公司,而且他们的业务正在发展。每个人都会想到柯达的例子。谁会是幸存者?幸存者将是那些能够适应这些变化的人。
Delgado:我最近参加了SAE世界大会的几个小组讨论,谈到了我们现在所处的位置以及未来需要做些什么,我感到非常有趣。领导层就OEM如何在这种新环境中生存和竞争的问题进行陈述。大家一致认为,这很难,而且对这个问题进行了大量观察。如果你想想亚马逊、Netflix和谷歌,它们都开始在软件定义架构上提供价值,然后再在此基础上创造额外的价值。汽车行业也几乎到了这个地步。我们谈论的是基础设施。但OEM无法100%拥有软件。这是一项难以完成的任务。归根结底,你必须允许生态系统提供差异化的技能组合和专业领域。
那么什么是软件定义的汽车?它是一个需要基础设施、文化和不同流程的平台。高性能计算行业已经经历了基础设施转型,即对互操作方式进行了分层的重新定义。正确的软件定义意味着开放的架构和开放的API,让不同的生态系统参与者能够在正确的位置真正提供价值。这可以实现规模化、面向未来,然后是计算中的最终元素,以实现性能。这对于将敏捷软件功能解耦以最终有效地部署到硬件资产(即基础设施)是必要的。相应地,它需要一个虚拟化的基础设施,该基础设施必须深入到芯片层面。此外,它还需要能够在整个行业中划分角色和职责。从历史上看,该行业以硬件方式实现这一点,存在许多孤岛,但现在我们必须将其分解为车辆的水平视角。这已经发生在电信世界、网络世界和数据中心世界。即使在这些行业中,也没有其他方法可以实现软件定义的价值,并让OEM专注于这种差异化。这里需要的是这些层次,以及已经推向市场的技术堆栈的新视角。
Clocher:我们都在与OEM进行交流,他们生产的产品在德国高速公路上时速可达250公里。他们始终会认真对待的一个基本原则就是安全性和保障性。因此,只要生态系统能够以适当的安全和保障水平将其提升到下一个层次,我们在其他市场上所看到的一切都是有效的。我们谈论的平台和系统将从质量管理(QM)到ASIL-D。我们都知道如何拼写ADAS,这是一项伟大的技术。
但最终,在高性能计算和其他各种市场已经取得的所有成就之上,这里的复杂性在于如何在嵌入式系统中为汽车提供适当的安全和保障水平。我们谈论的是嵌入式系统——基础设施、云,以及实现它所必须部署的所有东西。但最终,汽车是一个嵌入式系统,我们需要以结合嵌入式系统、低功耗、安全性和保障性的复杂性来实现这一点。这才是真正的挑战。这是一项令人兴奋的任务,我们必须始终牢记这一点。
Gajendra:从根本上来讲,这关乎开放标准——不是使用专有堆栈,而是在低端实现更多标准化。然后,是的,OEM将引入应用程序和其他内容。这就是我们一直在努力做的事情,与这里的许多人和SOAFEE社区中的其他人。我们认为,要让真正的软件定义汽车生态系统蓬勃发展,就需要对堆栈的非差异化层进行标准化。我指的是非差异化层,生态系统和合作伙伴可以对其进行区分,但我们不必在不需要的地方进行区分。
从安全和保障的角度来看,当Arm与OEM就系统软件的一些基础层进行一些对话时,有针对Arm架构的标准可以遵循和启用,以便所有基于Arm的系统都能以标准方式统一实现简单的Linux启动。这就是我们与这里的所有合作伙伴,尤其是Arm生态系统中合作伙伴共同推动的事情。我们推动功率、性能和面积差异化等方面的发展,特别是在AI工作负载方面,因此让我们相互竞争并实现这一点。但让我们尝试标准化一些较低级别的部分,因为当你考虑混合关键性时,这会变得更加困难。
Serughetti:混合临界性将成为一个关键点。
Gajendra:是的。例如,三四个月前,我手机上的BMW应用程序收到一条通知,说“RingGo停车应用程序已上线您的BMW控制台。您可以下载它,这样就不必使用手机了。”您可以使用停车应用程序支付停车费。无论您的车辆在哪里,它都会检测到您的位置,它会知道该特定位置的停车代码,您只需按Enter键并输入您想要停车的分钟数即可。但别太激动了。已经四个月了,我还没有使用它。我对RingGo或宝马没有意见。这只是复杂性的一个例子。
同样,停车应用程序必须仅在汽车静止时启用和打开。当汽车行驶时,当我在高速公路上驾驶具有基本自动驾驶功能和类似情况时,它不能启动并干扰任何其他安全关键应用程序。这很复杂,混合关键性并不容易。因此,我们作为社区推动的标准基础至关重要,在过去四年中,我们作为SOAFEE计划的一部分一直致力于此。然后,解决其中一些混合关键性问题非常重要。如果我们开始区分整个堆栈并为此而疯狂,那么当这些更大的问题出现时,OEM甚至将无法接近。