Файлы данных Simulink Design Verifier

Генерация файла данных

Simulink® Design Verifier™ генерирует файл данных, когда он завершает свой анализ. Файлом данных является MAT-файл, который содержит структуру под названием sldvData. Эта структура хранит все данные, которые программное обеспечение собирает и производит во время анализа. Несмотря на то, что программное обеспечение отображает те же данные графически в модели тестовой обвязки и отчете, можно использовать файл данных, чтобы провести собственный анализ или сгенерировать пользовательский отчет.

Содержимое sldvData Структура

Когда Simulink Design Verifier завершает свой анализ, он производит MAT-файл, который содержит структуру под названием sldvData. Исследовать содержимое sldvData структура:

  1. Сгенерируйте тесты для sldvdemo_flipflop модель:

    sldvdemo_flipflop;
    sldvrun('sldvdemo_flipflop');
  2. Загружать файл данных, в MATLAB® запросите, введите следующую команду:

    load('sldv_output\sldvdemo_flipflop\sldvdemo_flipflop_sldvdata.mat')

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

  3. Введите sldvData в командной строке MATLAB, чтобы отобразить имена полей, которые составляют структуру:

    sldvData = 
    
           ModelInformation: [1x1 struct]
        AnalysisInformation: [1x1 struct]
               ModelObjects: [1x2 struct]
                Constraints: []
                 Objectives: [1x12 struct]
                  TestCases: [1x4 struct]
                    Version: '2.1'

Информационные поля модели в sldvData

Следующие разделы описывают поля в sldvData структура:

Поле ModelInformation

В sldvData структура, ModelInformation поле содержит информацию о модели, которую вы анализировали. Следующая таблица описывает каждое подполе ModelInformation поле .

Имя подполяОписание
Name

Имя модели.

Version

Номер модели.

Author

Имя пользователя.

TimeStamp

Последняя дата и время модель была обновлена.

SubsystemPath

Имя полного пути подсистемы (если таковые имеются), который анализировался.

ExtractedModel

Имя модели извлечено (если таковые имеются), чтобы анализировать подсистему (если таковые имеются) заданный в SubsystemPath.

ReplacementModel

Имя модели (если таковые имеются), который содержит замены блока.

HarnessOwnerModel

Имя модели владельца тестовой обвязки Simulink Test™ (если таковые имеются) быть анализируемым.

Поле AnalysisInformation

В sldvData структура, AnalysisInformation настройки cписков полей конкретных опций анализа и сопутствующей информации. Следующая таблица описывает каждое подполе AnalysisInformation поле .

Имя подполяОписание
Status

Состояние завершения анализа Simulink Design Verifier.

AnalysisTime

Дважды это задает продолжительность анализа в секундах.

Options

Глубокая копия объекта опций Simulink Design Verifier используется во время анализа.

InputPortInfo

Массив ячеек структур, который указывает информацию о каждом блоке Inport в системе верхнего уровня.

OutputPortInfo

Массив ячеек структур, который указывает информацию о каждом блоке Outport в системе верхнего уровня.

SampleTimes

Для внутреннего пользования только.

Parameters

Для внутреннего пользования только.

AbstractedBlocks

Для внутреннего пользования только.

Approximations

Структура, которая описывает приближения, выполняемые во время анализа. Для получения дополнительной информации о приближениях, смотрите Приближения.

ReplacementInfo

Для внутреннего пользования только.

PreProcessingTime

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

ModelRepresentationInfo

Дата и время представления модели, которое используется для анализа.

Поле ModelObjects

В sldvData структура, ModelObjects cписки полей элементы модели и их связанные цели. Следующая таблица описывает каждое подполе ModelObjects поле .

Имя подполяОписание
descr

Полный путь к объекту модели, включая объекты в Stateflow® график.

typeDesc

Тип блока объекта модели.

slPath

Полный путь к объекту модели Simulink.

sfObjType

Тип объекта Stateflow. Примеры для состояния и T для перехода.

sfObjNum

Целое число, которое представляет уникальный идентификатор объекта Stateflow.

sid

Для внутреннего пользования только.

designSid

Для внутреннего пользования только.

replacementSid

Для внутреннего пользования только.

objectives

Вектор из целых чисел, который представляет индексы целей, сопоставленных с объектом модели.

Ограничительное поле

В sldvData структура, Constraints информация о cписках полей о заданных минимальных и максимальных значениях (если таковые имеются) на входных портах в вашей модели. Следующая таблица описывает подполе Constraints поле .

Имя подполяОписание
DesignMinMax

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

Поле целей

В sldvData структура, Objectives информация о cписках полей о каждой цели, такой как ее тип, состояние и описание. Следующая таблица описывает каждое подполе Objectives поле .

Имя подполяОписание
type

Тип цели.

status

Состояние цели.

descr

Описание цели.

label

Метка цели.

outcomeValue

Целое число, которое задает результат цели.

coveragePointIdx

Целое число, которое представляет индекс точки покрытия, с которой сопоставлена цель.

linkInfo

Для внутреннего пользования только.

range

Для внутреннего пользования только.

detectability

Состояние обнаружительной способности цели.

Это поле появляется в файле данных, когда аналитический Режим установлен в Test Generation и цели Покрытия модели установлены в Enhanced MCDC.

detectionSites

Массив Идентификатора Simulink (SID) сайтов обнаружения для обнаруживаемой цели. Цель обнаруживаема на любом из сайтов обнаружения.

Это поле появляется в файле данных, когда аналитический Режим установлен в Test Generation и цели Покрытия модели установлены в Enhanced MCDC.

modelObjectIdx

Целое число, которое представляет индекс объекта модели, с которым сопоставлена цель.

analysistime

Целое число, которое представляет аналитическое время для объекта.

testCaseIdx

Целое число, которое представляет индекс теста или контрпримера, который обращается к цели.

Поле TestCases / Поле CounterExamples

В sldvData структура, это поле может иметь два имени, в зависимости от типа проверки:

  • Если вы устанавливаете параметр Режима на Design error detection, CounterExamples информация о cписках полей о каждом тесте, который приводит к ошибке деления на нуль или целочисленному переполнению.

  • Если вы устанавливаете параметр Режима на Test generation, TestCases информация о cписках полей о каждом тесте, таком как его значения сигналов и цели тестирования это достигает.

  • Если вы устанавливаете параметр Режима на Property proving, CounterExamples информация о cписках полей о каждом контрпримере и цели доказательства это фальсифицирует.

Следующая таблица описывает каждое подполе TestCases / CounterExamples поле .

Имя подполяОписание
timeValues

Вектор, который задает временные стоимости, сопоставленные с сигналами в тесте или контрпримере.

dataValues

Массив ячеек, который задает значения данных, сопоставленные с сигналами в тесте или контрпримере.

paramValues

Структура, которая задает значения параметров, сопоставленные с тестом или контрпримером. Его поля включают:

name — Имя параметра.

value — Номер, который задает значение параметра.

noEffect — Логическое значение, которое задает, влияет ли значение параметра на цель.

stepValues

Вектор, который задает количество временных шагов, которые включают сигналы в тесте или контрпримере.

objectives

Структура, которая задает цели, к которым обращаются тест или контрпример. Его поля включают:

objectiveIdx — Целое число, которое представляет индекс цели, которой тест достигает или контрпример, фальсифицирует.

atTime — Временная стоимость, в которой или тест достигает цели или контрпримера, фальсифицирует цель.

atStep — Временной шаг, на котором или тест достигает цели или контрпримера, фальсифицирует цель.

dataNoEffect

Массив ячеек логических векторов, который задает, влияют ли значения данных сигнала на цель. Вектор использует 1 указать, что значение данных сигнала не влияет на цель; в противном случае это использует 0.

expectedOutput

Массив ячеек векторов, который задает выходные значения, которые следуют из симуляции модели с помощью сигналов теста. Каждая ячейка представляет выходные значения, сопоставленные различным блоком Outport в системе верхнего уровня. Это подполе заполняется, если вы выбираете ожидаемые выходные значения Include.

Поле версии

В sldvData структура, Version поле задает версию Simulink Design Verifier, который анализировал модель.

Поле DeadLogic

Если вы анализируете свою модель для мертвой логики в sldvData структура, DeadLogic информация о cписках полей о каждой цели мертвой логики.

Эта таблица описывает каждое подполе DeadLogic поле .

Имя подполяОписание
label

Описание цели мертвой логики.

descr

Полный путь к объекту модели, включая объекты в диаграмме Stateflow.

modelObjIdx

Целое число, которое представляет индекс объекта модели, который сопоставлен с целью.

coverageType

Тип цели покрытия.

coverageIdx

Целое число, которое представляет индекс точки покрытия, которая сопоставлена с целью.

ObjectiveIdx

Целое число, которое представляет индекс цели, которая сопоставлена с объектом модели.

Симулируйте модели с файлами данных

sldvruntest функция симулирует модель при помощи тестов или контрпримеров, которые находятся в файле данных Simulink Design Verifier:

  1. Симулируйте sldvdemo_flipflop модель и генерирует тесты:

  2. Сохраните местоположение файла данных, сгенерированного после анализа модели:

    sldvDataFile = 'sldv_output\sldvdemo_flipflop\sldvdemo_flipflop_sldvdata.mat'
  3. Используйте sldvruntest функция, чтобы симулировать sldvdemo_flipflop модель с помощью теста 2 в файле данных:

    [ outdata ] = sldvruntest('sldvdemo_flipflop', sldvDataFile, 2)

    Выход от sldvruntest массив Simulink.SimulationOutput объекты.

  4. Исследуйте выходные данные от первого теста с помощью методов 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.