Simulink® Design Verifier™ генерирует файл данных, когда завершает его анализ. Файл данных является MAT-файлом, который содержит структуру с именем sldvData. Эта структура хранит все данные, которые собирает и производит программное обеспечение во время анализа. Хотя программное обеспечение графически отображает те же данные в модели тестовой обвязки и отчете, можно использовать файл данных для проведения собственного анализа или для генерации пользовательского отчета.
sldvData СтруктураКогда Simulink Design Verifier завершает анализ, он создает MAT-файл, содержащий структуру с именем sldvData. Чтобы исследовать содержимое sldvData структура:
Сгенерируйте тесты для sldvdemo_flipflop модель:
sldvdemo_flipflop;
sldvrun('sldvdemo_flipflop');Чтобы загрузить файл данных, в MATLAB® введите следующую команду:
load('sldv_output\sldvdemo_flipflop\sldvdemo_flipflop_sldvdata.mat')MATLAB загружает sldvData структура в свою рабочую область. Эта структура содержит результаты анализа Simulink Design Verifier sldvdemo_flipflop модель.
Введите sldvData в командной строке MATLAB для отображения имен полей, образующих структуру:
sldvData =
ModelInformation: [1x1 struct]
AnalysisInformation: [1x1 struct]
ModelObjects: [1x2 struct]
Constraints: []
Objectives: [1x12 struct]
TestCases: [1x4 struct]
Version: '2.1'sldvDataВ следующих разделах описываются поля в sldvData структура:
В sldvData структура, ModelInformation поле содержит информацию о модели, которую вы проанализировали. Следующая таблица описывает каждое подполе ModelInformation поле.
| Имя подполя | Описание |
|---|---|
Name | Имя модели. |
Version | Номер модели. |
Author | Имя пользователя. |
TimeStamp | Последняя дата и время обновления модели. |
SubsystemPath | Полное имя пути анализируемой подсистемы (при наличии). |
ExtractedModel | Имя модели, извлеченной (если она имеется) для анализа подсистемы (если она имеется), заданное в |
ReplacementModel | Имя модели (если она есть), содержащей замены блоков. |
HarnessOwnerModel | Имя модели владельца тестовой обвязки Simulink Test™ (если таковой имеется), подлежащего анализу. |
В sldvData структура, AnalysisInformation В поле перечислены настройки конкретных опций анализа и сопутствующая информация. Следующая таблица описывает каждое подполе AnalysisInformation поле.
| Имя подполя | Описание |
|---|---|
Status | Статус завершения анализа Simulink Design Verifier. |
AnalysisTime | Double, который задает длительность анализа в секундах. |
Options | Глубокая копия объекта опций Simulink Design Verifier, используемого во время анализа. |
InputPortInfo | Массив ячеек структур, который задает информацию о каждом блоке Inport в системе верхнего уровня. |
OutputPortInfo | Массив ячеек структур, который задает информацию о каждом блоке Outport в системе верхнего уровня. |
SampleTimes | Только для внутреннего использования. |
Parameters | Только для внутреннего использования. |
AbstractedBlocks | Только для внутреннего использования. |
Approximations | Структура, которая описывает приближения, выполненные во время анализа. Для получения дополнительной информации о приближениях см. «Аппроксимации». |
ReplacementInfo | Только для внутреннего использования. |
PreProcessingTime | Double, который задает время в секундах, чтобы создать или повторно использовать представление модели. |
ModelRepresentationInfo | Дата и время представления модели, которое используется для анализа. |
В sldvData структура, ModelObjects в поле перечислены элементы модели и связанные с ними цели. Следующая таблица описывает каждое подполе ModelObjects поле.
| Имя подполя | Описание |
|---|---|
descr | Полный путь к объекту модели, включая объекты в Stateflow® график. |
typeDesc | Тип блока объекта модели. |
slPath | Полный путь к объекту модели Simulink. |
sfObjType | Тип объекта Stateflow. Пример: |
sfObjNum | Целое число, которое представляет уникальный идентификатор объекта Stateflow. |
sid | Только для внутреннего использования. |
designSid | Только для внутреннего использования. |
replacementSid | Только для внутреннего использования. |
objectives | Вектор целых чисел, который представляет индексы целей, связанных с объектом модели. |
В sldvData структура, Constraints поле содержит информацию об заданных минимальном и максимальном значениях (если таковые имеются) для входных портов в вашей модели. Следующая таблица описывает подполе Constraints поле.
| Имя подполя | Описание |
|---|---|
DesignMinMax | Массив ячеек структур, которые включают имя и минимальное и максимальное значения для каждого входного порта, для которого заданы значения. |
В sldvData структура, Objectives В поле списки сведения о каждой цели, такие как ее тип, состояние и описание. Следующая таблица описывает каждое подполе Objectives поле.
| Имя подполя | Описание |
|---|---|
type | Тип цели. |
status | Статус цели. |
descr | Описание цели. |
label | Метка цели. |
outcomeValue | Целое число, которое задает результат цели. |
coveragePointIdx | Целое число, которое представляет индекс точки покрытия, с которой связана цель. |
linkInfo | Только для внутреннего использования. |
range | Только для внутреннего использования. |
detectability | Статус обнаруживаемости цели. Это поле появляется в файле данных, когда для режима анализа задано значение |
detectionSites | Массив Simulink Identifier (SID) сайтов обнаружения для обнаруживаемой цели. Цель является обнаруживаемой в любом из мест обнаружения. Это поле появляется в файле данных, когда для режима анализа задано значение |
modelObjectIdx | Целое число, которое представляет индекс объекта модели, с которым связан объект. |
analysistime | Целое число, которое представляет время анализа для объекта. |
testCaseIdx | Целое число, которое представляет индекс теста или контрпримера, который адресован цели. |
В sldvData структура, это поле может иметь два имени, в зависимости от типа проверки:
Если вы устанавливаете параметр Mode равным Design error detection, а CounterExamples поле содержит информацию о каждом тесте, который приводит к целочисленному переполнению или ошибке деления на нули.
Если вы устанавливаете параметр Mode равным Test generation, а TestCases поле приводит информацию о каждом тесте, таких как значения сигналов и цели тестирования, которые он достигает.
Если вы устанавливаете параметр Mode равным Property proving, а CounterExamples поле списков информацию о каждом контрпримере и цели доказательства, которые он фальсифицирует.
Следующая таблица описывает каждое подполе TestCases / CounterExamples поле.
| Имя подполя | Описание |
|---|---|
timeValues | Вектор, который задает значения времени, сопоставленные с сигналами в тесте или контрпримере. |
dataValues | Массив ячеек, который задает значения данных, сопоставленных с сигналами в тесте или контрпримере. |
paramValues | Структура, которая задает значения параметров, сопоставленные с тестом или контрпримером. Его поля включают:
|
stepValues | Вектор, который задает количество временных шагов, которые состоят из сигналов в тесте или контрпримере. |
objectives | Структура, которая задает цели, которые адресует тесты или контрпример. Его поля включают:
|
dataNoEffect | Массив ячеек из логических векторов, который определяет, влияют ли значения данных сигнала на цель. Вектор использует |
expectedOutput | Массив ячеек из векторов, который задает значения выхода, которые являются результатом симуляции модели с помощью сигналов теста. Каждая камера представляет выходные значения, сопоставленные с другим блоком Outport в системе верхнего уровня. Это подполе заполняется, если вы выбираете Включить ожидаемые выходные значения. |
В sldvData структура, Version поле задает версию Simulink Design Verifier, которая анализировала модель.
Если вы анализируете свою модель на мертвую логику, в sldvData структура, DeadLogic поле содержит информацию о каждой мертвой логической цели.
Эта таблица описывает каждое подполе DeadLogic поле.
| Имя подполя | Описание |
|---|---|
label | Описание мертвой логики цели. |
descr | Полный путь к объекту модели, включая объекты на диаграмме Stateflow. |
modelObjIdx | Целое число, которое представляет индекс объекта модели, который связан с целью. |
coverageType | Тип цели покрытия. |
coverageIdx | Целое число, которое представляет индекс точки покрытия, связанной с целью. |
ObjectiveIdx | Целое число, которое представляет индекс цели, которая связана с объектом модели. |
sldvruntest функция симулирует модель с помощью тестов или контрпримеров, которые находятся в файле данных Simulink Design Verifier:
Симулируйте sldvdemo_flipflop моделировать и генерировать тесты:
Сохраните местоположение файла данных, сгенерированного после анализа модели:
sldvDataFile = 'sldv_output\sldvdemo_flipflop\sldvdemo_flipflop_sldvdata.mat'
Используйте sldvruntest функция для симуляции sldvdemo_flipflop моделируйте используя тест 2 в файле данных:
[ outdata ] = sldvruntest('sldvdemo_flipflop', sldvDataFile, 2)Выходы sldvruntest является массивом объекты.Simulink.SimulationOutput
Исследуйте выходные данные из первого теста с помощью методов Simulink.SimulationOutput объект:
tout_sldvruntest = outdata(1).find('tout_sldvruntest');
xout_sldvruntest = outdata(1).find('xout_sldvruntest');
yout_sldvruntest = outdata(1).find('yout_sldvruntest');
logsout_sldvruntest = outdata(1).find('logsout_sldvruntest');Можно загрузить предыдущие результаты анализа для модели из файла данных. Для получения дополнительной информации смотрите Загрузка предыдущих результатов и sldvloadresults.