Извлечение подсистем для анализа

Обзор извлечения подсистем

Если у вас есть большая модель, которая замедляет ваш анализ или имеет недоступные цели, вы можете захотеть проанализировать атомарные подсистемы или Stateflow® атомарные субдиаграммы с использованием Simulink® Design Verifier™. Этот метод позволяет вам реализовать подход снизу вверх к анализу большой модели, как описано в Bottom-Up Approach to Анализ модели.

При анализе подсистемы или атомарной субдиаграммы программное обеспечение:

  • Извлекает подсистему или субдиаграмму в новую модель.

  • При необходимости добавляет к вновь созданной модели блоки, которые реплицируют контекст выполнения подсистемы или субдиаграммы в ее родительской модели.

  • Анализирует извлеченную модель и приводит к результатам.

Примечание

Программное обеспечение Simulink Design Verifier может анализировать только атомарные подсистемы и атомарные субдиаграммы.

Для получения дополнительной информации об анализе подсистем см. Раздел «Генерация тестов для подсистемы».

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

Функция sldvextract

sldvextract функция позволяет вам извлечь подсистемы и атомарные субдиаграммы для верификации компонента. Путем извлечения подсистемы или атомарной субдиаграммы, можно проверить компонент в изоляции от остальной системы, позволяя вам протестировать алгоритм компонента. Дополнительные сведения см. в разделе «Что такое верификация?» и функции для верификации компонентов.

Структура извлеченной модели

При анализе подсистемы или атомарной субдиаграммы Simulink Design Verifier создает новую модель, которая содержит подсистему или атомарную субдиаграмму, и любые входные и выходные порты, которые соответствуют портам, соединенным с исходной подсистемой.

Программа присваивает портам в новой модели следующие свойства, определяемые путем компиляции исходной модели:

  • Типы данных

  • Частоты дискретизации

  • Размерности сигнала

  • Минимальное и максимальное значения диапазонов сигнала

Программное обеспечение называет новую модель subsystem_name, где subsystem_name - имя подсистемы.

В следующих разделах приведены примеры того, как Simulink Design Verifier извлекает и анализирует подсистемы.

Анализируйте подсистемы, считываемые из Глобальных данных хранилища

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

Хранилище данных создается с помощью блока Data Store Memory или Simulink.Signal объект. Блок Data Store Memory или Simulink.Signal объект представляет хранилище данных и задает его свойства. Каждое хранилище данных должно иметь уникальное имя.

При анализе подсистемы, считывающей данные из хранилища данных, к которому обращаются за пределами подсистемы, анализ:

  • Добавляет блок Data Store Memory к новой модели.

  • Добавляет порт входа, который записывает в хранилище данных. Поскольку вход записывается в хранилище данных, данные могут иметь любые значения (в пределах заданного типа данных) для целей анализа Simulink Design Verifier.

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

В следующем примере анализируется подсистема в sl_subsys_fcncall8 пример модели:

  1. Откройте sl_subsys_fcncall8 пример модели:

    Эта модель задает хранилище данных A, из которого атомарная подсистема Reader считывает данные с помощью блока Data Store Read.

  2. Щелкните правой кнопкой мыши подсистему Reader и выберите Design Verifier > Generate Tests for Subsystem.

    Окно журнала Simulink Design Verifier показывает, что программное обеспечение извлекает подсистему в новую модель с именем Reader, анализирует извлеченную модель и предлагает вам выбор результатов для получения.

  3. Откройте новую Reader модель, которую создало программное обеспечение в <current_folder>\ sldv _ output\Считыватель.

    Новый блок Inport A записывает в хранилище данных, которое используется подсистемой Reader в новой модели.

Анализируйте подсистемы вызова функций

function-call subsystem является триггируемой подсистемой, выполнение которой определяется логикой, внутренней для S-функции MEX C, а не значением сигнала. Подсистемы вызова функций всегда являются атомарными.

Примечание

Для получения дополнительной информации смотрите Реализация подсистем вызова функций с S-функциями.

Когда вы анализируете модель с подсистемой вызова функций, Simulink Design Verifier создает новую модель с блоком Inport, который имитирует триггер и копию подсистемы. Затем программное обеспечение анализирует новую модель.

В следующем примере анализируется подсистема вызова функций в sl_subsys_fcncall2 модель:

  1. Откройте sl_subsys_fcncall2 пример модели:

    Эта модель содержит диаграмму Stateflow с именем Chart, которая запускает подсистему вызова функций f.

  2. Щелкните правой кнопкой мыши подсистему f и выберите Design Verifier > Generate Tests for Subsystem.

    Программа извлекает подсистему в новую модель с именем f0, анализирует извлеченную модель и приводит к результатам.

  3. Откройте f0 модель, которую создало программное обеспечение в <current_folder>\ sldv _ output\f0.

    Блок Inport и новый блок подсистемы имитируют триггер для подсистемы вызова функций f в новом f0 модель.