在汽车与自动化行业,基于模型的开发过程中,从业者希望能够在保证建模效率的同时确保模型质量。此时,合理使用建模工具变得尤为重要。合适的工具不仅能够通过建模规范检查分析测试模型的质量,还能根据分析结果对模型进行自动改进。本篇文章为您介绍广受业界认可的静态测试工具MES Model Examiner® (MXAM) 。从MXAM在静态测试中的应用角色到实际演示与10.0版本功能更新,本文带您透彻了解MXAM如何能轻松帮助您实现优质建模。
MXAM是用于对Simulink®、Stateflow®、Embedded Coder®和TargetLink®模型进行全面静态分析的专业工具,主要应用于软件V型开发流程的左侧设计阶段,覆盖从架构到单元设计和实现的全过程。
基于模型的开发(MBD)依赖基于需求的,测试驱动的工作流来持续地确保质量。软件V型开发流程由左侧的设计阶段和右侧的测试阶段组成。功能质量和功能的适用性是右侧测试阶段的主题,而设计的适用性和设计质量则是设计阶段关注的重点。设计质量和功能质量同样重要,因为模型设计的适用性能够有效促进功能的适用性。
那么,模型设计质量应如何保证? 模型静态测试能够帮助工程师保证模型设计的适用性:不仅可以改进已在开发过程中的模型,还可以通过质量保证前置帮助模型在代码生成前确保质量,生成代码的质量得以有效提升。实际应用中,MXAM支持高度自动化的静态分析并致力于Simulink和TargetLink模型的可读性,鲁棒性,避免模型错误以及改进生成代码。
图1是一个Simulink模型的次级子系统。可以看出,模型目前存在违背建模规范的多项错误。例如第1处,模块命名应位于模块下方,而不是上方。再比如第2处,对于常值模块而言,其命名不应使用具体的、非0和1的数字,而应当设置为参数进行表示。对于模型的可读性来说,图1的信号流未对齐(第3处)。模块的命名应当被清晰识别,而第4处显然不符合建模规范的相关要求。第5处的输入端口隐藏在了系统布局内。此外,出于避免模型错误的出现,第6处的乘积模块不应存在超过两个输入端口…等等,这些问题严重影响了该Simulink模型的可读性和设计质量。图2展示了该模型经过MXAM修改优化后的结果:所有在之前讨论过的错误都被一一准确修正,模型的可读性得到了显著提升。
由此可见,评估模型的建模规范合规性在保证模型质量的实际应用中至关重要。此环节主要评估模型的布局,数据和控制流,数据类型,及其配置情况。模型的布局要求确保模型元素之间的关系和连接方式符合设计规范。模型的数据和控制流要求检验可能的逻辑错误及路径偏差。模型中的数据类型定义必须正确且一致。模型的配置情况则要求模型的配置参数符合设计规范。
通过启动模型分析,MXAM可以向用户展示模型根据建模规范一致性的分析结果报告,如图4所示的分析结果视图。
MoRe现已成为MXAM的一部分。
在前文中已提到,MXAM能够在模型敏捷开发流程的多个阶段提供强有力的支持:加速模型分析流程,快速生成报告,并辅助自动修复。同样来自MES模赛思的MATLAB Simulink扩展建模辅助工具MES Model & Refactor® (MoRe)能够为敏捷开发流程中的建模和修复提供高效帮助。MoRe能将您日常建模中的步骤自动化,省去大量重复单调的操作,帮助您在建模时专注于重要步骤,节约时间,全面提高工作效率。现在,在MXAM全新版本v10.0之下, MoRe已集成在MXAM中。MXAM的功能变得更为全面,全力支持您基于模型的开发过程。如图9所示,这是普通的MXAM安装程序。用户可以在此处选择许可证文件,而MoRe的标志已在此标注。接下来用户可以继续正常的下载步骤,MoRe的下载会自动随MXAM同步进行。MoRe最新版本的所有功能均包含在内,集成在MXAM中和MoRe独立工具使用的体验相同。不仅是自动布局,MoRe同样可以从多角度帮助模型进行快速优化。不论是从将Goto/From模块转换为信号线,或是命名问题, MoRe都可以辅助您改进模型,并节约大量时间。
新版本中,MXAM 对Embedded Coder AUTOSAR运行实体中的参数进行了扩展。在使用Embedded Coder进行模型开发时,如果静态测试包括了自动生成的模型部分,则会导致大量的时间和资源浪费。MXAM v10.0对分析参数进行了扩展(见图11)。如果将此参数设置为“True“,那么MXAM只会对运行实体子系统中的模型元素进行分析。
在开发AUTOSAR模型的过程中,工程师一般通过ARXML文件开始进行模型生成和框架的构建,因而模型会自动生成很多层级以及其他文件。而模型的自动生成部分并非必须进行静态测试,因其必须遵循AUTOSAR提供给您的内容,模型结构固定,对固定部分进行静态测测试会耗费大量不必要的时间和精力。这个新的全局参数能够帮助工程师实现只分析 AUTOSAR运行实体中的模型和函数,这样开发工程师就可以将模型分析专注于实际应用和可以进行更新修改的模型部分,从而节约大量时间。
而对于建模规范而言,MXAM新版本的更新完全围绕主题“功能安全“展开。
建模规范mes_slsf_1500: 确保可重用模型组件具有已解析并启用的链接。本建模规范完全专注于功能安全。在工程师应对可重用模型组件时,应当确保所有链接已解析,如果其中有尚未解析的链接,将模块用未启用的链接进行连接可能会导致潜在的问题。使用本建模规范可以确保模型引用可用且已更新,同时提高了可测试性,确保模型在进入下一个质量保证阶段前一切就绪。
另一项更新来自mes_slsf_2200: 避免舍入模式(Rounding Mode)。绝大多数 Simulink中的计算模块都可以设置特定的舍入模式。此时,确保代码生成的舍入模式都被明确定义十分重要。本建模规范能够避免模型将舍入模式设置为“Simplest”,并且对应的MES检查项中也有对应的检查参数可供使用。
本次更新还包括建模规范mes_slsf_3500: 禁止在Stateflow图中使用用户定义的事件。基于事件的建模可能会导致模型难以维护,出现隐藏控制流和可能的无限递归。同步问题也可能发生,且Stateflow的早期返回逻辑可能导致不良后果。此建模规范可确保模型不会在Stateflow图中使用用户定义的事件,从而防止隐藏控制流出现在模型之中。
除此之外,新版本还添加了对三个版本的TargetLink用户的相应变量类别和全新的MES检查。
如您想了解并体验MXAM v10.0全新版本,欢迎您申请免费试用,了解更多。
作者: MESMarketing, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3969820.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论