exponenta event banner

Анализ кода, созданного как автономный код в распределенном рабочем процессе

Создание и упаковка файлов опций Polyspace ® из модели Simulink ® с помощью функцииpolyspacepackNGo. Эти файлы опций используются для выполнения анализа Polyspace по сгенерированному коду, использующему специфичную для модели информацию, например спецификации диапазона проектирования, без использования Simulink.

Открыть модель

Модель demo_math_operations выполняет различные математические операции на входах модели. Модель имеет блок C Function, который выполняет пользовательский код C. Модель также имеет блок вызывающего абонента C, который вызывает функцию C GMean, который реализован в исходном файле GMean.c. Чтобы открыть модель для создания кода и упаковки файла опций Polyspace, выполните поиск текущего раздела в браузере справки MATLAB и нажмите кнопку «Открыть модель». Либо в окне команд MATLAB вставьте и выполните следующий код.

openExample('simulink_general/PPNGStandAloneExample');
open_system('demo_math_operations');

Настройка модели

Чтобы настроить модель для создания кода и упаковки файлов параметров Polyspace, укажите следующие параметры конфигурации:

  • Для создания архива, содержащего созданный код, установите 'PackageGeneratedCodeAndArtifacts' кому true.

  • Укажите имя архива кода. Например, задайте для имени значение genCodeArchive.zip.

  • Чтобы использовать пользовательскую настройку кода, указанную в цели моделирования, во время создания кода, установите 'RTWUseSimCustomCode' кому 'on'.

  • Чтобы модель и созданный код были совместимы с Polyspace, установите ert.tlc в качестве целевого файла системы. См. раздел Рекомендуемые параметры конфигурации модели для анализа полиспейсов (Polyspace Bug Finder).

В окне команд или редакторе введите следующие конфигурации параметров:

configSet = getActiveConfigSet('demo_math_operations');
set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true);
set_param(configSet, 'PackageName', 'genCodeArchive.zip');
set_param(configSet, 'SystemTargetFile', 'ert.tlc');
set_param(configSet,'RTWUseSimCustomCode','on')

Создать архив кода

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

codegenFolder = 'demo_math_operations_ert_rtw';
if exist(fullfile(pwd,codegenFolder), 'dir') == 0
    slbuild('demo_math_operations')
end

Поскольку PackageGeneratedCodeAndArtifacts имеет значение true, сформированный код упаковывается в архив genCodeArchive.zip.

Создать и упаковать файл параметров Polyspace

Для создания файлов параметров Polyspace для созданного кода в окне команд или в редакторе введите:

zipFile = polyspacePackNGo('demo_math_operations');

В архиве genCodeArchive.zip, найдите файлы параметров в папке <current folder>/polyspace.

Выполнение анализа полиспейса с помощью пакетных файлов параметров

  1. Распакуйте архив кода genCodeArchive.zip и найдите <current folder>/polyspace папка.

  2. Откройте терминал командной строки и измените рабочую папку на polyspace подпапка распакованной папки с помощью cd команда.

  3. Запустите анализ Polyspace.

    • Для выполнения анализа Polyspace на рабочем столе используйте polyspace-code-prover или polyspace-bug-finder. Чтобы выполнить анализ Polyspace на сервере, используйте polyspace-bug-finder-server или polyspace-code-prover-server. Polyspace Bug Finder и Code Prover анализируют код по-разному. См. раздел Выбор поиска ошибок в полиспейсе и поиска кода в полиспасе (поиск ошибок в полиспасе).

    • Укажите файл optionsFile.txt в качестве аргумента для -options-file.

    Чтобы выполнить анализ проверки кода, выполните следующую команду: polyspace-code-prover -options-file optionsFile.txt -results-dir Results.

  4. Следите за ходом анализа в файле журнала, созданном в Results папка.

  5. Для просмотра результатов в пользовательском интерфейсе рабочего стола в интерфейсе командной строки введите: polyspace Results\ps_results.pscp. Расширение ps_results файл изменяется в зависимости от того, выполняете ли вы анализ программы проверки кода (Code Prover) или анализ программы поиска ошибок (Bug Finder). Результат содержит несколько оранжевых чеков.

    Либо загрузите результат в Polyspace Access. См. раздел Загрузка результатов в Polyspace Access (Polyspace Bug Finder Access).

  6. Обращайтесь к результатам. Дополнительные сведения см. в разделе Результаты поиска адресов с помощью исправления ошибок или комментариев (Polyspace Bug Finder).

См. также

| | (встроенный кодер)