1基于SCADE Display模型的基础验证活动
由于SCADE Display同样是使用基于模型的开发和验证方式,所以使用SCADE Display后,验证手段也是在评审、分析和测试的基础上多了模型仿真。绝大部分验证活动概念相关的内容可参考《基于SCADE Suite模型的验证》第一章节的内容,本文不再赘述。下面先介绍大规模自动化验证前的测试活动。
1.1 模型检查与模型更正
模型检查是模型仿真测试的基础。但不同于SCADE Suite有一系列必需检查的严格的语法语义规则,SCADE Display模型检查的规则是可定制的,规则主要涉及两大类:1. 检查是否满足常用图形设计建模要求,例如圆、弧的半径不应为0,一些命名规则定义等;2. 检查是否满足通用的图形绘制性能要求,例如没有多余的坐标转换,遮罩数量要有限制。通过工具栏菜单Project->Project Properties->Design Checker Rules application可以启用或者禁用需要的规则。
图表1: SCADE Display模型设计规则的定制选择
选定这些规则后,用户可以通过图形化方式(菜单Project->Checker->Check layer)或命令行方式来调用模型检查功能,检查对象可以是当前层,也可以是选定的部分元素组成的上下文环境。
图表2: SCADE Display检查模型是否符合定制的设计规则
检查无误,会返回正确的提示。
图表3 SCADE Display模型定制规则检查无误
检查有误,则会弹出专门的对话框,提示错误对象、错误原因和推荐的修改方法。
图表4 SCADE Display模型定制规则检查有误,并提供修改建议
模型更正是包含模型检查的活动,区别在与1.模型更正无法以命令行方式调用;2.模型更正提供一键遵循推荐方法改正的功能;3. 模型更正后可能会引入新的警告或者错误。通过菜单Project->Corrector->Correct layer启动模型更正后的,SCADE Display先进行模型检查。
图表5 SCADE Display更正模型是否符合定制的设计规则
检查无误,会返回正确的提示。
图表6 SCADE Display模型更正检查无误
检查有误,则会弹出专门的对话框,提示错误对象、错误原因和推荐的修改方法,如果用户愿意根据推荐的方法修改,支持单击Apply按钮一键修改应用。
图表7 SCADE Display模型定制更正检查有误,并提供修改建议和修改操作
SCADE Display认证级的代码生成器也含有检查模型的功能,因此也可以使用代码生成器对模型的正确性进行检查。该功能是在命令行方式中使用ScadeDisplayKCG命令的check选项。
图表8 SCADE Display代码生成器进行模型规则检查
1.2 模型非交互式仿真
如果用户使用SCADE Display设计的是非交互式的人机界面,则可以使用提供的Animation功能进行模型仿真,观察图像随着输入参数的变化而变化。
1.3 模型交互式仿真
如果用户使用SCADE Display设计的是交互式的人机界面,则可以使用提供的Simulation功能进行模型仿真,观察图像随着输入、输出参数的变化而变化。值得一提的是,该仿真器还可以自动捕捉鼠标、键盘两个外设的信息,进行交互式仿真。
1.4 生成独立可执行程序
如果用户在SCADE Display模型中已经嵌入了控制逻辑代码(可以是手写编码,也可以是SCADE Suite设计,或是两者的混合),则可以使用SCADE Display提供的Standalone功能一键编译生成独立可执行程序,独立可执行程序包括基于Windows操作系统和基于Android操作系统两个方式。不过,生成基于Android操作系统的独立可执行程序,需要预先安装Android Studio IDE, Android Software Development Kit (SDK)和Android Native Development Kit (NDK)三款软件包。
2认证级测试环境QTE
图表9: SCADE认证级测试环境工作流
2.1 测试用例的创建
基于SCADE Display模型的测试用例的基本语法规则可以参考《基于SCADE Suite模型的验证》中的2.1章节。在此基础上,为测试图形相关的模型,新增了图形像素比对相关的测试语法,其内容如下
SSM::check image {"<refimg>"} sustain=forever|<integer> filter={"<filterimg>"} cmd={"<cmdimg>"}
该命令用于比对当前周期的图像与预先保存好的图像的像素差
图表10 SCADE Test中关于SCADE Display模型图形像素比对操作的测试用例
如果完全由用户自己手工编码来设计基于SCADE Display模型的测试用例,既耗时费力,又不直观。推荐使用SCADE Display提供的Simulation功能中测试场景记录功能来定义测试用例原型,再基于该原型进行修改编辑形成最终的测试用例。操作方法为右键单击测试规程中的Record记录,然后在弹出菜单中选择Insert->Scenario Generated from Simulation…按钮,接下来的操作参考1.3节的内容即可。
图表11 SCADE Test中使用SCADE Display的Simulation功能自动保存用户测试操作
2.2 执行在主机上的功能测试和像素对比
使用SCADE QTE在主机上进行功能测试的结果如下图,既有图形化的报告,也有文本化的报告。可以从结果报告中看到测试用例编号,待测变量名称,实际输出,期望输出,精度约束等信息。
图表12 使用SCADE QTE在主机上执行SCADE Display模型功能测试和像素比对后的文本报告
图表13 使用SCADE QTE在主机上执行SCADE Display模型功能测试和像素比对后的图形报告
2.3 执行在主机上的模型覆盖分析
使用SCADE QTE在主机上进行模型覆盖分析结果如下图,可以便捷地通过颜色来区分覆盖分析的完整度,绿色是完全覆盖,红色是未覆盖,紫色是不可覆盖且没有解释。
图表14 使用SCADE QTE在主机上执行SCADE Display模型覆盖分析后的全局报告
图表15 使用SCADE QTE在主机上执行SCADE Display模型覆盖分析后的部分设计画面的结果报告
2.4 基于目标机上的测试
如果需要在目标机上进行软硬件集成测试时,SCADE QTE支持将主机上测试完毕后得到的测试用例转换为可连接目标机的第三方程序对应的测试用例,以便用户能简单快捷地进行目标机上的测试。对SCADE Display模型的测试用例,现在可支持向IBM RTRT等软件的测试用例转换。
3基于SCADE Display的含Suite模型的白盒联合仿真
最后,可以将SCADE Suite模型设计的控制逻辑嵌入到SCADE Display中做复杂的人机界面行为的设计。然后通过SCADE Display的Simulation功能进行含Suite模型的白盒联合仿真。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删