C++是一种复杂的语言,需要投入大量精力来确保可预测性、安全性和保密性。汽车开放系统架构 (AUTOSAR) 组织开发了AUTOSAR C++14,这是一种编码标准,将C++14的使用限制为可预测且不会导致不必要的安全和安保风险的构造。
汽车开放系统架构 (AUTOSAR) 来自汽车实体之间的开发合作伙伴关系。该集团成立于 2003 年,旨在围绕汽车电子控制单元 (ECU) 建立标准化和开放的软件架构。它也包含了半导体。
AUTOSAR开发合作伙伴关系旨在提高整个产品生命周期内安全要求的有效性和可用性、可扩展性、可转移性和可持续性。虽然汽车技术本身不是医疗设备,但它的某些方面肯定属于保护项目。产品线安全气囊需要精确部署的技术,而像电机控制这样的系统需要一致性。
汽车中更多的嵌入式电子设备也意味着大量的数据收集,以及实时数据处理。AUTOSAR 的不同方面旨在满足现代汽车电子和软件组件的需求。
AUTOSAR 平台有两种类型:自适应平台和经典平台。经典的 AUTOSAR 平台不提供自适应方法可以提供的那种灵活性和处理能力。汽车技术日益复杂,需要更轻松的反应和更快的响应。
不过,这两个平台不是对手,而是队友。两者在汽车设计和开发生态系统中都有不同的用途。
它是 C++版本 14 (ISO/IEC 14882:2014) 的编码标准,也是定义自适应AUTOSAR平台的产物或成果之一,该平台为API和服务提供接口规范。AUTOSAR 编码指南的这一部分最初只是更新了 MISRA C++ 2008 – 一个过时的编码标准。然而,MISRA 和 AUTOSAR 在 2019 年宣布合并,以支持更新到 C++17。它已成为许多现代 AUTOSAR 电子解决方案的默认语言。
事实上,这些指导方针是如此强大和优化,它们可以应用于任何需要在 C++ 中进行嵌入式编程的行业。
AUTOSAR C++14 有 342 条规则,帮助用户对编码要求有一个清晰的理解和指导。AUTOSAR C++14 编码规则 根据义务级别进行分类。
→ 必要规则 强制要求符合标准。但是,可以允许偏离 AUTOSAR 标准、规则或指南。为避免开发人员随意偏差滥用偏差概念,必须包括每个偏差的签核。此外,规则还被分类为是否可以通过静态分析工具自动执行。
→ 静态分析工具可以完全自动化。将 C++14 与 AUTOSAR C++14 指南结合使用,使开发人员能够使用高级编译器并改进对增强测试、验证和分析工具的访问。它允许使用新的开发方法,如持续集成/持续交付(CI/CD),可以在软件开发生命周期中更快地检测到错误。
寻找合适的开发工具来确保软件质量是一个反复试验的问题。但这并不意味着您需要尝试未经证实的工具或策略。幸运的是,自动化在测试和合规方面的大量好处是显而易见的。
更早发现问题只会让参与软件开发的每个人都更容易。从软件架构和应用软件到诊断和验证,Parasoft 解决方案都考虑到了这一切。
实施AUTOSAR C++14合规性,以提供安全、可靠和可靠的代码,以获得持久的好处,影响产品的成功和周期,同时减少劳动力成本和上市时间。
Parasoft的分析仪表板带有自动的AUTOSAR合规报告,可以轻松提供认证所需的证明。
引入AUTOSAR C++14合规性的最大挑战是大量代码会产生大量警告。因此将AUTOSAR C++14 合规性集成到项目中时,重点应该是让团队尽快高效工作。这将最大限度地减少团队被静态分析警告淹没的机会。
随着实现AUTOSAR C++14合规性成为每个开发人员日常工作的一部分,他们将能够更快地分析结果并更有效地修复错误。
The Parasoft代码分析AUTOSAR 解决方案, Parasoft C/C++test可在开发阶段早期检测 AUTOSAR 运行时环境中复杂的 AUTOSAR C++14 合规性运行时问题,而无需执行昂贵的运行时测试。这以一种有利于所有人的方式简化了开发过程。
C/C++test通过代码分析执行路径,并发现AUTOSAR C++14合规性问题,如空指针取消引用、被零除和内存泄漏。它还搜索安全漏洞,例如指针操作数上的算术、缓冲区溢出、无法访问的代码和cstdlib系统函数。
Results from C/C++test的AUTOSAR C++14 合规性结果可以在Parasoft的动态报告仪表板中查看,支持使用历史数据的自动化后处理和高级报告策略。
随着时间的推移,很容易看到跨构建的AUTOSAR C++14合规性结果。即使在处理大型代码库和遗留代码(代码的可见性通常具有挑战性)时也是如此。 您可以快速关注新添加代码的质量。
借助自动跟踪AUTOSAR C++14合规性的小部件,用户可以动态查看合规流程,并可以轻松生成代码审计和认证目标的自动报告。
基本软件模块(BSW)是提供在ECU上运行的某些编码功能的软件文件的集合。这些标准化的软件模块可以支持通信、I/O、内存等。
例如,一些 AUTOSAR 基本软件模块执行总线镜像、诊断甚至加密等任务以保护数据。
该集团成立于2003年,由整车厂和其他投资方组成,其中包括大众汽车(Volkswagen)和罗伯特•博世(Robert Bosch)等众多知名企业。
这三层架构是:
1、应用程序层电子控制器单元(ECU)特定模块和通用模块包含在三个子层中,包括服务层、ECU抽象层和微控制器抽象层 (MCAL)。
AUTOSAR C++14 没有直接提供任何关于实现合规性过程的类似指南。但鉴于 AUTOSAR C++ 指南基于 MISRA C++ 2008,参考 MISRA 标准以寻找有关实现合规性过程的指南是合理的。
● 生成一个合规矩阵,说明每条规则的执行方式。● 产生偏差程序。● 在质量管理体系内形成工作规范。满足这些要求意味着一些额外的文书工作。应该要做的是定义合规矩阵。
此外,需要建立偏差处理程序。偏差程序正式规定了当开发需要偏离规范或指导方针时需要采取的步骤。
自适应 AUTOSAR 平台定义了一个用于开发汽车控制单元的平台,这些控制单元提供先进的驾驶辅助系统、媒体流或通过互联网进行的软件更新等复杂功能。
C++ 提供了支持 AUTOSAR 平台在应用面向对象方法、使用面向服务架构、使用 POSIX 和类似操作系统以及对32位和64位微控制器的完全支持方面的要求所需的语言特性。
静态分析是在不执行的情况下检查源代码的过程,通常用于发现错误或评估代码的安全性、安全性和可靠性。
这意味着静态分析可以用于部分完整的代码、库和第三方源代码。静态分析工具可帮助软件团队符合MISRA C/C++、AUTOSAR C++14、SEI CERT 或您自己的自定义配置等编码标准。
|
|