Анализ большой модели

Типы больших моделей

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 по умолчанию:

  1. Проверьте, совместима ли ваша модель с Simulink Design Verifier, как описано в разделе «Проверяйте совместимость модели».

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

    Параметр Значение по умолчаниюОписание
    Maximum analysis time (s)300 (секунды)

    Если анализ не завершается в течение заданного времени, время ожидания анализа истекает и прекращается.

    Test suite optimizationCombinedObjectives (Nonlinear extended)

    Генерирует тесты, которые адресованы более чем одной цели тестирования, как с CombinedObjectives опция, но с улучшенной поддержкой нелинейной арифметики. Каждый тест имеет тенденцию включать много временных шагов.

    Model coverage objectivesCondition/Decision

    Генерирует тесты, которые достигают условия и Decision Coverage.

  3. Просмотрите следующую информацию в окне журнала Simulink Design Verifier во время выполнения анализа:

    • Количество обработанных целей - Сколько целей было обработано? Анализ зависал после обработки определенного количества целей? Ответы на эти вопросы могут дать вам подсказку о том, где может быть проблема.

    • Количество выполненных целей/Количество сфальсифицированных целей - Какие цели были сфальсифицированы?

    • Прошло время - Прошло ли время анализа, или оно закончилось в течение заданного максимального времени анализа?

  4. Когда анализ завершается, можно подсветить результаты в модели и индивидуально просмотреть анализ каждого объекта модели, как описано в Подсвеченных результатах на модели. Можно также сгенерировать и просмотреть HTML-отчет Simulink Design Verifier. Этот отчет содержит ссылки на элементы модели для удовлетворенных и сфальсифицированных целей, чтобы вы могли увидеть, какие фрагменты модели могут иметь проблемы. Для получения дополнительной информации см. раздел «Отчеты Simulink Design Verifier».

  5. Для анализа генерации тестов, если все цели тестирования были удовлетворены, запустите тестовые примеры на модели тестовой обвязки, чтобы определить покрытие модели.

    Если покрытия модели достаточно для вашего проекта, вам не нужно ничего другого делать. Если охват недостаточен, примите дополнительные меры для улучшения эффективности анализа, как описано в следующих разделах.

Примечание

Большой процент фальсифицированных целей и плохого покрытия модели часто указывают на то, что вам нужно изменить значения параметров модели, чтобы получить полное покрытие. Это может произойти, когда у вас есть настраиваемые параметры в блоках Constant, которые соединены с включенными подсистемами или с триггерными входами блоков Switch. В этих ситуациях настройте поддержку параметра Simulink Design Verifier, как описано в примере Задайте значения ограничений параметра для полного покрытия.

Изменение параметров анализа

Если анализ выполнил большинство, но не все цели, попробуйте следующие шаги:

  1. Увеличьте параметр Maximum analysis time. Это дает анализу больше времени для достижения всех целей.

  2. Установите параметр Model coverage objectives равным Decision. Выбор этой опции генерирует только тесты, которые достигают Decision Coverage. Эти тесты являются подмножеством MCDC опция.

  3. Повторите анализ и проверьте отчет.

    Если результаты все еще не удовлетворительны, попробуйте методы, описанные в следующих разделах.

Используйте Оптимизацию Большой Модели

Установите параметр Test suite optimization равным LargeModel или LargeModel (Nonlinear Extended)и повторите анализ Simulink Design Verifier.

Стратегии оптимизации больших моделей разработаны для больших, сложных моделей. The LargeModel (Nonlinear Extended) стратегия включает улучшенную поддержку нелинейной арифметики. Эти две стратегии могут или не могут улучшить результаты вашего анализа достаточно, чтобы полностью протестировать ваш проект.

Если у вас есть выдающиеся цели, которые вы хотите сгенерировать программное обеспечение, продолжите с помощью следующих методов.

Остановите анализ перед завершением

Следите за значением Objectives processed в окне журнала. Если прошло около 50 процентов Maximum analysis time параметра, и это значение не увеличивается, анализ модели может иметь проблемы с обработкой определенных целей. Если анализ не прогрессирует, выполните следующие шаги:

  1. Нажмите Stop в окне журнала.

    Появится диалоговое окно, информирующее вас о том, что анализ был прерван, и запрашивающее вас, хотите ли вы все еще получать результаты.

  2. Нажмите Yes, чтобы сохранить результаты анализа до сих пор.

    В окне журнала перечислены следующие опции в зависимости от выполняемого режима анализа:

    • Highlight analysis results on model

    • Generate detailed analysis report

    • Create harness model

    • Simulate tests and produce a model coverage report

  3. Нажмите Generate detailed analysis report.

  4. В отчете HTML рассмотрите следующие разделы, чтобы идентифицировать элементы модели, которые вызывают проблемы:

    • Objectives Undecided when the Analysis was Stopped

    • Objectives Producing Errors

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

    Задача в вашей моделиБольше информации

    Входы с плавающей точкой

    Управление данных моделей для упрощения анализа

    Нелинейные операции

    Большие пространства состояний

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

    Большие таймеры и задержки времени

    Счетчики и таймеры