Стойкие переменные проекты (переменные, которые назначаются в один временной шаг и используются в более позднем временном шаге во время симуляции) влияют на сложность анализа почти так же, как и вход сложность. Можно использовать один или несколько из следующих методов, чтобы упростить сложность пространства состояний, которое вы хотите искать:
Примените ограничения к запаздывающим входным сигналам.
Ограничьте входы состояниями, которые содержатся в условно выполненных подсистемах.
Ограничьте количество шагов теста путем установки параметра Maximum test case step равным 20
.
Увеличьте шаг расчета для части или всей модели. (Эта процедура аналогична снижению порогов таймера, как описано в Счетчики и Таймеры.) Тест, которую вы генерируете с более низкой частотой дискретизации, часто имеет сходство с тестом с высокой частотой дискретизации, которая вам нужна для достижения цели.
Используйте жесткие типы переменных, где это возможно. Например, если флаг со значениями только 0 или 1 определен как double
, ограничьте тип следующим Boolean
.
Состояния, которые вычисляются из значений предыдущих состояний, представляют особую проблему. Для примера, если вы хотите ограничить значение интегратора в ПИД-регулятор, можно использовать только множество значений, которая включает все достижимые значения от начального значения. В противном случае вход должен быть принудительно 0
. Ни одно из этих ограничений не является практичным и, вероятно, сделает анализ менее полным.
Кроме того, вы можете использовать существующие данные моделирования, чтобы помочь удовлетворить ваши потребности проверки. Если у вас есть существующие тестовые данные, запустите его на своей модели и соберите покрытие модели. Пример расширения существующего тестового набора для достижения отсутствующего покрытия модели см. в разделе Расширение существующего тестового набора.