小程序致美发型设计,提升关键词排名seo软件,微信推广联盟,郑州网站微信微博维护在汽车应用领域#xff0c;软件开发变得越来越重要。随着安全、环境以及便利性需求的增长#xff0c;车辆中应用电子系统的数量也在急速增长。其中有90%的创新应用都是基于软件驱动的电子组件。而这些组件的研发成本占车辆开发成本的40%#xff0c;快速稳定的发展需要整合更…在汽车应用领域软件开发变得越来越重要。随着安全、环境以及便利性需求的增长车辆中应用电子系统的数量也在急速增长。其中有90%的创新应用都是基于软件驱动的电子组件。而这些组件的研发成本占车辆开发成本的40%快速稳定的发展需要整合更多的功能和控制单元这种情况对于汽车制造商是严重的挑战。这篇白皮书简要概述了新的AUTOSAR(汽车开放系统架构)编码指南并指出如何遵守该指南。AUTOSAR是什么AUTOSAR(汽车开放系统架构)旨在规范和论证基本软件单元、接口和总线系统并且帮助汽车制造商更好地管理日益增长的复杂性系统同时降低成本。它创建了汽车电子控制单元(ECU)标准化的开放式软件架构。作为超过180家汽车制造商的合作伙伴、汽车供应商、工具供应商和半导体供应商AUTOSAR的核心成员包括宝马、博世、德国大陆、戴姆勒、福特、通用、标致雪铁龙、丰田和大众。由AUTOSAR衍生的开放式架构“经典平台”它在基本微控制器上实现适用于具有严格的实时和安全性要求的车辆功能。目前AUTOSAR又开发了一个名为“自适应平台”的新标准用于汽车互联和自动驾驶。这一标准旨在满足快速增长的对于车辆互联和高度自主驾驶技术的市场需求。驱动自适应平台标准的技术示例包括带有外部存储器的高性能32位/ 64位微处理器并行处理和高带宽通信。依据自适应平台标准开发的软件可与依据AUTOSAR经典平台标准建立的系统有效融合。经典平台允许使用C、C和java语言实现但通常以C语言为主。目前自适应AUTOSAR平台提供的应用编程接口(API)使用C定义实现这就意味着AUTOSAR在新的自适应平台组件中将C作为编程语言。C和C语言是汽车嵌入式系统的主要编程语言。这是因为这两种语言可以实现对硬件系统直接、有效的控制这给开发带来极大灵活性但同时也夹带着风险。有可能出现编译具有未定义行为代码的情况或者无法保证相同的代码在不同目标硬件上编译和运行时其行为正确性。即使是有经验的开发人员也会不可避免引入缺陷。AUTOSAR编码指南是什么为了确保按照AUTOSAR标准编写的代码安全AUTOSAR邀请PRQA公司成为合作伙伴一起研究“安全苛求系统中C14语言的使用指南”(《准则》)1。作为AUTOSAR静态分析合作伙伴PRQA公司贡献出了过去30多年的C语言编程专业知识、以及在大量的软件开发实践中所积累的丰富经验。AUTOSAR共有342条编码规则。其中154条是直接复用MISRA C标准131条是基于其它常用编码标准定义的规则如PRQA公司的HIC标准57条是基于研究或其它资源。编程指南中允许一些以前标准中禁止的语言特征如动态内存、异常、模板、继承和虚拟函数。该准则规范了这些语言特性在安全范围内的应用。AUTOSAR发展的一个原则就是验证规范与标准化并行开展。自适应平台使用C语言编写通过AUTOSAR内部实现进行验证。AUTOSAR使用PRQA公司(AUTOSAR静态分析合作伙伴)先进的QA·C分析工具确保演示源码的质量以及对于编码准则的符合性。为什么需要AUTOSAR编码指南在AUTOSAR编码指南形成之前对于安全关键类软件的C标准(C11和C14)缺少合适的编码标准约束。现有的针对传统C标准所制定的规范要么不完整要么不适用于安全关键类软件的应用。汽车行业广泛使用的C编码标准MISRA C:2008是基于C03制定的且已有14年之久。由于C03的介绍中缺少基于AUTOSAR工程的相关MISRA标准描述目前存在如下改变1、C的演变2、编译器的改进3、测试、验证及分析类工具的改进4、ISO 26262车辆功能安全标准的制定5、广泛的安全类条目被列入其它标准中如▾HIC(PRQA)2▾JSF AV C(Lockheed Martin)3▾CERT C (Carnegie Mellon)4▾C核心指南(Bjarne Stroustrup and ▾Herb Sutter)5针对AUTOSAR制定的编码指南可作为现有MISRA C标准的一个扩展补充。它制定了新的规则并更新了旧的MISRA规则。谁将使用AUTOSAR编码指南编码指南中指明“主要适用于汽车行业但也同时适用于其它嵌入式应用部分...... AUTOSAR C14编码指南支持高端嵌入式微控制器它提供高效、完整的C14语言支持同时适用于32位和64位微控制器以及使用POSIX或类似操作系统的微控制器。”如何确保代码符合AUTOSAR编码指南传统上工程师会采用繁复的人工代码审查方式开展代码审查以确保代码是否按照既定标准编写。这个过程很容易出错并且不适用于当今大型、复杂的代码量工程中。幸运的是这些检查现在可以使用工具实现自动化。“静态分析器”就是为这个目的设计的工具。静态分析器不仅报告违反编码规则的情况而且执行深度代码检查以突出显示任何未定义的、未指定的或与编译器相关的行为。它分析程序中所有可能执行的路径标记潜在的运行时错误。通常它可以发现测试中没有发现的问题因为测试中要达到覆盖所有可能的执行路径是很不实际的。静态分析器在用于开发安全、可靠类软件的工具链中属于一个重要组成部分。就AUTOSAR而言使用PRQA的静态分析工具QA·C是为了保证其源代码的质量并在遵守编码准则方面提供了宝贵的见解。结合PRQA在编码指南方面的贡献这些建议推动了静态分析解决方案的发展且该方案符合AUTOSAR标准的软件开发优化。PRQA的AUTOSAR符合性模块对QA·C标准消息进行扩充使其与AUTOSAR指南更为契合。对于中型或大型开发团队PRQA提供了质量管理控制系统QA·Verify可实现对工程的有效管理。这保证了所有团队成员除了在项目持续期间跟踪和报告代码质量外还能够始终应用编码指南。总结AUTOSAR标准将作为一个基准平台通过最小化功能域之间的障碍有效应用于以后的汽车行业。该标准几乎独立于相关硬件旨在实现将功能和功能网络映射到系统中不同的控制节点这一目标。虽然该标准是由汽车行业发展而来但这些准则同样适用于使用C 14开发嵌入式软件的其他行业。在应用中PRQA静态分析工具QA·C可确保代码没有错误且符合编码规范。参考文献1. High Integrity C: http://www.codingstandard.com2. Joint Strike Fighter Air Vehicle C: http://www.stroustrup.com/JSF-AV-rules.pdf3. CERT C: https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId6374. C Core Guidelines: https://github.com/isocpp/cppcoreguidelines5. AUTOSAR Guidelines: https://www.autosar.org/fileadmin/files/standards/adaptive/17_03/general/specs/AUTOSAR_RS_CPP14Guidelines.pdf