汽车软件集成的形式化方法
1. 引言
嵌入式软件在现代汽车系统中扮演着至关重要的角色,尤其是在提升功能效率、组合配置功能以及开发集成不同汽车子系统的新型服务方面。汽车软件运行在电子控制单元(ECUs)上,这些单元是具有实时操作系统(RTOS)和特定领域基本软件的专用可编程平台。不同的软件组件由不同的供应商提供,并且必须进行集成。这增加了对高效、安全和可认证的软件集成过程的需求,特别是对于安全关键功能。
功能软件设计包括验证可以通过一个定义明确的过程来掌握,包括复杂的测试策略。然而,安全地在汽车平台上集成软件功能需要验证集成系统的性能。这里,特别是定时和内存消耗的非功能系统属性是主要问题。至少对于发动机控制单元来说,今天还没有一个既定的软件集成流程,可以满足汽车原始设备制造商(OEM)的所有关键要求。
2. 背景与现状
2.1. 当前实践
复杂的可编程汽车电子控制单元(如用于动力总成控制)的软件通常由三层组成:
- 系统层 :由实时操作系统(RTOS)组成,通常基于 OSEK 汽车 RTOS 标准,以及基本的输入/输出系统。
- 基础软件层 :由 ECU 供应商添加,包含特定于 ECU 角色的标准功能。
- 应用层 :复杂的控制功能,由 OEM 使用其针对特定车辆的知识来扩展和改进基础软件,并添加新的特性。
OEM 还设计了分布式车辆功能,例如自适应巡航控制,这些功能跨越多个电子控制单元。复杂的控制和车辆功能为汽车产品差