Arm 的 SOAFEE 将汽车带到云端,第一部分
扫描二维码
随时随地手机看文章
Arm 宣布了其 SOAFEE(嵌入式边缘的可扩展开放架构)软件框架项目。其他公司也参与其中,预计还会有更多公司加入。Arm 将 SOAFEE 定义为实时运行且具有安全意识的开放软件架构和参考软件实现。
该软件架构使云技术能够与汽车功能安全和实时要求相结合。SOAFEE 原型设计和早期开发正在进行中。
这是 Arm 的一个绝妙之举,而且很有可能成功。SOAFEE 利用了汽车软件开发的许多增长趋势,包括使用云平台以及相关技术和生态系统。SOAFEE 还可以从汽车对软件即服务 (SaaS) 不断增长的需求中受益。
下表总结了 Arm SOAFEE 项目。
SOAFEE解释
开源参考项目是用于云软件开发的软件框架,部署为嵌入式汽车代码。
SOAFEE 的目标是利用云原生开发的优势来解决汽车复杂性的挑战和限制,例如功能安全和实时控制。云原生包括许多技术、工作流程和设计策略,可以改进汽车软件的开发、部署和更新——从生产到车辆生命周期。
SOAFEE 还利用了两个较早的 Arm 计划——Project Cassini 和 Arm SystemReady。Project Cassini 是一项开放、协作、基于标准的计划,旨在跨 Arm 的边缘生态系统提供云原生软件。Project Cassini 利用各种基于 Arm 的平台为边缘应用程序创建安全基础。
SystemReady 是一个基于一组硬件和固件标准的合规认证计划。这些标准包括基本系统架构和基本启动要求规范以及特定于市场的补充。
一个特别兴趣小组已经启动,但到目前为止还没有可用的网站。已经支持 SOAFEE 的 20 家公司是 SIG 成员,预计还会有更多公司加入。
云原生
SOAFEE基于Arm平台开发汽车软件具有多重优势,加速汽车软件开发和部署的云原生技术。
跨基于 Arm 的硬件和软件平台的软件可移植性将会增加。由于更好的开发工具,软件质量也有望提高。代码数量也应该基于更快的开发时间和更低的成本而增长。
许多优势都基于 SOAFE 使用的技术,总结如下。软件容器是实现许多 SOAFEE 优势的关键技术。
云原生技术已成功用于云软件开发,是 SOAFEE 框架的核心。这些技术是软件容器、微服务架构、编排器和 DevOps。以下是 Arm白皮书的摘要,解释了其 SOAFEE 方法。
容器技术对于汽车软件来说可能是最重要的。与运输集装箱的类比是有用的:运输集装箱在运输过程中将内容物与其他货物隔离,保护内容物免受天气和盗窃。
软件容器包括应用程序代码、配置文件、库和运行应用程序所需的依赖项。可以将容器视为可以移植到其他系统的虚拟化应用程序。但是,容器与特定的操作系统及其硬件和软件功能相关联。
软件容器在云部署和数据中心中运行良好。SOAFEE 使用与部署在汽车 ECU 中的相同技术进行云开发。
顾名思义,微服务是一种面向服务的架构方法,其中应用程序构建为小型独立服务单元的集合。软件工程方法侧重于将应用程序划分为具有良好定义接口的单功能模块。在云原生部署中,微服务封装在容器中。这使微服务能够在定义的容器运行时环境中执行,并且可以由编排器管理和监控部署。
微服务被定义为松耦合,因为对一项服务的更改不应影响另一项服务的性能。这意味着微服务可以独立于系统的其余部分进行测试。该结构允许在对完全组合的系统进行集成测试之前对复杂的系统进行划分,以测试单个服务。
编排器是云原生生态系统的重要组成部分,负责管理基于微服务的应用程序的配置、部署和监控。编排器使用多个标准接口:
· 编排器和容器运行时之间的容器运行时接口;
· 容器网络接口,用于配置和控制网络、防火墙和其他组件的标准;
· 容器存储接口,用于暴露容器实例可用的存储;和
· 启用对容器内系统资源的托管访问的设备插件。
编排器使用这些接口通过启用微服务之间的通信和访问正确操作所需的数据来管理复杂的应用程序部署。
有几个编排器选项,Kubernetes 成为默认的行业标准。Kubernetes 也称为 K8s,是一种开源编排器,用于自动部署、扩展和管理容器化应用程序。轻量级 Kubernetes 或 K3 占用空间更小,更适合嵌入式和资源受限的环境。
云原生的工作流方面称为 DevOps,开发工作流与部署操作相结合。以定义和管理的方式结合这两个学科可以简化应用程序的开发、部署和持续改进。
DevOps 对于在车辆生命周期内管理汽车软件特别有用,包括网络安全、无线错误修复和功能软件更新以及越来越多的 SaaS。