полипробел. Класс ModelLinkOptions

Пакет: полипробел

Создайте объект для рабочего анализа Polyspace сгенерированного кода

Описание

Запустите анализ Polyspace® от MATLAB® при помощи объекта опций. Чтобы задать исходные файлы и настроить аналитические опции, измените свойства объектов.

Этот класс предназначается для образцового сгенерированного кода. Если вы анализируете рукописный код, используйте polyspace.Options вместо этого.

Примечание

Прежде чем вы запустите Polyspace из MATLAB, необходимо соединить Polyspace и установки MATLAB. Смотрите Интегрируют Polyspace с MATLAB и Simulink.

Конструкция

opts = polyspace.ModelLinkOptions создает объект, свойства которого соответствуют опциям для выполнения анализа Polyspace сгенерированного кода.

opts = polyspace.ModelLinkOptions(lang) создает объект опций Polyspace с опциями, которые применимы к языку lang.

opts = polyspace.ModelLinkOptions(model) создает объект опций Polyspace с опциями, которые применимы к model. До извлечения опций из модели необходимо загрузить модель и сгенерировать код.

Входные параметры

развернуть все

Язык анализа, заданного как 'C-CPP', 'C' или 'CPP'. Этот аргумент определяет свойства объектов.

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

До извлечения опций из модели вы должны:

  1. Загрузите модель. Используйте load_system или open_system.

  2. Сгенерируйте код из модели. Используйте rtwbuild.

Пример: 'psdemo_model_link_sl'

Свойства

Свойства объектов соответствуют аналитическим опциям для проектов Polyspace. Свойства организованы в тех же категориях как интерфейс Polyspace. Имена свойства являются сокращенной версией имени командной строки DOS. Для получения дополнительной информации синтаксиса смотрите полипробел. Свойства ModelLinkOptions.

Методы

copyToСкопируйте общие настройки между объектами опций Polyspace
generateProjectСгенерируйте psprj проект от объекта опций
toScriptДобавьте определение объекта опций Polyspace в скрипт

Примеры

свернуть все

Этот пример показывает, как настроить и запустить анализ кода, сгенерированного из модели.

Сгенерируйте код из модели sldemo_bounce. Перед генерацией кода, набор системный конечный файл, подходящий для анализа кода. См. также Рекомендуемые Образцовые Параметры конфигурации для Анализа Polyspace.

modelName = 'rtwdemo_roll';
load_system(modelName);

% Set parameters for Embedded Coder target
set_param(modelName, 'SystemTargetFile', 'ert.tlc');
set_param(modelName,'Solver','FixedStepDiscrete');
set_param(modelName,'SupportContinuousTime','on');
set_param(modelName,'LaunchReport','off');
set_param(modelName,'InitFltsAndDblsToZero','on');

if exist(fullfile(pwd,'rtwdemo_roll_ert_rtw'), 'dir') == 0
    rtwbuild(modelName);
end

Сопоставьте объект polyspace.ModelLinkOptions с моделью. Подмножество свойств объектов установлено от параметров конфигурации, сопоставленных с моделью. Другие свойства берут свои значения по умолчанию. Для получения дополнительной информации на параметрах конфигурации, смотрите Анализ Polyspace в Simulink.

opts = polyspace.ModelLinkOptions(modelName);

Измените значения свойств в случае необходимости. Например, можно указать, что анализ должен проверять на весь MISRA C®: 2 012 нарушений и генерируют отчет PDF результатов. Можно также задать папку для результатов анализа.

opts.CodingRulesCodeMetrics.EnableMisraC3 = true;
opts.CodingRulesCodeMetrics.MisraC3Subset = 'all';

opts.MergedReporting.EnableReportGeneration = true;
opts.MergedReporting.ReportOutputFormat = 'PDF';

opts.ResultsDir = 'newResfolder';

Создайте объект polyspace.Project. Сопоставьте свойство Configuration этого объекта к опциям что вы ранее заданный.

proj = polyspace.Project;
proj.Configuration = opts;

Запустите анализ и открытые результаты.

cpStatus = proj.run('codeProver');
proj.Results.getResults('readable');

Альтернативы

Если вы анализируете рукописный код, используйте объект polyspace.Project непосредственно. Также используйте объект polyspace.Options.

Введенный в R2017a