南京制作网页速成班,东莞网站包年优化,怎么做金融营销网站,wordpress 4.5 模板随着软件定义汽车典型应用场景的落地#xff0c;汽车从交通工具转向智能移动终端的趋势愈发明显。几十年前#xff0c;一台好车的定义主要取决于高性能的底盘操稳与动力系统#xff1b;几年前#xff0c;一台好车的定义主要取决于智能化系统与智能交互能否满足终端用户的用…
随着软件定义汽车典型应用场景的落地汽车从交通工具转向智能移动终端的趋势愈发明显。几十年前一台好车的定义主要取决于高性能的底盘操稳与动力系统几年前一台好车的定义主要取决于智能化系统与智能交互能否满足终端用户的用车体验相信不久后的将来一台好车的定义将变成全车传感器与数据驱动方式定义智能移动终端。本文将从开发模式变革来讨论软件定义汽车所需要的改变并介绍软件定义汽车模式下的典型应用场景。 1.开发模式变革
传统汽车的软件开发采用 V 字形瀑布式开发模式如下图所示。
由于各开发部分之间相对独立更多只是在部分内部展开局部性优化缺乏系统级平台级的开发全局观很难做到整体优化。同时各部分的开发时间并不全然一致进度顺序依赖很容易造成队列效应一旦出现某个部分开发发生延误时便会影响整体的开发进度。每个阶段都过于依赖上个阶段成果就会导致开发成本较高且周期过长与“软件定义汽车”涉及的【缩短产品上市周期、产品基于消费者需求、支持不断的迭代、对市场需求迅速响应】等要求相矛盾。 ▲传统 V 字瀑布式开发流程图 因此软件定义汽车背景下汽车软件开发将由传统的瀑布式开发向敏捷开发模式转变。敏捷式开发模式既有利于达到密切的协调合作最大限度地减少管理成本同时因其灵活的工作模式能够使开发团队与用户实现高度互动采用最低可行性产品的形式快速满足用户需求并在使用中不断创新迭代实现持续开发、持续集成、持续交付体现软件定义汽车的优势。主要体现如下
软件开发流程
传统控制器的开发遵循 V 型开发流程以整车厂的需求为输入考虑信息安全和功能安全严格执行设计、实现、验证的完整流程最终也以控制器为对象完成需求的验收有利于保障需求的完整实现。同时整个流程也有质保、流程、售后等部门参与其中进行评审和审核以此形成良好的质量管理和质量保证体系。但整个流程相对封闭不符合软件快速迭代的开放性和扩展性要求。
开发交付方式
传统汽车软件的开发场景明确软件与硬件紧密耦合对于嵌入式软件的交付并没有明确的“软件交付”的概念软件随着控制器硬件一起交付。技术层面来看应用软件与基础软件一起集成和固化有着明确统一的释放节点。随着软件定义汽车时代的到来“软硬分离软软分离”逐渐成了主旋律嵌入式软件从依附于硬件的一堆“代码”真正脱胎换骨为独立可售卖的产品且这项产品可以在整个车辆的生命周期内持续产生价值。从嵌入式软件开发和验证的技术层面这样的趋势使得软件要能够快速迭代持续更新持续交付。
项目管理
在传统控制器开发中在项目前期形成相对完备的系统架构和软件架构再向下分解到软件组件经由详细设计到达软件开发。这样的开发模式适合控制器的产品形态依赖成熟技术的完整积累。面向开放架构/持续交付的软件特性在项目管理上敏捷成为了关键词软件交付不再是统一固定的交付节点软件模块在整个车辆生命周期都有新增的机会模块化软件具备单独交付的条件和场景随之而来的是软件的设计/开发/测试/验证的节点也随之迭代起来变化和持续交付是常态这对整体的软件项目管理提出了更高的要求。
综上汽车软件开发模式由传统的瀑布式开发向敏捷开发模式的变革将为软件定义汽车落地面带来巨大挑战。 2.敏捷应对软件定义汽车时代的开发模式变革
在应对上述变革的诸多方案中CI/CD是不可忽视的敏捷属性。
不同的汽车ECU提供不同的服务对底层操作系统给的要求也不同。在电子电气系统架构从分布式向域集中式演进的大背景下各种功能模块都集中到少数几个计算能力强大的域控制器中。如何在域控制器中使用CI/CD的敏捷方法助力软件的开发、测试和验证呢 ▲智能汽车软硬件架构 国产自主可控的天目全数字实时仿真软件SkyEye可以通过全数字仿真技术实现汽车所需嵌入式软件的敏捷开发。基于SkyEye所搭建的嵌入式系统虚拟化运行环境工程师可不受物理硬件限制随时访问目标系统快速搭建虚拟硬件模型并提前进行开发、测试和验证工作实现高效率、高质量的软件交付。
同时SkyEye支持主流的嵌入式硬件平台可运行国内外主流的操作系统对国产生态的支持尤为出色。通过利用基于LLVM的动态二进制翻译技术SkyEye可使虚拟处理器在典型的桌面计算机上运行速度达到2000MIPS以上。
基于SkyEye的虚拟硬件和CI/CD工作流紧耦合可应用于汽车软件开发的全生命周期 ▲CI/CD流水线
参考文献
软件定义汽车产业生态创新白皮书V1.0