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