日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

在基于模型的自動代碼生成器中建立信任

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:S. TUCKER TAFT ? 2022-11-11 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您如何建立對用于安全關(guān)鍵系統(tǒng)的自動代碼生成器的信任?例如,給定一個代碼生成器,它采用 Simulink 和 Stateflow 中表示的飛行控制系統(tǒng)的實時模型,并將其轉(zhuǎn)換為 MISRA C 或 Ada 的 SPARK 子集,哪個過程可以確保生成的代碼是原始實時模型的忠實表示?美國聯(lián)邦航空管理局 (FAA) 有一個定義明確的流程來創(chuàng)建合格的代碼生成器,這意味著一個代碼生成器,其輸出可以信任為與輸入模型的語義完全匹配,沒有遺漏任何內(nèi)容,也沒有添加任何內(nèi)容。此過程在 DO-178C(機載系統(tǒng)中的軟件注意事項)及其隨附的文檔 DO-330(軟件工具認證注意事項)和 DO-331(基于模型的開發(fā)和驗證)中定義。

對于像代碼生成器這樣的工具,可能會將錯誤插入機載系統(tǒng),如果要將工具用于故障可能是災難性的子系統(tǒng)(A 級子系統(tǒng)),則需要最高級別的工具資格(工具資格級別 1 (TQL-1))。

毫不奇怪,這種級別的工具鑒定可能涉及大量的時間和精力,通常估計為每 1,000 行代碼 (KSLOC) 數(shù)百小時。這類似于驗證 A 級安全關(guān)鍵型嵌入式軟件組件所需的每行工作量。但是工具可以有更多的代碼行。例如,如果該工具是100 KSLOC,則傳統(tǒng)的A級驗證方法可能花費約500萬美元。因此,有強烈的動機研究測試此類工具的替代方法,同時仍然實現(xiàn)TQL-1目標。

傳統(tǒng)的測試方法

驗證高完整性應用程序的傳統(tǒng)方法要求測試人員:

仔細定義和驗證應用程序的一組高級要求

從高級需求派生模塊級需求,這些要求足夠具體,可以確定適當?shù)膶崿F(xiàn)

使用單元測試根據(jù)其低級需求檢查實現(xiàn)的每個模塊

對所有高級需求執(zhí)行集成級測試

然后執(zhí)行覆蓋率分析,以確保這些測試涵蓋所有代碼,并確保應用程序中沒有可能提供額外、不需要的功能的代碼。

對于嵌入式軟件組件,每個模塊的單元級測試和整個組件的集成級測試的組合可以很好地工作。特別是,嵌入式軟件模塊的單元測試是實用的,因為在許多情況下,每個模塊的輸入數(shù)量和復雜性是可管理的,并且輸出相對容易識別和檢查。但是,對于像自動代碼生成器這樣的工具,它通常涉及多個階段,涉及將輸入模型逐步轉(zhuǎn)換為生成的代碼,單元測試可能是一個真正的挑戰(zhàn)。另一方面,對于這樣的工具來說,集成測試并沒有明顯困難,因為中間階段的數(shù)量不會影響工具的整體輸入和輸出。

圖 1 說明了單元測試的復雜性與多階段工具(如代碼生成器)的集成測試相對容易程度之間的這種二分法。

pYYBAGNt8aqASFVjAALicNQ2hSI596.jpg

[圖1 |由于易于使用,集成測試比單元測試更受歡迎。

在圖 1 中,我們顯示了優(yōu)化自動代碼生成器的整體數(shù)據(jù)流,其中輸入模型稱為“用戶語言”,輸出稱為“源代碼”。多個階段被流水線化,原始模型中的第一階段讀數(shù)以用戶語言(M0)表示,并以某些內(nèi)部數(shù)據(jù)結(jié)構(gòu)(M1)表示模型。然后將其轉(zhuǎn)換為模型的較低級別表示(M2,M3等),直到最后階段以所需的編程語言生成實際的源代碼。要執(zhí)行集成測試,只需使用常規(guī)模型創(chuàng)建工具準備一個以用戶語言表示的模型,將其饋送到代碼生成器中,然后檢查生成的源代碼,以確定它是否滿足形式和功能方面的高級要求,使用普通編譯器、靜態(tài)分析和該編程語言的測試工具。

相比之下,對多相代碼生成器的每個階段執(zhí)行單元測試要復雜得多。必須為給定階段的每個測試構(gòu)建一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)符合用于該階段輸入的表示形式,然后需要對該輸入調(diào)用該階段,然后必須檢查輸出表示以查看它是否具有預期的形式和內(nèi)容。準備此類輸入并檢查此類輸出需要費力的手動過程或創(chuàng)建特殊工具,這些工具本身可能需要認證。

集成單元測試

鑒于單元測試的復雜性,已經(jīng)開發(fā)了一種稱為集成單元測試的替代方法。圖 2 說明了此方法:

450-57b34bdf64ef7-Adacore-Figure+2.jpg.jpg

[圖2 |集成單元測試方法是單元測試的更簡單替代方法]

在圖 2 中,我們展示了一個將單元測試需求監(jiān)視器和單元測試預言機(一個“知道”所需輸出的檢查器)直接嵌入到工具結(jié)構(gòu)中的過程。將這些監(jiān)視器和檢查器嵌入到工具中后,我們按照用于正常集成測試的步驟進行操作,準備代表性模型(Test0 到 Test4),并通過代碼生成器將它們饋送。但是現(xiàn)在,每個嵌入式單元測試需求監(jiān)視器不只是等待工具生成最終輸出,而是跟蹤其關(guān)聯(lián)階段的輸入是否與其關(guān)聯(lián)的單元測試匹配,如果匹配,它會記錄該事實,然后觸發(fā)相應的基于單元測試預言機的檢查器,該檢查器驗證階段的輸出是否對應于特定測試模式的輸入的預期轉(zhuǎn)換。

例如,假設我們在模型級別定義了增益塊的特定轉(zhuǎn)換,將其轉(zhuǎn)換為代碼級別的表達式,該表達式將信號變量的值乘以常量。每當增益塊出現(xiàn)在其模型級輸入表示中時,我們都會有一個單元測試要求監(jiān)視器記錄,當它出現(xiàn)時,觸發(fā)基于 oracle 的檢查器查看代碼級輸出表示,以確保它涉及將適當?shù)男盘栕兞砍艘赃m當?shù)某?shù)。這是一個非常簡單的檢查,只要有足夠的模型作為一個整體通過該工具,就可以預期覆蓋此特定的單元測試模式。

通過該工具運行多個模型后,我們最終可以得到一個如圖 2 所示的表。在左側(cè),我們有模型,Test0到Test4。在頂部,我們有針對工具每個不同階段的測試需求和測試預言機對。例如,tr0,2 表示階段 0 的測試要求 2,而 to2,1 表示階段 2 的測試預言機 1。每次階段的特定輸入滿足與某些測試需求相關(guān)的測試模式時,我們都會在輸入模型行的需求列中看到 SAT。每次調(diào)用測試預言機時,我們都會在輸入模型行的預言機列中看到 PASS 或 FAIL。如果我們最終得到一個空列,則從未遇到測試模式(未涵蓋相應的低級要求)。如果我們最終在 test-oracle 列中出現(xiàn) FAIL,這意味著我們有一個測試失?。ㄏ鄳牡图壭枨鬀]有正確實現(xiàn))。在圖 2 所示的表中,我們看到 tr0,1 和 tr2,0 未被覆蓋,而 to0,2 和 to2,1 出現(xiàn)故障。這樣的表記錄了一個完整的單元測試過程,同時避免了為每個測試模式準備特殊輸入的費用。

值得信賴的代碼生成器

如果我們要越來越多地依賴此類工具來幫助從更高級別的模型自動生成安全關(guān)鍵軟件,那么建立對代碼生成器的信任至關(guān)重要。但是,需要創(chuàng)新方法來管理在最高信任級別 TQL-1 下實現(xiàn)現(xiàn)代優(yōu)化代碼生成器的工具認證的潛在高昂費用。集成單元測試就是這樣一種方法。當與其他用于正式指定需求并從這些需求生成需求監(jiān)視器和預言機等組件的系統(tǒng)方法結(jié)合使用時,可以實現(xiàn) TQL-1,這種方式不僅更具成本效益,而且隨著工具的發(fā)展支持增量鑒定。AdaCore 正在使用這些方法驗證其 QGen 代碼生成器,從而為基于模型的開發(fā)社區(qū)提供一種新工具,該工具可以成為整體高完整性、軟件密集型系統(tǒng)工程流程的可信部分。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5210

    文章

    20680

    瀏覽量

    337383
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74420
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    探索 SN54LS181、SN54S181、SN74LS181 和 SN74S181 算術(shù)邏輯單元/函數(shù)生成器

    探索 SN54LS181、SN54S181、SN74LS181 和 SN74S181 算術(shù)邏輯單元/函數(shù)生成器 電子工程師的日常設計工作,選擇合適的芯片是實現(xiàn)高效、可靠電路的關(guān)鍵。今天,我們就來
    的頭像 發(fā)表于 04-22 16:40 ?285次閱讀

    GS4901B/GS4900B:視頻與音頻時鐘及定時生成的理想之選

    GS4901B/GS4900B:視頻與音頻時鐘及定時生成的理想之選 電子設計領域,時鐘和定時生成器對于確保系統(tǒng)的穩(wěn)定運行和精確同步至關(guān)重要。今天,我們就來深入探討一下 Gennum 公司
    的頭像 發(fā)表于 04-15 10:10 ?153次閱讀

    ICS2008B:SMPTE時間碼接收器/生成器的技術(shù)解析

    ICS2008B:SMPTE時間碼接收器/生成器的技術(shù)解析 多媒體技術(shù)飛速發(fā)展的今天,時間碼的精確控制對于音視頻同步至關(guān)重要。ICS2008B作為一款SMPTE時間碼接收器/生成器芯片,為多媒體
    的頭像 發(fā)表于 04-13 18:10 ?393次閱讀

    探秘ICS841402I:PCIe與sRIO時鐘生成的理想之選

    探秘ICS841402I:PCIe與sRIO時鐘生成的理想之選 電子設計領域,時鐘信號的穩(wěn)定性和準確性對于系統(tǒng)的性能至關(guān)重要。今天,我們就來深入了解一款優(yōu)化的PCIe和sRIO時鐘生成器
    的頭像 發(fā)表于 04-12 12:40 ?436次閱讀

    RTD 3.0.0 示例代碼無法編譯是哪里的問題?

    ) SDK 詳細信息: 代碼生成器項目的“board”子目錄創(chuàng)建似乎既不需要也沒有編譯的文件。這可以通過幾種不同的方式實現(xiàn),但要重現(xiàn)的一個分步說明如下: 1
    發(fā)表于 04-03 06:51

    探索ICS9FG104E:PCIe Gen1/2、USB3.0等設備的頻率生成器解決方案

    探索ICS9FG104E:PCIe Gen1/2、USB3.0等設備的頻率生成器解決方案 電子設備的設計,頻率生成器扮演著至關(guān)重要的角色,它為各種高速接口提供穩(wěn)定的時鐘信號,確保設
    的頭像 發(fā)表于 03-29 17:05 ?930次閱讀

    SBC案例生成器對VisionFive2的支持

    最近收到了我的 VisionFive2,并且是 SBC 模型框架和 SBC 案例生成器的開發(fā)人員,我為那些對標準和自定義案例感興趣的人在這兩個應用程序添加了對 VisionFive2 SBC
    發(fā)表于 03-18 08:21

    探索Renesas 9FGV0431:低功耗PCIe時鐘生成器的卓越之選

    探索Renesas 9FGV0431:低功耗PCIe時鐘生成器的卓越之選 引言 在當今的電子設計領域,PCIe技術(shù)的廣泛應用對時鐘生成器提出了更高的要求。Renesas的9FGV0431作為一款專為
    的頭像 發(fā)表于 03-15 17:25 ?1155次閱讀

    語法糾錯和testbench的自動生成

    ;path 如果環(huán)境變量添加成功后,可以cmd查看xvlog的版本: 然后該拓展設置中選擇linting的工具為xvlog: 選擇后,寫完Verilog
    發(fā)表于 10-27 07:07

    如何通過地址生成器實現(xiàn)神經(jīng)網(wǎng)絡特征圖的padding?

    一些內(nèi)存(BRAM),但是考慮到我們設計的網(wǎng)絡為五層卷積池化結(jié)構(gòu),特征圖BRAM每層卷積結(jié)束之后都進行存儲的復用,因此其大小取決于最大特征圖大小,因此使用稀疏地址生成器并不能大量減少存儲資源消耗
    發(fā)表于 10-22 08:15

    使用Simulink自動生成浮點運算HDL代碼(Part 1)

    引言 想要實現(xiàn)浮點運算功能,如果自己寫Verilog代碼,需要花費較多的時間和精力。好在Simulink HDL Coder工具箱提供了自動代碼生成技術(shù)。下圖展示了HDL Coder如
    發(fā)表于 10-22 06:48

    看不見的安全防線:信而泰儀表如何驗證零信任有效性

    要求,零信任都能提供靈活且高安全性的解決方案。以下是一些典型的零信任應用場景: 在混合云環(huán)境,能進行跨云資源的細粒度策略執(zhí)行,避免數(shù)據(jù)泄露; ? 遠程辦公場景
    發(fā)表于 09-09 15:33

    非對稱密鑰生成和轉(zhuǎn)換規(guī)格詳解

    生成 以字符串參數(shù)生成RSA密鑰,具體的“字符串參數(shù)”由“RSA密鑰類型”和“素數(shù)個數(shù)”使用符號“|”拼接而成,用于創(chuàng)建非對稱密鑰生成器時,指定密鑰規(guī)格。 說明:
    發(fā)表于 09-01 07:50

    為什么無法DAVE? IDE 中導入和編譯 XMC4402/XMC4200 項目?

    該項目不可用。 2)即使項目出現(xiàn)在工作區(qū),我也無法編譯它。 3 此外,導入后DAVE?代碼生成器不起作用。
    發(fā)表于 08-08 07:19

    模型自適應控制永磁同步電機轉(zhuǎn)速的仿真研究

    估計動態(tài)系統(tǒng)非線性函數(shù)和控制律;基于系統(tǒng)輸出誤差提出三個控制規(guī)則生成恰當信號控制電機轉(zhuǎn)速。 Simulink 環(huán)境下建立控制器和永磁同步電機轉(zhuǎn)速仿真系統(tǒng),仿真分析結(jié)果驗證了提出方法控制電機轉(zhuǎn)速
    發(fā)表于 06-25 13:01
    遂溪县| 班戈县| 且末县| 都安| 凤山县| 保山市| 深州市| 东方市| 安丘市| 桑植县| 大港区| 玉屏| 无锡市| 锡林郭勒盟| 浦北县| 普宁市| 宁安市| 兰坪| 正蓝旗| 莱阳市| 镇安县| 屯留县| 忻城县| 股票| 德昌县| 曲阜市| 古浪县| 德昌县| 广州市| 台州市| 扬中市| 沅江市| 皋兰县| 仪陇县| 桂林市| 东阿县| 东平县| 呈贡县| 新化县| 桦南县| 朝阳市|