华为AUTOSAR质量目标与开发实践

一、如何根据特征制定软件质量目标(以华为为例)

1. ​基于ISO/IEC 25010标准分解质量特性****​

华为等大型企业在制定软件质量目标时,通常会参考国际标准ISO/IEC 25010定义的八大质量特性(功能性、可靠性、性能效率、安全性、兼容性、易用性、可维护性、可移植性)。具体步骤如下:

  • 特性识别:结合产品需求,从上述特性中选择关键项。例如,自动驾驶软件需优先保障功能性和安全性;
  • 量化指标设计 :为每个特性定义可测量的指标,如:
    • 功能性:需求覆盖度≥98%,功能正确性测试通过率≥95%;
    • 可靠性:系统故障率≤0.001次/小时,MTBF(平均无故障时间)≥1000小时;
    • 安全性:威胁检测率≥99%,漏洞修复周期≤48小时。

2. ​质量目标的分层与过程管理****​

华为采用V模型开发流程,将质量目标分解到各开发阶段:

  • 需求阶段:定义需求覆盖度(如100%需求可追溯)、评审缺陷密度(如每千行代码缺陷数≤1);
  • 设计阶段:通过静态代码分析工具(如Polyspace)确保MISRA-C/C++规范合规性;
  • 测试阶段: 设置测试通过率(如单元测试≥95%,集成测试≥90%)、缺陷修复率(如关键缺陷修复率≥98%)。

3. 结合AUTOSAR特性的质量策略​

针对AUTOSAR架构,华为可能采用以下方法:

  • 模型验证:对Simulink生成的AUTOSAR模型进行覆盖率分析(如路径覆盖≥80%);
  • 代码规范性:确保生成的C/C++代码符合AUTOSAR编码规范(如使用Vector工具链进行静态检查);
  • 集成测试:通过CANoe等工具验证通信协议栈(如CAN/LIN/Ethernet)的实时性和鲁棒性。

二、AUTOSAR是否全部为模型代码?

1. ​AUTOSAR开发中的模型与代码关系

AUTOSAR开发并非完全依赖模型生成代码,而是采用模型驱动开发(MDD)与手动编码结合的模式:

  • 模型生成代码
    • 应用层(SWC)和接口定义通常通过工具(如Matlab/Simulink、DaVinci)生成C代码和ARXML描述文件;
    • 例如,线控制动系统的转矩控制组件可通
    • 过Simulink自动生成C代码及ARXML配置文件。
  • 手动编码部分
    • 基础软件层(BSW) :如微控制器抽象层(MCAL)需针对具体芯片(如英飞凌Aurix)手动配置寄存器驱动;
    • 复杂驱动:传感器/执行器的底层逻辑可能需手动实现。

2. ​AUTOSAR平台的技术分工

​开发类型 ​工具/语言 ​典型场景
模型驱动开发 Matlab/Simulink、ETAS ISOLAR 应用层算法设计、接口定义
手动编码与配置 C语言、EB tresos、Vector工具链 MCAL配置、复杂驱动开发
自动化代码生成 RTA工具链、Geny RTE和BSW代码生成

3. ​华为在AUTOSAR开发中的实践

  • 工具链整合:可能采用自研工具链(如鸿蒙OS适配的AUTOSAR模块)与第三方工具(如Vector)结合;
  • 质量管控:通过持续集成(CI)和自动化测试(如Mantis缺陷跟踪系统)确保模型与代码的一致性。

总结

  1. 质量目标制定需基于国际标准、分层量化,并结合AUTOSAR架构特点强化模型验证和集成测试;
  2. AUTOSAR开发 是模型生成与手动编码的混合模式,模型代码主要用于应用层和接口,底层驱动仍需手动实现。
    如需具体案例或工具链配置细节,可进一步查阅AUTOSAR官方文档或企业技术白皮书。
相关推荐
空间机器人3 天前
自动驾驶 ADAS 器件选型:算力只是门票,系统才是生死线
人工智能·机器学习·自动驾驶
九章云极AladdinEdu3 天前
全球主要市场自动驾驶法规政策对比:中国、美国、欧洲的监管路径与准入要求
自动驾驶·数据安全·自动驾驶法规·unece r157·自动驾驶监管·自动驾驶责任认定·自动驾驶监管路径
古译汉书3 天前
【IoT死磕系列】Day 9:架构一台“自动驾驶物流车”,看8种协议如何协同作战
网络·arm开发·单片机·物联网·tcp/ip·架构·自动驾驶
地平线开发者4 天前
智能驾驶感知算法的演进
算法·自动驾驶
HiEV5 天前
插曲皆为进阶序章:中美无人车解锁高阶安全能力
自动驾驶·robotaxi·百度萝卜快跑
STLearner6 天前
WWW 2026 | 时空数据(Spatial Temporal)论文总结(交通预测,人群移动,轨迹表示,信控等)
大数据·论文阅读·人工智能·深度学习·机器学习·数据挖掘·自动驾驶
春日见7 天前
Tool文件夹:瑞士军刀库
运维·服务器·windows·深度学习·自动驾驶
码与农9 天前
硬件控制器是如何实现与ros2_control交互的
人工智能·机器人·自动驾驶
地平线开发者10 天前
征程 6X watchdog 问题分析
算法·自动驾驶
地平线开发者10 天前
多 Batch 量化校准与单 Batch 校准的数值差异
算法·自动驾驶