В этом примере показано, как создать тестовые примеры для двух пользовательских блоков контрольных целей с помощью блока опорных элементов Observer и использовать представление модели для повторного анализа конструкторской модели. Дополнительные сведения см. в разделе Изоляция логики проверки с наблюдателями. Чтобы повторно проанализировать модель, обновите логику проверки и установите для опции Перестроить представление модели значение If change is detected. Дополнительные сведения см. в разделе Представление модели для анализа.
В блоке Test Objective блок «True» заставляет выходной сигнал быть равным 2. Блок «Edge» внутри «Masked Objective» указывает, что выходной сигнал переходит от 2 к 1. Чтобы открыть модель, введите:
open_system('sldvdemo_debounce_testobjblks');

Чтобы заменить маскированный объект подсистемы проверки в модели опорным блоком Observer, выполните следующие действия:
(a) Щелкните правой кнопкой мыши маскированную цель в sldvdemo_debounce_testobjblks модель. В контекстном меню выберите "Наблюдатели" > "Переместить выбранный блок в" Наблюдатель ">" Новый наблюдатель ".
(b) Нажмите кнопку Yes (Да) в диалоговом окне Verify Output (Проверка вывода) в поле Observer (Наблюдатель), которое появляется после шага (а).
(c) В модель системы добавляется опорный блок Observer и модель Observer. sldvdemo_debounce_testobjblks_Observer1 создается и открывается.

(d) Сохраните файл sldvdemo_debounce_validprop_Observer1 в доступной для записи папке по пути MATLAB.
(e) Дважды щелкните по порту Observer, чтобы открыть окно управления конфигурацией Observer. Сигнал Switch 1 автоматически сопоставляется с блоком порта наблюдателя в sldvdemo_debounce_testobjblks_Observer1.

(f) Выберите входной сигнал в подсистему маскированного объекта в sldvdemo_debounce_testobjblks и щелкните пункт Тестовая точка (Test Point) на панели Сигнал (Signal), чтобы убедиться, что Simulink Design Verifier успешно построит представление модели для анализа.
Для выполнения анализа генерации теста выполните следующие действия:
На вкладке Design Verifier нажмите кнопку Generate Test.
После завершения анализа в окне Сводка результатов (Results Summary) будет показано, что обе цели удовлетворяют тестовому случаю.
Чтобы просмотреть подробный отчет об анализе, в окне Сводка результатов (Results Summary) щелкните HTML. В этом отчете в главе Test Targets Status (Статус целей тестирования) в отдельных подразделах перечисляется статус целей для модели (моделей) проектирования и модели (моделей) наблюдателей.

Чтобы создать тестовый пример для функциональной потребности, debounced переходы сигналов от 1 к 2 без перестроения представления модели для конструкторской модели. Чтобы разрешить повторное использование представления конструкторской модели, выполните следующие действия.
(a) На вкладке «Design Verifier» выберите «Test Generation Settings» > «Settings».
(b) В диалоговом окне «Параметры конфигурации» на панели «Проверка конструкции» в разделе «Дополнительные параметры» задайте для опции «Перестроить представление модели» значение If change is detected и нажмите кнопку OK.
(c) Для обновления параметров модели выполните следующие действия:
1. В sldvdemo_debounce_testobjblks_Observer1 дважды щелкните, чтобы открыть подсистему маскированных целей и изменить значение константы In1 от 1 до 2 и реляционный оператор из > кому <.
2. Сохраните изменения в доступном для записи пути MATLAB.

(d) Выполнение анализа и анализа результатов генерации тестовых примеров. На вкладке Design Verifier щелкните Generate Tests (Генерировать тесты). Программа проверяет кэшированное представление конструкторской модели, не обнаруживает изменений в конструкторской модели и повторно использует представление для анализа.

После завершения анализа в окне Сводка результатов (Results Summary) будет показано, что выполнена только одна цель теста.
Чтобы просмотреть подробный отчет об анализе, в окне Сводка результатов (Results Summary) щелкните HTML.

Примечание.При создании новой модели по умолчанию для опции Перестроить представление модели (Rebuild model representation) устанавливается значение If change is detected. Программа проверяет представление модели кэша, не обнаруживает изменений и повторно использует представление модели для анализа.