如何确定autosar的版本_AUTOSAR编码指南(中文版)

在汽车应用领域,软件开发变得越来越重要。随着安全、环境以及便利性需求的增长,车辆中应用电子系统的数量也在急速增长。其中有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公司成为合作伙伴,一起研究“安全苛求系统中C++14语言的使用指南”(《准则》)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++标准(C++11和C++14)缺少合适的编码标准约束。现有的针对传统C++标准所制定的规范要么不完整,要么不适用于安全关键类软件的应用。汽车行业广泛使用的C++编码标准MISRA C++:2008是基于C++03制定的,且已有14年之久。

由于C++03的介绍中缺少基于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 C++14编码指南支持高端嵌入式微控制器,它提供高效、完整的C++14语言支持,同时适用于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.com

2. Joint Strike Fighter Air Vehicle C++:  http://www.stroustrup.com/JSF-AV-rules.pdf

3. CERT C++:  https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=637

4. C++ Core Guidelines:  https://github.com/isocpp/cppcoreguidelines

5. AUTOSAR Guidelines:  https://www.autosar.org/fileadmin/files/standards/adaptive/17_03/general/specs/AUTOSAR_RS_CPP14Guidelines.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453138.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3个月计算机考研,【图片】(重开)三个月考研成功的心路历程 -南邮计算机【南京邮电大学研究生院吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼这个帖子教你如何在较短时间拿到大部分的分值。声明:这个经验是我个人的经历可能对有些人不适合 时间充裕的还是老老实实打基础,按部就班的三轮复习。18年考研 南邮 初试数据结构 复试微机原理 。我是国庆之…

PS把一张白色背景的图片设为透明

方法一: 1.双击图层缩略图上的小锁图标(注意,这里不要拖动小锁进行删除锁定),弹出“新建图层”,确定 2.右键左侧第四个功能菜单,选择魔棒工具 3.用魔棒工具在白色背景区域点击一下,选…

HTML5 webfont字体图标的使用

2019独角兽企业重金招聘Python工程师标准>>> 一.参考文献 1.http://www.cnblogs.com/yes-V-can/p/5716853.html 2.http://blog.csdn.net/zhouwangling_/article/details/53096649 二.html使用方法 1.下载字体 网上百度自己要使用的字体,一般下载的是ttf格…

算法导论中英文版下载

算法导论: 学过计算机的都知道,这本书可以说是全世界最权威的算法课程的大学课本了,基本上全世界的名牌大学用的教材都是它。这本书一共四位作者,Thomas H. Cormen,Charles E. Leiserson 和 Ronald L.Rivest 是来自 MI…

javaweb不同用户需要几张表_程序员必备2020版:JavaWeb快速进阶全套教程

Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行。JavaWeb项目简单来说就是一个应用程序,比如每天打开的QQ、微信、百度地图等,这些都是应用程序。有很多同学反应Ja…

遇见未来的自己作文800计算机,遇见未来的自己作文800字

如果给你一个机会让你遇见未来的自己,并且有两个不一样的人生,任意选择其中一个,你愿意去遇见吗?在我的面前,有两扇门。可以看见其中一扇门上写着“少时享受的未来,而另一扇门上写着“少时勤奋的未来”。这…

ZOJ.3551.Bloodsucker(期望DP)

题目链接 \(Description\) 有1个吸血鬼和n-1个人,每天有且只会有两个人/吸血鬼相遇,如果是人与吸血鬼相遇,那个人会有p的概率变成吸血鬼;否则什么也不发生。求n个都变成吸血鬼的期望天数。 \(Solution\) 我还是写一下吧。。期望题…

Git 回滚动任意版本

为什么80%的码农都做不了架构师?>>> Git经常会碰到版本回滚的问题,下面就介绍一下如何回滚版本。 显示提交的log $ git log commit 38be40e4cbdb5512c8318c5ab4e09c462ff5095a (HEAD -> dev, origin/master, origin/dev, origin/HEAD, ma…

axureux中后台管理信息系统通用原型方案 v2_前端公共图表数据大盘方案

作者 | 马一文程序员中的一种,偶尔吟湿作对,润滑万物 ——子慕大诗人前言前端常常会在的业务中后台开发数据统计图表,对于类似 Echarts 这种配置性极强的库,需要花费很多时间查看文档, 一个项目中统计图表大多情况下只…

从程序员到技术总监,分享10年开发经验

在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,在下从事.NET及JAVA方面的开发的也有10年的时间了,在这里在下想凭借自己的亲身经历,与大家一起探讨一下。 明确入…

计算机风险评估管理程序,第5章 信息安全风险评估实施流程

《第5章 信息安全风险评估实施流程》由会员分享,可在线阅读,更多相关《第5章 信息安全风险评估实施流程(25页珍藏版)》请在人人文库网上搜索。1、第第5章章 信息安全风险信息安全风险评估评估 实施实施流程流程 赵赵 刚刚 信 息 安 全 管 理 与 风 险 评…

机器学习:算法模型:决策树

原文链接:https://www.cnblogs.com/wenyi1992/p/7685131.html 【基本流程】 分类决策树的核心思想就是在一个数据集中找到一个最优特征,然后从这个特征的选值中找一个最优候选值(这段话稍后解释),根据这个最优候选值将数据集分为两个子数据集…

PDU

协议数据单元 PDU(Protocol Data Unit)是指对等 层次 之间传递的数据单位。 协议数据单元(Protocol Data Unit )物理层的 PDU是 数据位 (bit), 数据链路层 的 PDU是 数据帧 (frame),…

Haproxy+Percona-XtraDB-Cluster 集群

Haproxy介绍 Haproxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点&…

mac安装和卸载mysql_基于centos7系统卸载rpm安装的mysql

概述前面有介绍了怎么用rpm包去安装mysql,那么如果我们要卸载的话可以怎么弄呢?下面介绍下卸载mysql的流程。环境:centos7.31、 检查是否安装了MySQL组件。# rpm -qa | grep -i mysql2、卸载前关闭MySQL服务systemctl stop mysqld3、收集MySQ…

(转)Linux服务器磁盘空间占满问题

转自:https://www.cnblogs.com/cindy-cindy/p/6796684.html 下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了),希望碰到此类问题的人能带来帮助。今天下班某电商技术部leader发现个问题,说他们服…

计算机组成原理2套题,计算机组成原理试卷及答案2套.doc

计算机组成原理试卷A一、 选择题(每小题2分,共30分)1. 下列数中最小的数是______。A.(100100)2 B.(43)8 C.(110010)BCD D.(25)162. 计算机经历了从器件角度划分的四代发展历程,但从系统结构上来看,至今绝大多数计算机仍…

改变您一生的90/10原理

了解并运用由Stephen Covey发现的90/10原理,您的一生或许会有所改变,至少,您对待事情的态度会与以前不一样了。 什么是90/10原理?即在您的一生中,只有10%的事情您无能为力,而90%的事情都在您的把握之中。 我…