exponenta event banner

Файлы данных 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™ (при его наличии).

Поле «Анализ информации»

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

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

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

AnalysisTime

Двойное значение, указывающее длину анализа в секундах.

Options

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

InputPortInfo

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

OutputPortInfo

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

SampleTimes

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

Parameters

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

AbstractedBlocks

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

Approximations

Структура, описывающая аппроксимации, выполненные во время анализа. Дополнительные сведения об аппроксимациях см. в разделе Аппроксимации.

ReplacementInfo

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

PreProcessingTime

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

ModelRepresentationInfo

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

Поле ModelObjects

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

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

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

typeDesc

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

slPath

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

sfObjType

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

sfObjNum

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

sid

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

designSid

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

replacementSid

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

objectives

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

Поле «Ограничения»

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

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

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

Поле «Цели»

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

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

Тип цели.

status

Статус цели.

descr

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

label

Метка цели.

outcomeValue

Целое число, указывающее результат цели.

coveragePointIdx

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

linkInfo

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

range

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

detectability

Состояние обнаруживаемости цели.

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

detectionSites

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

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

modelObjectIdx

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

analysistime

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

testCaseIdx

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

Поле Test Cases/поле CounterExamples

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

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

  • Если для параметра Mode установлено значение Test generation, TestCases В поле перечислены сведения о каждом тестовом случае, такие как значения его сигнала и цели теста, которые он достигает.

  • Если для параметра Mode установлено значение Property proving, CounterExamples в поле перечислены сведения о каждом контрпримере и цель доказательства, которую он фальсифицирует.

В следующей таблице описаны все подразделы TestCases / CounterExamples поле.

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

Вектор, указывающий значения времени, связанные с сигналами в тестовом примере или контрпримере.

dataValues

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

paramValues

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

name - имя параметра.

value - число, указывающее значение параметра.

noEffect - логическое значение, указывающее, влияет ли значение параметра на цель.

stepValues

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

objectives

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

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

atTime - значение времени, в течение которого либо тестовый случай достигает цели, либо контрпример фальсифицирует цель.

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

dataNoEffect

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

expectedOutput

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

Поле версии

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

Поле DeadLogic

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

В этой таблице описываются все подразделы 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.