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

    文章

    8

    浏览量

    6274
  • 自动代码
    +关注

    关注

    0

    文章

    2

    浏览量

    6140
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电力光缆选型与敷设——工程人必看的实用指南

    电力光缆的选型和敷设是电力通信工程中最关键的环节,选错型号可能导致通信中断、安全事故甚至巨额返工。本文从工程实践角度,梳理选型与敷设的核心要点。 一、选型五大原则 原则1:根据电压等级选类型 电压
    的头像 发表于 05-22 10:19 50次阅读

    频谱分析仪的五大核心参数

    在射频测试中,真正懂频谱仪不仅是会操作,更在于理解决定其性能的五大核心参数。它们如同观察电磁世界的“官”,决定了仪器能看到什么、分多清、测多准、抓多快。 一、频率范围:决定“能看哪个频段的信号
    的头像 发表于 04-08 15:02 181次阅读
    频谱<b class='flag-5'>分析</b>仪的<b class='flag-5'>五大</b>核心参数

    直供微电网设计中,设备选型的基本原则是什么?

    、运行模式灵活”的特性,需围绕“安全优先、适配场景、经济高效、可靠可控、绿色兼容”五大核心导向,建立科学的设备选型原则体系。以下将从五大核心原则出发,详细拆解直供微电网设备选型的关键逻
    的头像 发表于 01-16 10:12 508次阅读
    直供微电网设计中,设备选型的基本<b class='flag-5'>原则</b>是什么?

    国内五大星地数据大模型ai融合分析与应用分系统软件介绍

        虽未明确划分“星地数据大模型AI融合分析与应用”的五大分系统,但北京华盛恒辉、北京木恒润、Anthropic、MetaAI和SpaceX等机构已通过关键技术突破与场景深耕,构建了具有代表性
    的头像 发表于 12-29 10:49 203次阅读

    五大大模型支撑后勤保障方案生成系统软件的应用与未来发展

        在后勤保障领域,五大以大模型或智能技术为核心支撑的系统方案显著提升了保障的智能化与效率,包括:北京华盛恒辉与木恒润的大模型驱动方案生成系统、英国HUMS健康与使用监控系统、以色列“智慧营区
    的头像 发表于 12-17 15:24 458次阅读

    电能质量在线监测装置生成的月度分析报告包含哪些内容?

    、指标统计、事件分析、问题诊断、治理建议” 五大核心模块,兼具 合规性、数据支撑性、实操指导性 ,具体如下: 一、报告基础信息(封面 + 监测概况) 1. 报告封面(标准化抬头) 核心要素:报告名称(如 “XX 变电站 10kV 母线电能质量月度
    的头像 发表于 12-10 16:58 1827次阅读
    电能质量在线监测装置<b class='flag-5'>生成</b>的月度<b class='flag-5'>分析</b>报告包含哪些内容?

    语法纠错和testbench的自动生成

    ,回到写好的Verilog代码,按住ctrl+shift+p,在弹出的搜索框里输入testbench。 点击后会自动将当前模块的testbench生成在终端框内。 当然,本质上该插件还是通过python来实现的,因此
    发表于 10-27 07:07

    使用Simulink自动生成浮点运算HDL代码(Part 1)

    引言 想要实现浮点运算功能,如果自己写Verilog代码,需要花费较多的时间和精力。好在Simulink HDL Coder工具箱提供了自动代码生成技术。下图展示了HDL Coder如
    发表于 10-22 06:48

    探秘安全生产预警预测系统的五大顶尖平台

    探秘安全生产预警预测系统的五大顶尖平台
    的头像 发表于 10-16 09:56 1518次阅读
    探秘安全生产预警预测系统的<b class='flag-5'>五大</b>顶尖平台

    影响同步带模组成本的五大核心变量分析

    影响同步带模组成本的五大核心变量
    的头像 发表于 10-15 17:52 817次阅读
    影响同步带模组成本的<b class='flag-5'>五大</b>核心变量<b class='flag-5'>分析</b>

    五大电磁频谱管理监测系统软件:有哪些优点和缺点

    五大电磁频谱管理监测系统软件:有哪些优点和缺点
    的头像 发表于 09-28 16:50 1049次阅读
    <b class='flag-5'>五大</b>电磁频谱管理监测系统软件:有哪些优点和缺点

    五大电磁频谱管理系统:原理、架构与应用全景解析

    五大电磁频谱管理系统:原理、架构与应用全景解析
    的头像 发表于 09-26 10:21 734次阅读
    <b class='flag-5'>五大</b>电磁频谱管理系统:原理、架构与应用全景解析

    五大海上安全事件应急处置系统:有哪些优点和缺点

    五大海上安全事件应急处置系统:有哪些优点和缺点
    的头像 发表于 09-04 17:09 1277次阅读
    <b class='flag-5'>五大</b>海上安全事件应急处置系统:有哪些优点和缺点

    隧道施工安全管理系统:构筑隧道施工安全防线隧道五大系统

    隧道施工安全管理系统隧道五大系统建设隧道人员定位
    的头像 发表于 08-12 12:05 1076次阅读
    隧道施工安全管理系统:构筑隧道施工安全防线隧道<b class='flag-5'>五大</b>系统

    电商API的五大应用场景:解锁增长新机遇

    新的商业机会。本文将深入探讨电商API的五大应用场景,展示它们如何解锁增长新机遇。每个场景均结合实际案例和关键指标,确保内容实用且可操作。 1. 支付集成:确保安全高效的交易处理 支付API是电商平台
    发表于 06-24 14:29