0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于基于模型设计的好处分析和介绍

MATLAB 来源:djl 2019-09-17 17:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式软件开发为什么要使用基于模型的设计?

对这个问题,最不希望听到的回答是:

因为GM在使用基于模型设计,因为BMW在使用基于模型设计,所以我们也要使用基于模型设计……

好吧,或许他们可以作为借鉴,但是我们是否认真想过:

基于模型的设计能给我们的开发带来什么样的好处?

弄清这个问题,是我们在后续有效使用基于模型设计开发嵌入式软件的前提。

这里我引用一下若干年前MathWorks公司CEO——Jack Little的说法,在嵌入式软件开发过程中,基于模型的设计至少可以给我们带来四个方面的好处:

1图形化设计

对于基于模型的设计来讲,图形化设计是天然的、固有的。图形化的优势,工程师们都非常清楚,明确、清晰、唯一,便于交流、便于维护,这也是为什么就算我们不用基于模型设计的方式开发软件,也需要在设计文档中画流程图、状态机的原因。

需要注意的是,我们需要把Simulink模型画到清晰、明确,便于交流、便于维护。

2早期验证

话说软件开发过程中,bug的引入难以避免。人非圣贤、孰能无过,引入bug不可怕,能否尽快发现bug对整个开发过程至关重要。这里提到“早期”,什么是“早期”?你某一个阶段的工作产品出来之后,紧跟着就要做验证工作。对于早期验证,以前的方式比较单一,通常我们使用评审的方式去实现最早期的验证,以至于Peer Review在很多公司的流程中被固化下来了,写完文档要评审,做完设计要评审,写完代码还要评审,写好测试用例也要评审。如果我们翻看一些软件工程的教材或者文献,大家对评审的评价非常高,因为在这个阶段每发现一个错误,都会给后续的开发过程带来很多便利,但遗憾的是,评审的效率通常不高。

关于基于模型设计的好处分析和介绍

使用基于模型设计去开发软件,除了评审,我们还有更高效的早期验证方式,包括Simulink模型本身固有的仿真,以及通过形式化方法工具对模型进行形式化的分析。

3代码的自动生成

自动生成代码通常是使用基于模型设计进行软件开发的工程师最容易关注的优势。代码都不用写了,“码农”从此跟我无关,还有什么比这事更美好的呢?确实,从开发效率来讲,这个环节,对于效率的提升,是无法量化的,原本需要一个月时间写完的代码,现在可能只要一个上午或者两个小时就可以搞定,谁帮我算一下工作效率提升了多少?不少人对代码生成的开发效率没有质疑,但对生成代码的代码效率却不够放心。这事,很多人都比过,SAE上也能找到这样的论文。通俗点讲,从效率上,生成的代码在各种效率上(RAMROM、执行时间等)不比大学毕业后工作了5年的工程师差。当然,遇到那种“写代码像写诗一样”的工程师,代码生成工具还是要甘拜下风的。不过,“写代码像写诗一样”的工程师我们又见过几人?

4文档自动化

对于文档,我说两点:

工程师大多不愿意写文档;

开发过程中文档又是不可缺少的。

有三个字足以证明上面两条,那就是“补文档”。在基于模型设计的开发过程中,我们可以通过软件读取模型中相关信息并自动创建文档,实现文档自动化。

上面提到了基于模型设计能给我们带来的好处,也正是因为基于模型的设计可以给我带来上述好处,所以我们才应该使用基于模型的设计。

除上述优势之外,软件规模的爆炸式增长也是使用基于模型的设计开发软件的一个重要原因。我想很多人都会有很深刻的体会,近年来软件规模在快速膨胀,各种机电产品的功能、性能大多通过软件的方式去实现、去提升。

NASA做过研究,汽车、航天器等产品的代码量这些年都在呈指数级增加,战斗机从1960年的F-4约8%的功能由软件实现到2000年的F-22约有80%的功能由软件实现,其他机电系统也差不多。软件规模的快速膨胀,给验证和实现都带来了很大困难。

原有的开发模式难以应对,新的开发模式必然会出现。即便是没有MathWorks、没有Simulink,也会有其他产品去实现基于模型的设计,这不是单单一个MathWorks能够推动的,而是技术发展到这一阶段的必然。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动化
    +关注

    关注

    30

    文章

    5888

    浏览量

    89283
  • 图形化
    +关注

    关注

    0

    文章

    57

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于NFC镍锌铁氧体片的介绍

    关于NFC镍锌铁氧体片的介绍
    的头像 发表于 12-04 10:52 69次阅读
    <b class='flag-5'>关于</b>NFC镍锌铁氧体片的<b class='flag-5'>介绍</b>

    关于系统链接脚本的介绍

    一、队伍介绍 本篇为蜂鸟E203系列分享第四篇,本篇介绍的内容是系统链接脚本。 二、如何实现不同的下载模式? 实现三种不同的程序运行方式,可通过makefile的命令行指定不同的链接脚本,从而实现
    发表于 10-30 08:26

    知识分享 | 使用MXAM进行AUTOSAR模型的静态分析:Embedded Coder与TargetLink模型

    分析:EmbeddedCoder与TargetLink模型文章内容来源:MES模赛思官方网站AUTOSAR(AUTomotiveOpenSystemARchite
    的头像 发表于 08-27 10:04 501次阅读
    知识分享 | 使用MXAM进行AUTOSAR<b class='flag-5'>模型</b>的静态<b class='flag-5'>分析</b>:Embedded Coder与TargetLink<b class='flag-5'>模型</b>

    模型在半导体行业的应用可行性分析

    的应用,比如使用机器学习分析数据,提升良率。 这一些大模型是否真的有帮助 能够在解决工程师的知识断层问题 本人纯小白,不知道如何涉足这方面 应该问什么大模型比较好,或者是看什么视频能够涉足这个行业
    发表于 06-24 15:10

    十字形多自由度超声电机接触分析模型研究

    摘 要:十字形多自由度超声电机其动子绕X、Y轴旋转与绕Z轴旋转的驱动机理是不同的,根据弹性接触理论,对其进行了分别考虑,并建立了电机摩擦接触分析模型。利用建立的模型,对多自由度电机机械特性进行了估算
    发表于 06-17 09:04

    FA模型的DataAbility的切换介绍

    ,Stage模型下的DataShareExtensionAbility为系统API,只有系统应用才可以创建。因此,FA模型的DataAbility的切换,对于系统应用和三方应用策略有所不同。下面分别介绍
    发表于 06-06 08:10

    FA模型的ServiceAbility的切换介绍

    的ServiceExtensionAbility为系统API,只有系统应用才可以创建。因此,FA模型的ServiceAbility的切换,对于系统应用和三方应用策略有所不同。下面分别介绍这两种场景。 系统
    发表于 06-05 07:24

    FA模型绑定Stage模型ServiceExtensionAbility介绍

    FA模型绑定Stage模型ServiceExtensionAbility 本文介绍FA模型的三种应用组件如何绑定Stage模型的Servi
    发表于 06-04 07:55

    如何将一个FA模型开发的声明式范式应用切换到Stage模型

    模型切换概述 本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型,您需要完成如下动作: 工程切换:新建一个Stage模型
    发表于 06-04 06:22

    IGBT模块吸收回路分析模型

    尽管开关器件内部工作机理不同,但对于吸收电路的分析而言,则只需考虑器件的外特性,IGBT关断时模型可以等效为电压控制的电流源,开通时可以等效为电压控制的电压源。下面以下图所示的斩波器为例提出一般
    的头像 发表于 05-21 09:45 954次阅读
    IGBT模块吸收回路<b class='flag-5'>分析</b><b class='flag-5'>模型</b>

    关于AI工厂三阶段模型

    转型计划将AI技术深度融入智慧制造、智慧电动车与智慧城市三大领域,标志着鸿海从传统制造向智能化、平台化的全面升级。关于AIFactory,此次发布AI工厂三阶段模型,从
    的头像 发表于 05-20 23:26 1197次阅读
    <b class='flag-5'>关于</b>AI工厂三阶段<b class='flag-5'>模型</b>

    KaihongOS操作系统FA模型与Stage模型介绍

    FA模型与Stage模型介绍 KaihongOS操作系统中,FA模型(Feature Ability)和Stage模型是两种不同的应用
    发表于 04-24 07:27

    IBIS模型中的Corner参数处理

    本文聚焦IBIS(I/O Buffer Information Specification)模型中的Corner(Typ/Min/Max)参数处理,系统分析Corner的定义规则及其对信号完整性
    的头像 发表于 04-23 16:10 1012次阅读
    IBIS<b class='flag-5'>模型</b>中的Corner参数处理

    数字孪生场景构建好处的详细阐述

    生命周期的映射和管理。这一技术带来了诸多好处,以下是对这些好处的详细阐述: 一、预测性维护与优化运营 数字孪生 模型能够实时监测和预测设备或系统的运行状态,从而提前发现潜在故障并进行预防性维护。这种预测性维护降低了
    的头像 发表于 12-26 14:57 713次阅读

    【「大模型启示录」阅读体验】营销领域大模型的应用

    今天跟随「大模型启示录」这本书,学习在营销领域应用大模型。 大模型通过分析大量的消费者数据,包括购买历史、浏览记录、社交媒体互动等,能够识别消费者的偏好和行为模式。这种
    发表于 12-24 12:48