Simulink® Design Verifier™ генерирует файл данных, когда он завершает свой анализ. Файлом данных является MAT-файл, который содержит структуру под названием sldvData
. Эта структура хранит все данные, которые программное обеспечение собирает и производит во время анализа. Несмотря на то, что программное обеспечение отображает те же данные графически в модели тестовой обвязки и отчете, можно использовать файл данных, чтобы провести собственный анализ или сгенерировать пользовательский отчет.
По умолчанию параметр Save test data to file включен.
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
настройки cписков полей конкретных аналитических опций и сопутствующей информации. Следующая таблица описывает каждое подполе AnalysisInformation
поле .
Имя подполя | Описание |
---|---|
Status | Состояние завершения анализа Simulink Design Verifier. |
AnalysisTime | Дважды это задает продолжительность анализа в секундах. |
Options | Глубокая копия объекта опций Simulink Design Verifier используется во время анализа. |
InputPortInfo | Массив ячеек структур, который указывает информацию о каждом блоке Inport в системе верхнего уровня. |
OutputPortInfo | Массив ячеек структур, который указывает информацию о каждом блоке Outport в системе верхнего уровня. |
SampleTimes | Для внутреннего пользования только. |
Parameters | Для внутреннего пользования только. |
AbstractedBlocks | Для внутреннего пользования только. |
Approximations | Структура, которая описывает приближения, выполняемые во время анализа. Для получения дополнительной информации о приближениях, смотрите Приближения. |
ReplacementInfo | Для внутреннего пользования только. |
PreProcessingTime | Дважды это задает время в секундах, чтобы создать или снова использовать представление модели. |
ModelRepresentationInfo | Дата и время представления модели, которое используется для анализа. |
В sldvData
структура, ModelObjects
cписки полей элементы модели и их связанные цели. Следующая таблица описывает каждое подполе ModelObjects
поле .
Имя подполя | Описание |
---|---|
descr | Полный путь к объекту модели, включая объекты в графике Stateflow®. |
typeDesc | Тип блока объекта модели. |
slPath | Полный путь к объекту модели Simulink. |
sfObjType | Тип объекта Stateflow. |
sfObjNum | Целое число, которое представляет уникальный идентификатор объекта Stateflow. |
sid | Для внутреннего пользования только. |
designSid | Для внутреннего пользования только. |
replacementSid | Для внутреннего пользования только. |
objectives | Вектор из целых чисел, который представляет индексы целей, сопоставленных с объектом модели. |
В sldvData
структура, Constraints
информация о cписках полей о заданных минимальных и максимальных значениях (если таковые имеются) на входных портах в вашей модели. Следующая таблица описывает подполе Constraints
поле .
Имя подполя | Описание |
---|---|
DesignMinMax | Массив ячеек структур, которые включают имя и минимальные и максимальные значения для каждого входного порта, для которого заданы значения. |
В sldvData
структура, Objectives
информация о cписках полей о каждой цели, такой как ее тип, состояние и описание. Следующая таблица описывает каждое подполе Objectives
поле .
Имя подполя | Описание |
---|---|
type | Тип цели. |
status | Состояние цели. |
descr | Описание цели. |
label | Метка цели. |
outcomeValue | Целое число, которое задает результат цели. |
coveragePointIdx | Целое число, которое представляет индекс точки покрытия, с которой сопоставлена цель. |
linkInfo | Для внутреннего пользования только. |
range | Для внутреннего пользования только. |
detectability | Состояние обнаружительной способности цели. Это поле появляется в файле данных, когда аналитический Режим установлен в |
detectionSites | Массив Идентификатора Simulink (SID) сайтов обнаружения для обнаруживаемой цели. Цель обнаруживаема на любом из сайтов обнаружения. Это поле появляется в файле данных, когда аналитический Режим установлен в |
modelObjectIdx | Целое число, которое представляет индекс объекта модели, с которым сопоставлена цель. |
analysistime | Целое число, которое представляет аналитическое время для объекта. |
testCaseIdx | Целое число, которое представляет индекс теста или контрпримера, который обращается к цели. |
В sldvData
структура, это поле может иметь два имени, в зависимости от типа проверки:
Если вы устанавливаете параметр Режима на Design error detection
, CounterExamples
информация о cписках полей о каждом тесте, который приводит к ошибке деления на нуль или целочисленному переполнению.
Если вы устанавливаете параметр Режима на Test generation
, TestCases
информация о cписках полей о каждом тесте, таком как его значения сигналов и цели тестирования это достигает.
Если вы устанавливаете параметр Режима на Property proving
, CounterExamples
информация о cписках полей о каждом контрпримере и цели доказательства это фальсифицирует.
Следующая таблица описывает каждое подполе TestCases
/ CounterExamples
поле .
Имя подполя | Описание |
---|---|
timeValues | Вектор, который задает временные стоимости, сопоставленные с сигналами в тесте или контрпримере. |
dataValues | Массив ячеек, который задает значения данных, сопоставленные с сигналами в тесте или контрпримере. |
paramValues | Структура, которая задает значения параметров, сопоставленные с тестом или контрпримером. Его поля включают:
|
stepValues | Вектор, который задает количество временных шагов, которые включают сигналы в тесте или контрпримере. |
objectives | Структура, которая задает цели, к которым обращаются тест или контрпример. Его поля включают:
|
dataNoEffect | Массив ячеек логических векторов, который задает, влияют ли значения данных сигнала на цель. Вектор использует |
expectedOutput | Массив ячеек векторов, который задает выходные значения, которые следуют из симуляции модели с помощью сигналов теста. Каждая ячейка представляет выходные значения, сопоставленные различным блоком Outport в системе верхнего уровня. Это подполе заполняется, если вы выбираете ожидаемые выходные значения Include. |
В sldvData
структура, Version
поле задает версию Simulink Design Verifier, который анализировал модель.
Если вы анализируете свою модель для мертвой логики в sldvData
структура, DeadLogic
информация о cписках полей о каждой цели мертвой логики.
Эта таблица описывает каждое подполе 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
.