在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术知识。
轻松实现优质建模
在基于模型的开发(MBD)领域,模型的质量对于最终产品的成功至关重要。通过阅读本文,您可了解如何提升模型质量,并在整个开发过程中确保模型的一致性和质量。
更好的建模,也被称为是创建卓越软件模型的方法,对于开发高质量的软件至关重要。这一方法的关键方面包括通过精心的布局和设计保持一致的外观,确保对象和信息不被隐藏或遮挡,并遵循结构化的方法。例如,信号流应当遵循从左到右的方向,应避免信号线交叉,所有模块名称的位置应当固定在特定位置以保持一致性。这种全面的方法可确保模型不仅在视觉上清晰明确,更能保证模型的健壮性和无误,最终提高代码质量。
为了实现更好的模型,关注几个关键方面非常重要。以下是其中部分内容的详细解析:
布局和设计对于模型具有良好的建模风格相当重要,有助于创建外观一致的更好的模型。例如,确定模型输入端口和输出端口的数量十分重要。随意的建模风格可能会对模型的可读性和可理解性有重大影响,这也是为什么需要通过通用风格指南来确保模型易于理解的原因,尤其是对于外部评审人员来说。
信号流:信号流应当遵循从左至右的方向,即从左侧的所有输入端口到位于右侧的所有输出端口。
信号线交叉:应避免或明确信号线交叉。
模块名称:所有模块名称的位置都应固定在一个特定的位置,比如模块下方。
图1: 从左至右的信号流
2. 可读性和可理解性:
为了确保模型易于理解,通用风格指南必不可少。模型的设计不应隐藏或遮挡相关对象和信息。例如,有些模块可能难以识别,这使得他们是否是常量或其数值的含义不够清楚。一个拥有良好设计的模型应当确保模块清晰可识别、大小合适,并对常量明确命名,以避免混淆。
魔法常量:"Magic constants(魔法常量)"是来源或含义不明确的值,应当避免。这些不明确的值可导致误解和错误。风格指南建议在工作区中对常量进行命名和定义,以此来增加可理解性和可维护性,帮助区分不同的常量并明确它们在模型中的作用。
信号命名:一致的信号命名可提升数据流的可理解性,并减少维护工作量。总体上讲,它还有助于提高整个模型的可理解性。
图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可共同简化开发流程,确保创建模型的设计一致、易于理解、健壮且不易出错。这样的集成最终会带来更高质量的软件开发和更高效的工作流程。
知识分享 | MXAM - 静态测试工具的最佳选择
知识分享 | Simulink模型指标分析与模型重构的最佳实践
MoRe功能演示: 改进模型布局、子系统分区、更改信号及接口等
关于我们
MES模赛思于2006年在德国柏林成立,多年来致力于保障基于模型的嵌入式软件的质量。为基于模型的软件开发提供软件质量工具、培训课程和咨询服务。
点击“阅读原文”了解更多信息