分析具有大型验证状态空间的模型
持久设计变量(在仿真期间在一个时间步中分配并在后续时间步中使用的变量)对分析复杂性的影响与输入复杂性的影响方式大致相同。您可以使用以下一种或多种技术来简化要搜索的状态空间的复杂性:
对延迟的输入信号应用约束。
将输入限制为条件执行子系统内包含的状态。
通过将 最大测试用例步数 参数设置为 20 来限制测试用例步骤的数量。
增加部分或全部模型的采样时间。(该过程类似于降低计时器阈值,如计数器和计时器中所述。)以较低采样率生成的测试用例通常与实现目标所需的高采样率测试用例有相似之处。
尽可能使用紧密的变量类型。例如,如果仅将值为 0 或 1 的标志定义为
double
,则将类型限制为Boolean
。
根据先前的状态值计算出的状态提出了特殊的挑战。例如,如果您想限制 PID 控制器中的积分器值,则只能使用一组包含初始值的所有可达值的值。否则,必须强制输入为 0
。这两种限制都不切实际,而且可能会使分析不够完整。
或者,您可以使用现有的仿真数据来帮助满足您的测试需求。如果您有现有的测试数据,请在您的模型上运行它并收集模型覆盖率。有关扩展现有测试套件以实现缺失模型覆盖率的示例,请参阅 扩展现有测试套件 。