吴忠躺衫网络科技有限公司

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

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

3天內不再提示

關于自動代碼生成五大原則分析和介紹

MATLAB ? 來源:djl ? 作者:董淑成 ? 2019-09-17 17:16 ? 次閱讀

10年前,我們經歷了從匯編語言到C語言的轉變,現在,我們是時候經歷從C語言到Simulink模型的轉變了……

從第一次看到這句話到現在又一個10年過去了,10年的時間,很多領域在控制算法軟件開發中已經完成了從C語言到Simulink模型的轉變,當然,也有一些行業正在經歷這樣的轉變,Simulink模型生成C代碼已經成為非常成熟的技術。稍微有些遺憾的是,10年的時間,并沒有像匯編語言到C語言的轉變那樣,讓工程師們幾乎徹底忘掉匯編語言,即便是在基于模型設計最為成熟的汽車行業,也依然有工程師還有翻看自動生成代碼的習慣。

關于自動代碼生成五大原則分析和介紹

下面我來簡單說說和自動代碼生成相關的幾個原則:

拿正確的模型去生成代碼。代碼生成工具不具備糾錯功能,最完美的代碼生成工具,也只能忠實于模型的描述,并將其轉化為C代碼。如果我們不確定模型正確與否,那我們得到的代碼也同樣是不能確保正確。

不對自動生成的代碼做任何手工修改。從軟件工程的角度上來講,在基于模型的開發模式下,模型應該是我們工作和維護的工作產品,所有我們希望在代碼里實現的內容,都應該通過模型或者模型配置去實現。如果我們手工修改自動生成的代碼,那么整個開發過程的可維護性就大大降低,每次面對模型發生變更后生成的代碼,我們都需要經過手工修改。

不看代碼。不看代碼并不絕對,這里主要是指不看算法的實現代碼。在生成的.C和.H文件中,H文件作為和其他模塊的接口文件,還是會有工程師去看看你這個模塊到底定義了哪些全局的函數以及變量的。

管理你關心的數據。代碼生成階段的主要工作是數據管理工作,配置Simulink模型中需要關注的數據,這里主要是信號參數,并將其按照項目的要求,生成為C代碼中的變量和參數。對于那些不需要關注的數據,不建議做過多的配置,只要按照默認的規則生成變量即可。再羅嗦一句,我們只管理我們關心的數據,比如,跟其他模塊之間的接口數據、需要標定的參數以及需要觀測的變量。

代碼的驗證。這里我要扯一下ISO 26262的大旗,沒辦法,ISO 26262出現之前,我也曾堅持在這種開發模式下無需對代碼做靜態驗證,也無需對代碼做動態測試,很多人難以接受我的觀點,現在好了,在客戶面前,我不再說這是我的觀點,而是ISO 26262里面的條款。傳統模式下的靜態、動態驗證不需要了,但是,代碼是否就無需驗證了呢?非也,代碼依然要經過充分驗證,只是,在假設模型已經經過充分驗證的前提下,這里只要再驗證代碼和模型一致即可,驗證的方法,也就是我們非常熟悉的SIL和PIL,ISO 26262里面稱之為back-to-back測試。

我個人觀點,盡量不要在代碼生成這件事上耗費過多的心思。當然,“強迫癥患者”我也接觸過一些,雖說道理上講理解可以不看代碼,但還是忍不住要去關心代碼,希望代碼生成工具能夠生成出來自己希望看到的代碼。我是工程師,不是老中醫,我這里沒有藥到病除的方子,我希望能做到的是讓你的病情轉移。

你不是因為強迫癥要關注代碼嗎?

那你的模型測試是否充分?

MC/DC覆蓋是否已經達到了100%?

強迫自己把模型測到盡可能充分吧,這才是有利于你產品品質提升的事情。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 靜態驗證
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6019
  • 自動代碼
    +關注

    關注

    0

    文章

    2

    瀏覽量

    6080
收藏 人收藏

    評論

    相關推薦

    五大云計算平臺的建設原則,缺一不可!

    云計算平臺建設需遵循五大原則:可擴展性、高可用性、安全性、靈活性、合理的成本效益,以實現高效、可靠、安全、靈活且經濟的云服務。UU云小編認為云計算平臺的建設原則具體涵蓋以下幾個方面:
    的頭像 發表于 01-20 10:18 ?73次閱讀

    德州儀器分析服務器電源設計中的五大趨勢

    服務器電源設計中的五大趨勢: 功率預算、冗余、效率、工作溫度 以及通信和控制 并分析預測 服務器 PSU 的未來發展趨勢
    的頭像 發表于 01-11 10:15 ?908次閱讀
    德州儀器<b class='flag-5'>分析</b>服務器電源設計中的<b class='flag-5'>五大</b>趨勢

    詳解SMT工藝的原則

    SMT(表面貼裝技術)工藝中的原則,是工程師在選擇焊膏時的一個重要指導原則,它確保了焊接的可靠性和質量。以下是對原則的詳細解釋:
    的頭像 發表于 12-04 09:11 ?251次閱讀
    詳解SMT工藝的<b class='flag-5'>五</b>球<b class='flag-5'>原則</b>

    探索設計稿自動生成Flutter代碼的技術方案

    的工具和方法,最后嘗試大模型生成flutter代碼在項目中的實踐。 一、美團的探索 美團在2021年3月25日發表了一篇關于設計稿自動生成
    的頭像 發表于 11-08 10:09 ?1032次閱讀
    探索設計稿<b class='flag-5'>自動</b><b class='flag-5'>生成</b>Flutter<b class='flag-5'>代碼</b>的技術方案

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發表于 11-05 11:45 ?446次閱讀
    如何<b class='flag-5'>自動</b><b class='flag-5'>生成</b>verilog<b class='flag-5'>代碼</b>

    邊緣計算網關五大核心特點

    在物聯網的浪潮中,邊緣計算網關如同一座橋梁,連接著物理世界與數字世界。它以其獨特的特性,為數據處理、網絡連接和系統安全提供了全新的解決方案。以下是邊緣計算網關的五大核心特點,這些特點共同塑造了其在物
    的頭像 發表于 10-28 17:21 ?289次閱讀

    代碼解析工具與自動化流程圖生成解決方案

    ? 摘要:CasePlayer2是一款強大的源代碼解析工具,專門設計用于分析ANSI C、C、C++以及匯編語言源代碼,并自動化地生成流程圖
    的頭像 發表于 10-10 13:40 ?344次閱讀

    關于Makefile自動生成-autotools的使用

    的Makefile并非日常任務,但遇見需要構建大型軟件項目時,利用工具自動生成Makefile就顯得尤為關鍵。接下來,我們將重點介紹一款自動化構建工具——Autoto
    的頭像 發表于 07-25 15:50 ?1552次閱讀
    <b class='flag-5'>關于</b>Makefile<b class='flag-5'>自動</b><b class='flag-5'>生成</b>-autotools的使用

    聚徽觸控-工控主板的五大優勢分別是什么

    工控主板的五大優勢主要如下:
    的頭像 發表于 07-17 09:58 ?360次閱讀

    普通測徑儀和智能測徑儀的五大區別

    五大區別。 一、測量精度與穩定性的差異 普通測徑儀通常采用機械或光學原理進行測量,其測量精度受到機械結構、光學元件以及環境因素的影響較大,因此其精度和穩定性相對有限。而智能測徑儀則采用更先進的激光掃描
    發表于 05-29 17:33

    ISEDA首發!大語言模型生成代碼到底好不好使

    在大模型席卷一切、賦能百業的浪潮里,“碼農”也沒能獨善其身。各種代碼自動生成的大模型,似乎描繪了一個人人都能像資深工程師一樣寫代碼的美好未來。 但在這個理想成為現實之前,有一個不能回避
    發表于 05-16 13:41 ?367次閱讀
    ISEDA首發!大語言模型<b class='flag-5'>生成</b>的<b class='flag-5'>代碼</b>到底好不好使

    關于氣密性檢測儀的五大優勢,你get到了嗎

    在現代工業生產中,產品的氣密性檢測已經成為一個關鍵步驟。為了保證產品的質量和性能,密封操作尤為關鍵。氣密性檢測儀作為一種專業的檢測儀器,其五大優勢在許多行業得到了廣泛的應用。接下來,讓我們揭示它的五大優勢。
    的頭像 發表于 04-09 14:30 ?429次閱讀
    <b class='flag-5'>關于</b>氣密性檢測儀的<b class='flag-5'>五大</b>優勢,你get到了嗎

    分布式存儲系統的七大原則之二:區分環境數據與業務數據

    在之前討論的分布式存儲系統七大原則的第一原則中,我們了解了容災切換和數據備份的差異。現在,我們繼續探索第二原則:區分環境數據與業務數據。這一原則強調了兩種類型數據在變化頻率、價值以及數
    的頭像 發表于 03-11 09:42 ?404次閱讀

    .sct文件自動生成了一堆代碼,并且有warning是什么原因導致的?

    .sct文件自動生成了一堆代碼,并且有warning,手動改回去后編譯,警告消失,重新編譯又自動生成代碼
    發表于 03-07 06:39

    AI PC元年,全球前五大PC廠商如何領跑?

    是19.8%、15%、10.6%和7.1%。 當前,包括群智咨詢(Sigmaintell)IT研究總監李亞妤在內的分析師,以及廣泛的從業者都認為,2024年是全球AI PC元年。那么,作為全球前五大PC廠商,如何應對這波產業機遇呢?
    的頭像 發表于 02-26 08:09 ?3985次閱讀
    AI PC元年,全球前<b class='flag-5'>五大</b>PC廠商如何領跑?
    呈贡县| 丰禾娱乐| 24山亥山巳向造葬日课| 克山县| 百家乐第三张规则| 百家乐官网专用桌子| 百家乐官网休闲游戏| 大发888真人娱乐场| 百家乐视频游戏平台| 百家乐官网赌场详解| 皇冠正网| 威尼斯人娱乐百利宫| 至尊百家乐奇热网| 老人头百家乐官网的玩法技巧和规则| 百家乐官网路单资料| 2011棋牌游戏赢话费| 威尼斯人娱乐城是真的吗| 百家乐扫描技术| 保单百家乐路单| 百家乐官网b28博你发v| 百家乐官网新注册送彩金| 辽源市| 新葡京娱乐城官方网址| 大发888娱乐真钱游戏 下载| 威尼斯人娱乐网网上百家乐的玩法技巧和规则 | 羊和鼠做生意摆件| 战神百家乐官网的玩法技巧和规则| 百家乐官网筹码方形筹码| 美乐门娱乐| 澳门赌球网| 足球竞猜规则| 久盛国际娱乐场| 威盈| 网络真钱游戏| 赌博游戏网站| 舟山星空棋牌游戏大厅下载| 大发888促销活动| 太阳城投诉| 大发888注册就送58| 大发888游戏攻略| 365足球备用|