Simulink® Design Verifier™ ПО может столкнуться с некоторыми из этих проблем при анализе большой модели:
Неудовлетворительные цели - программное обеспечение доказало отсутствие тестов, которые осуществляют эти цели тестирования, и не генерировало никаких тестов.
Неопределенные цели - программное обеспечение не смогло удовлетворить или сфальсифицировать эти цели.
Цели с ошибками - Эта проблема обычно возникает, когда компонент модели использует нелинейную арифметику, которая может повлиять на цель тестирования.
Не удается завершить анализ за отведенное время - Эта проблема может указать область вашей модели, где программное обеспечение столкнулось с проблемами, или вам может потребоваться увеличить значение параметра Maximum analysis time.
Анализ висит - если количество обработанных целей остается постоянным в течение значительного периода времени, программное обеспечение, вероятно, столкнулось со сложностью между моделью и ее целями.
Не достигает высокого процента покрытия модели - когда вы запускаете тесты на модели тестовой обвязки, процент покрытия модели недостаточен для вашего проекта.
В следующих нескольких разделах описываются начальные шаги, которые необходимо предпринять при анализе большой модели. Несмотря на то, что эти шаги адресуют генерацию тестов, можно использовать аналогичный подход при обнаружении ошибок проектирования или доказывания свойств в модели.
Можно использовать Test Generation Advisor, чтобы суммировать совместимость генерации тестов, условия и цели принятия решений и мертвую логику для компонентов модели и модели.
Генерация тестов Advisor выполняет высокоуровневый анализ и быстрое обнаружение мертвой логики. Можно использовать результаты, чтобы лучше изучить модель, особенно большие модели, сложные модели или модели, для которых вы не уверены в их совместимости с Simulink Design Verifier. Для примера можно:
Идентифицируйте несовместимость с генерацией теста.
Идентифицируйте сложные компоненты, которые могут занять много времени для анализа.
Определите образцы мертвой логики.
Получите сводные данные иерархии компонентов.
Получите рекомендуемые параметры генерации тестов.
Чтобы получить доступ к Генерации тестов Advisor, на вкладке Design Verifier, в разделе Mode, нажмите Test Generation. В Prepare разделе нажмите Advisor. Для получения дополнительной информации смотрите Использовать Генерация Тестов Advisor для идентификации анализируемых компонентов.
Когда вы генерируете тесты, вы обычно должны начать с анализа модели с помощью значений параметров Simulink Design Verifier по умолчанию:
Проверьте, совместима ли ваша модель с Simulink Design Verifier, как описано в разделе «Проверяйте совместимость модели».
Используя значения параметров по умолчанию, анализируйте модель. В следующей таблице перечислены значения по умолчанию для параметров в диалоговом окне Параметры конфигурации (Configuration Parameters), которые можно изменить при анализе больших моделей.
Параметр | Значение по умолчанию | Описание |
---|---|---|
Maximum analysis time (s) | 300 (секунды) | Если анализ не завершается в течение заданного времени, время ожидания анализа истекает и прекращается. |
Test suite optimization | CombinedObjectives (Nonlinear extended) | Генерирует тесты, которые адресованы более чем одной цели тестирования, как с |
Model coverage objectives | Condition/Decision | Генерирует тесты, которые достигают условия и Decision Coverage. |
Просмотрите следующую информацию в окне журнала Simulink Design Verifier во время выполнения анализа:
Количество обработанных целей - Сколько целей было обработано? Анализ зависал после обработки определенного количества целей? Ответы на эти вопросы могут дать вам подсказку о том, где может быть проблема.
Количество выполненных целей/Количество сфальсифицированных целей - Какие цели были сфальсифицированы?
Прошло время - Прошло ли время анализа, или оно закончилось в течение заданного максимального времени анализа?
Когда анализ завершается, можно подсветить результаты в модели и индивидуально просмотреть анализ каждого объекта модели, как описано в Подсвеченных результатах на модели. Можно также сгенерировать и просмотреть HTML-отчет Simulink Design Verifier. Этот отчет содержит ссылки на элементы модели для удовлетворенных и сфальсифицированных целей, чтобы вы могли увидеть, какие фрагменты модели могут иметь проблемы. Для получения дополнительной информации см. раздел «Отчеты Simulink Design Verifier».
Для анализа генерации тестов, если все цели тестирования были удовлетворены, запустите тестовые примеры на модели тестовой обвязки, чтобы определить покрытие модели.
Если покрытия модели достаточно для вашего проекта, вам не нужно ничего другого делать. Если охват недостаточен, примите дополнительные меры для улучшения эффективности анализа, как описано в следующих разделах.
Примечание
Большой процент фальсифицированных целей и плохого покрытия модели часто указывают на то, что вам нужно изменить значения параметров модели, чтобы получить полное покрытие. Это может произойти, когда у вас есть настраиваемые параметры в блоках Constant, которые соединены с включенными подсистемами или с триггерными входами блоков Switch. В этих ситуациях настройте поддержку параметра Simulink Design Verifier, как описано в примере Задайте значения ограничений параметра для полного покрытия.
Если анализ выполнил большинство, но не все цели, попробуйте следующие шаги:
Увеличьте параметр Maximum analysis time. Это дает анализу больше времени для достижения всех целей.
Установите параметр Model coverage objectives равным Decision
. Выбор этой опции генерирует только тесты, которые достигают Decision Coverage. Эти тесты являются подмножеством MCDC
опция.
Повторите анализ и проверьте отчет.
Если результаты все еще не удовлетворительны, попробуйте методы, описанные в следующих разделах.
Установите параметр Test suite optimization равным LargeModel
или LargeModel (Nonlinear Extended)
и повторите анализ Simulink Design Verifier.
Стратегии оптимизации больших моделей разработаны для больших, сложных моделей. The LargeModel (Nonlinear Extended)
стратегия включает улучшенную поддержку нелинейной арифметики. Эти две стратегии могут или не могут улучшить результаты вашего анализа достаточно, чтобы полностью протестировать ваш проект.
Если у вас есть выдающиеся цели, которые вы хотите сгенерировать программное обеспечение, продолжите с помощью следующих методов.
Следите за значением Objectives processed в окне журнала. Если прошло около 50 процентов Maximum analysis time параметра, и это значение не увеличивается, анализ модели может иметь проблемы с обработкой определенных целей. Если анализ не прогрессирует, выполните следующие шаги:
Нажмите Stop в окне журнала.
Появится диалоговое окно, информирующее вас о том, что анализ был прерван, и запрашивающее вас, хотите ли вы все еще получать результаты.
Нажмите Yes, чтобы сохранить результаты анализа до сих пор.
В окне журнала перечислены следующие опции в зависимости от выполняемого режима анализа:
Highlight analysis results on model
Generate detailed analysis report
Create harness model
Simulate tests and produce a model coverage report
Нажмите Generate detailed analysis report.
В отчете HTML рассмотрите следующие разделы, чтобы идентифицировать элементы модели, которые вызывают проблемы:
Objectives Undecided when the Analysis was Stopped
Objectives Producing Errors
Просмотрите элементы модели, которые имеют неопределенные цели или цели с ошибками, чтобы увидеть, присутствует ли какая-либо из следующих проблем. Для улучшения анализа обратитесь к соответствующей документации по определенным методикам.
Задача в вашей модели | Больше информации |
---|---|
Входы с плавающей точкой | |
Нелинейные операции | |
Большие пространства состояний | |
Большие таймеры и задержки времени |