如何確定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.pswp.cn/news/453138.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453138.shtml
英文地址,請注明出處:http://en.pswp.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%的事情都在您的把握之中。 我…