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
настройки 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
.