新EEA下的软件技术概述
前言
新电子电气架构的变革确确实实正在发生,而且势不可挡。
车内的行驶电脑需要和IT后端的数字服务系统连接,通过V2X与基础设施及其他车辆建立起低延时的无线通信以获取外界环境的信息,中央电脑将这些路线信息和车辆传感器获取的周边数据汇总在一起,最后经处理后显示在用户高度定制化的大屏上。
这些看似平常的功能,实际上需要一个很先进的车辆架构来支撑。而且要想将这些功能的用户体验逐步提升至极致,更需要强大的软件技术作为后盾。
更让人意外的是,车辆新架构的革新带来的影响不仅限于技术层面,更是撬动了经久沉淀的组织架构划分,以及项目执行层面固有的标准流程。
本文将从汽车软件技术创新开始,给大家分享这些变化。本期视频及材料,请后台回复'SW点映'
1
汽车系统软件工程的创新
①
数字化转型趋势
②
新EE架构以及软件
③
敏捷转型与运维
2
什么是软件架构
①
软件架构式样
功能角度描述的逻辑架构结构,包含软件功能,属性和需求。 软件组件结构,软件组件是基于逻辑架构延展开来的。 硬件组件ECU结构,ECU上执行了软件代码,ECU之间有总线的连接,以及执行器与传感器
功能视图,功能视图通常也称为功能架构,这类视图的重点是描述车辆的功能及其相互依赖关系
物理系统视图,通常将其描绘为整个电气系统的顶层视图,并附有底层网络拓扑示意图。 系统逻辑视图更专注于对软件层面的描述。在逻辑视图中,通常会展示软件中使用了哪些类,模块和组件,以及它们之间的相互关系。用于此模型的符号通常是UML
分层架构。这种架构风格假定系统的组件放置在彼此之上的层次结构中,彼此之间进行函数API调用。CP AUTOSAR就是典型的分层架构。CP AUTOSAR的分层结构展现的是十分清晰的应用层,通信层,MCU抽象层。这种分层方式是对于软件组件功能范畴大框架的分层,在每个层次内部,也存在着一定的软件组件功能分层。例如自动驾驶功能设计,有较高的层负责任务/路线规划的软件组件层,而较低的层负责操作汽车的执行器。
基于组件的架构。相对于分层架构,这种架构灵活度更高。在当代汽车软件设计中,我们可以在娱乐影音领域中看到这种架构风格,其中系统分为平台和应用程序层,这里也具有分层架构的设计。而对于应用程序层,所有可以下载到系统上的应用程序都是根据基于组件的原则设计的。
面向服务的架构式样假定使用基于Internet的协议来松散组件之间的耦合。架构式样强调可作为Web服务访问的接口。这里的服务可以在系统运行时按需添加和更改。在汽车软件设计中,这种架构样式正在开始流行,也制定了相应的服务架构标准来支持这种架构式样,例如制定了AUTOSAR服务模型,SOME/IP的通信协议等等,也保持了和WEB服务的兼容,如RESTful。越来越多的汽车功能会往这个方向转化,现阶段先从比较适合的功能做起,比如汽车的队列行驶功能,它是在驾驶过程中“自发地”完成的,因此需要灵活的架构,并且需要允许车辆相互链接和取消链接,而无需重新编译或重新启动系统。是面向服务的架构式样典型的应用。
②
软件架构的趋势
3
新架构下的软件技术
①
SOA
可见性,服务需要有提供方和消费方,它们互动的前提是需要知道对方的存在。 相互作用,服务的相互作用通常是消息的发送和接受,另外还包含状态的迁移和改变。 真实世界效应,服务动作产生的效应,这种效应包括信息的改变,数据的添加和删除。
服务描述,目的是描述服务包含哪些能力,怎么样去接入和使用这些服务,服务的约束和策略是什么。其中一个重要的描述信息就是服务接口描述。 契约和策略,策略代表某种使用服务的约束或者条件,服务契约是具体化的策略断言,管理双方或者多方的需求和期望。契约致力于解决服务提供者和消费者之间的交互问题 执行上下文,主要是指服务的执行依赖关系。
②
以太网为主干网的总线技术
③
中间件
④
汽车软件的专门需求
⑤
基于模型的开发