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

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

3天内不再提示

知识分享 | 轻松实现优质建模

北汇信息POLELINK 2024-09-12 08:08 次阅读


在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术知识。

轻松实现优质建模

前言

在基于模型的开发(MBD)领域,模型的质量对于最终产品的成功至关重要。通过阅读本文,您可了解如何提升模型质量,并在整个开发过程中确保模型的一致性和质量。

什么是更好的建模?

更好的建模,也被称为是创建卓越软件模型的方法,对于开发高质量的软件至关重要。这一方法的关键方面包括通过精心的布局和设计保持一致的外观,确保对象和信息不被隐藏或遮挡,并遵循结构化的方法。例如,信号流应当遵循从左到右的方向,应避免信号线交叉,所有模块名称的位置应当固定在特定位置以保持一致性。这种全面的方法可确保模型不仅在视觉上清晰明确,更能保证模型的健壮性和无误,最终提高代码质量。

如何让模型变得更好?

为了实现更好的模型,关注几个关键方面非常重要。以下是其中部分内容的详细解析:

1. 一致的布局和设计:

局和设计对于模型具有良好的建模风格相当重要,有助于创建外观一致的更好的模型。例如,确定模型输入端口和输出端口的数量十分重要。随意的建模风格可能会对模型的可读性和可理解性有重大影响,这也是为什么需要通过通用风格指南来确保模型易于理解的原因,尤其是对于外部评审人员来说。

信号流:信号流应当遵循从左至右的方向,即从左侧的所有输入端口到位于右侧的所有输出端口。

信号线交叉:应避免或明确信号线交叉。

模块名称:所有模块名称的位置都应固定在一个特定的位置,比如模块下方。

1bfd894c-709b-11ef-bb4b-92fbcf53809c.png

图1: 从左至右的信号流

2. 可读性和可理解性:

为了确保模型易于理解,通用风格指南必不可少。模型的设计不应隐藏或遮挡相关对象和信息。例如,有些模块可能难以识别,这使得他们是否是常量或其数值的含义不够清楚。一个拥有良好设计的模型应当确保模块清晰可识别、大小合适,并对常量明确命名,以避免混淆。

魔法常量:"Magic constants(魔法常量)"是来源或含义不明确的值,应当避免。这些不明确的值可导致误解和错误。风格指南建议在工作区中对常量进行命名和定义,以此来增加可理解性和可维护性,帮助区分不同的常量并明确它们在模型中的作用。

信号命名:一致的信号命名可提升数据流的可理解性,并减少维护工作量。总体上讲,它还有助于提高整个模型的可理解性。

1c1166ce-709b-11ef-bb4b-92fbcf53809c.gif

图2: 信号流的可读性和可理解性

3. 健壮性和避免错误:

除了确保模型布局的一致性和清晰的可读性,建模风格指南同样强调模型的健壮性,并避免易出错的建模模式。这些指南旨在提升生成代码的可测试性和质量。比如,一个设计不当的模型可能导致功能问题。此处考虑一个有三个操作数的乘积运算模块;根据信号流的顺序和数据类型,此操作可能会产生不同的结果,从而潜在地导致错误。为了避免这样的问题,应当采用级联(cascade)方式进行建模操作,即根据要求明确定义操作的步骤顺序。通过将以上所有推荐考虑在内并应用风格指南,最终的模型的健壮性和可靠性更加优秀,功能性显著提升,并且降低出错的可能性。

强数据类型:信号和接口的数据类型需强类型化,因为不一致的数据类型会导致代码效率低下、精度降低、或范围违规。

如何实现更好的模型?

在MBD流程中,提高模型质量对于交付成功的最终产品至关重要。MES Model Examiner (MXAM)和MES Model & Refactor (MoRe)是实现这一目标必不可少的工具。值得一提的是,现在MoRe已集成在所有MXAM用户许可证中,用户获得了使用高级建模功能的权限。

MXAM提供全面的静态分析,确保模型符合AUTOSAR和ISO 26262等标准。它评估模型结构和度量指标,并提供检查建模规范的最优方法。这有助于保持模型布局和设计的一致性,使模型在视觉上清晰易读。同时,MXAM还能自动修复违背建模规范的地方,避免”魔法常量“和确保命名惯例清晰明确,提升模型的可读性和可理解性。

MoRe与MXAM相辅相成,通过在Simulink中自动创建符合建模规范的模型布局,显著降低模型重构时间,并提升一致性。这样自动化帮助最大程度上减少手动错误,提高模型的健壮性和可靠性。通过确保以级联(cascade)方式进行建模操作,MoRe降低了功能问题出现的可能性,使模型健壮性提升,并且无错误。

MXAM和MoRe可共同简化开发流程,确保创建模型的设计一致、易于理解、健壮且不易出错。这样的集成最终会带来更高质量的软件开发和更高效的工作流程。

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

    关注

    11

    文章

    2734

    浏览量

    76158
  • MES
    MES
    +关注

    关注

    5

    文章

    822

    浏览量

    29591
  • MBD
    MBD
    +关注

    关注

    0

    文章

    24

    浏览量

    8860
收藏 人收藏

    评论

    相关推荐

    基于labview的小车测试系统轨道建模实现

    我是个初学者 请问前辈们基于labview的小车测试系统轨道建模实现怎么做啊如果有做过的发一份 感激不尽啊!~~ 亲!{:soso_e183:}
    发表于 04-09 11:24

    软件工程之全程建模实现

    本帖最后由 lee_st 于 2016-11-7 10:40 编辑 软件工程之全程建模实现,45m,分3个压缩包
    发表于 11-07 10:36

    木雕的扫描建模如何实现

    `木雕的扫描建模如何实现?随着3D雕刻设备在木雕行业的普及,一台数控立体雕刻机可以同时制作数个立体或平面木雕工艺品,大大简化传统木雕行业的雕刻周期与难度。而3D雕刻工作前提是要有完整的木雕3D模型
    发表于 07-31 11:49

    怎么实现基于AUTOSEA仿真软件的汽车声学建模

    怎么实现基于AUTOSEA仿真软件的汽车声学建模
    发表于 05-12 06:31

    如何轻松实现对步进电机的控制?

    如何轻松实现对步进电机的控制?
    发表于 10-15 06:02

    如何轻松实现传感器信号调理

    教你如何轻松实现传感器信号的调理。
    发表于 08-03 10:39 47次下载

    网络管理服务行为建模实现

    基于服务的软件开发方法,围绕网络管理服务系统形式化建模,通过对网管服务活动建模实现了一个基于服务的网络管理系统。提出的网络管理服务系统建模方法可以较好的
    发表于 12-25 16:27 15次下载

    Magma推出下一代知识产权参数特征化及建模工具

    Magma推出下一代知识产权参数特征化及建模工具 Magma宣布推出业界标准SiliconSmart产品线新产品——下一代知识产权参数特征化及建模工具SiliconSmart ACE
    发表于 12-22 08:38 1037次阅读

    《全面详解LTE:MATLAB建模、仿真与实现》.PPT

    全面详解LTE:MATLAB建模、仿真与实现
    发表于 05-21 11:09 15次下载

    关于图神经网络对知识图谱的建模浅解

    随着对图神经网络研究的深入,越来越多的研究者开始使用更具表达力的图神经网络对知识图谱进行建模
    的头像 发表于 04-03 10:37 2558次阅读
    关于图神经网络对<b class='flag-5'>知识</b>图谱的<b class='flag-5'>建模</b>浅解

    轻松实现Apache Tomcat集群负载均衡

    轻松实现Apache Tomcat集群负载均衡(安徽理士电源技术有限公司6一Qw一45R12V45Ah)-轻松实现Apache,Tomcat集群和负载均衡            
    发表于 08-31 10:43 4次下载
    <b class='flag-5'>轻松</b><b class='flag-5'>实现</b>Apache Tomcat集群负载均衡

    在MATLAB/simulink中建模时的两种不同实现方式

    导读:本期文章主要介绍在MATLAB/simulink中建模时的两种不同实现方式,一种是直接用现成的文件库中的模块进行搭建,一种是用Sfunction代码实现。接下来以电压型磁链观测器为建模
    的头像 发表于 09-15 10:07 1723次阅读

    MATLAB/simulink中两种实现建模方式的优势

    导读:本期文章主要介绍在MATLAB/simulink中建模时的两种不同实现方式,一种是直接用现成的文件库中的模块进行搭建,一种是用Sfunction代码实现。接下来以电压型磁链观测器为建模
    的头像 发表于 09-15 10:10 4758次阅读

    优质LDO基础知识分享

    本节分享下LDO的基础知识,主要来源于Ti的文档《LDO基础知识》。
    的头像 发表于 03-26 11:03 1218次阅读

    新型数据知识驱动的元宇宙建模框架方案

    本文采用深度学习为主要研究手段,运用知识图谱、生成式对抗网络、“元宇宙”等相关理论和方法,结合提出的数据知识驱动的新型框架,针对以实现传统作战环境建模的表现力差、扩展性弱的现状进行一种
    发表于 05-11 15:23 628次阅读
    新型数据<b class='flag-5'>知识</b>驱动的元宇宙<b class='flag-5'>建模</b>框架方案