华为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官方文档或企业技术白皮书。
相关推荐
初岘5 小时前
自动驾驶架构:人为接口与隐式特征的博弈
人工智能·架构·自动驾驶
lxmyzzs19 小时前
基于深度学习CenterPoint的3D目标检测部署实战
人工智能·深度学习·目标检测·自动驾驶·ros·激光雷达·3d目标检测
wait a minutes1 天前
【自动驾驶】8月 端到端自动驾驶算法论文(arxiv20250819)
人工智能·机器学习·自动驾驶
地平线开发者2 天前
征程 6 | PTQ 精度调优辅助代码,总有你用得上的
算法·自动驾驶
Godspeed Zhao2 天前
自动驾驶中的传感器技术34——Lidar(9)
人工智能·机器学习·自动驾驶
地平线开发者3 天前
LLM 中 token 简介与 bert 实操解读
算法·自动驾驶
地平线开发者5 天前
ReID/OSNet 算法模型量化转换实践
算法·自动驾驶