Модели с большим пространством состояний верификации

Персистентные переменные проекта (переменные, которые присваиваются в одном временном шаге и используются в более позднем временном шаге в процессе моделирования) влияют на сложность анализа почти таким же способом как входная сложность. Можно использовать один или несколько следующих методов, чтобы упростить сложность пространства состояний, которое вы хотите искать:

  • Примените ограничения к входным сигналам, которые задерживаются.

  • Ограничьте входные параметры к состояниям, которые содержатся в условно выполняемых подсистемах.

  • Ограничьте количество шагов теста путем установки параметра Maximum test case step на 20.

  • Увеличьте шаг расчета для части или всей модели. (Эта процедура похожа на сокращение порогов таймера, как описано в Счетчиках и Таймерах.) Тест, который вы генерируете на уровне более низкой частоты дискретизации часто, имеет общие черты тесту с высокой частотой дискретизации, что необходимо достигнуть цели.

  • Используйте высокие типы переменных, где когда-либо возможно. Например, если флаг со значениями 0 или 1 только задан как double, ограничьте тип Boolean.

Состояния, которые вычисляются из предыдущих значений состояния, представляют собой специальную проблему. Например, если вы хотите ограничить значение интегратора в ПИД-регуляторе, можно только использовать множество значений, которое включает все достижимые значения от начального значения. В противном случае вход должен быть обеспечен к 0. Ни одно из этих ограничений не практично и вероятно сделало бы анализ меньше завершенный.

В качестве альтернативы можно использовать существующие данные моделирования, чтобы помочь удовлетворить потребностям тестирования. Если вы имеете существующие тестовые данные, запускаете его на вашей модели и собираете покрытие модели. Для примера расширения существующего тестового набора, чтобы достигнуть недостающего покрытия модели, смотрите, Расширяют Существующий Тестовый набор.