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