Анализ Polyspace ® можно выполнить локально на рабочем столе или выгрузить на один или несколько выделенных серверов. В этом разделе показана простая конфигурация сервер-клиент для разгрузки анализа Polyspace. В этой конфигурации тот же компьютер выступает в качестве клиента, который отправляет анализ Polyspace, и сервера, на котором выполняется анализ.
Это учебное пособие можно распространить на более сложные конфигурации. Полные инструкции по настройке и рабочему процессу см. ниже по ссылкам.
![]()
После начальной установки можно отправить анализ Polyspace с рабочего стола клиента на сервер. Рабочий процесс клиент-сервер выполняется в три этапа. Все три шага можно выполнить на одном компьютере или на трех разных компьютерах. В этом учебном пособии используется один и тот же компьютер для всего рабочего процесса.
Узел клиента: Параметры анализа Polyspace и запуск анализа на рабочем столе клиента. Начальная фаза анализа до компиляции выполняется на рабочем столе. После компиляции задание анализа отправляется на сервер.
Требуется настольный продукт Polyspace, Polyspace Bug Finder™ на компьютере, выполняющем функции клиентского узла.
Головной узел: сервер состоит из головного узла и нескольких рабочих узлов. Главный узел использует планировщик заданий для управления отправлениями с нескольких клиентских рабочих столов. Затем задания распределяются по рабочим узлам по мере их доступности.
На компьютере, выполняющем функции головного узла, требуется продукт MATLAB ® Parallel Server™.
Узлы работника: когда работник становится доступным, планировщик заданий назначает анализ работнику. Анализ Polyspace выполняется на работнике, и результаты загружаются обратно на рабочий стол клиента для просмотра.
На компьютерах, выполняющих функции рабочих узлов, требуется продукт MATLAB Parallel Server. Для выполнения анализа также требуются серверные продукты Polyspace, Polyspace Bug Finder Server™ и Polyspace Code Prover™ Server.
![]()

![]()
См. также раздел Установка продуктов для отправки анализа Polyspace с настольных компьютеров на удаленный сервер.
![]()
В этом учебном пособии используется тот же компьютер, что и клиент и сервер. На компьютере необходимо установить следующее:
Клиентский продукт: Polyspace Bug Finder
Серверные продукты: MATLAB Parallel Server, Polyspace Bug Finder Server и Polyspace Code Prover Server.
Дополнительные сведения см. в разделе Установка продуктов для отправки анализа Polyspace с настольных компьютеров на удаленный сервер.
Необходимо знать имя узла компьютера. Например, в Windows ® откройте терминал командной строки и введите:
hostname |
![]()
![]()
Если службы MATLAB Parallel Server были запущены ранее, убедитесь, что все службы остановлены. В частности, может потребоваться:
Проверьте временную папку, например: C:\Windows\Temp в Windows и удалите MDCE если она существует.
Остановите все службы явным образом.
Откройте терминал командной строки. Перейти к (с использованием matlabroot\toolbox\parallel\bincd) и введите следующее:
mjs uninstall -clean |
Здесь, - папка установки параллельного сервера MATLAB, например, matlabrootC:\Program Files\MATLAB\R2021a.
Если службы запускаются в первый раз, выполнять эти действия не требуется.
![]()
mjs Параметры службыПеред запуском служб необходимо настроить mjs настройки службы. Перейти к , где matlabroot\toolbox\parallel\bin - папка установки параллельного сервера MATLAB, например, matlabrootC:\Program Files\MATLAB\R2021a. Измените эти два файла. Для редактирования и сохранения этих файлов необходимо открыть редактор в режиме администратора.
mjs_def.bat (Windows) или mjs_def.sh (Linux ®)
Прочитайте инструкции в файле и раскомментируйте строки по мере необходимости. Как минимум, может потребоваться раскомментировать следующие строки:
Имя хоста:
REM set HOSTNAME=myHostName
#HOSTNAME=`hostname -f`
REM или # и явно укажите имя компьютера.Уровень безопасности:
REM set SECURITY_LEVEL=
#SECURITY_LEVEL=""
REM или # и явно указать уровень безопасности.В противном случае при запуске планировщика заданий может появиться ошибка.
mjs_polyspace.conf
Измените и раскомментируйте строку, которая ссылается на корень продукта сервера Polyspace. Строка должна относиться к номеру выпуска и корневой папке установки продукта сервера Polyspace. Например, если R2021a выпуск Polyspace Code Prover Server установлен в корневой папке C:\Program Files\Polyspace Server\R2021a, измените строку следующим образом:
POLYSPACE_SERVER_ROOT=C:\Program Files\Polyspace Server\R2021a
В противном случае при установке параллельного сервера MATLAB не удается найти сервер проверки кода Polyspace для выполнения анализа.
![]()
Запустите mjs и назначить текущий компьютер как головной узел и рабочий узел.
Перейти к , где matlabroot\toolbox\parallel\bin - папка установки параллельного сервера MATLAB, например, matlabrootC:\Program Files\MATLAB\R2021a. Выполните следующие команды (непосредственно в командной строке или с помощью сценариев):
mjs install mjs start startjobmanager -name JobScheduler -remotehost hostname -v startworker -jobmanagerhost hostname -jobmanager JobScheduler -remotehost hostname -v |
Здесь, - имя узла компьютера. Это имя узла, указанное в файле hostnamemjs_def.bat (Windows) или mjs_def.sh (Linux).
Вместо командной строки можно запустить службы из интерфейса Центра администрирования. См. раздел Установка продуктов для отправки анализа Polyspace с настольных компьютеров на удаленный сервер.
Дополнительные сведения о командах см. в разделе Настройка дополнительных параметров для интеграции планировщика заданий MATLAB (параллельный сервер MATLAB).
![]()
Откройте интерфейс пользователя настольного продукта Polyspace Bug Finder (или Polyspace Code Prover). Перейти к , где polyspaceroot\polyspace\bin - папка установки настольного продукта Polyspace, например, polyspacerootC:\Program Files\Polyspace\R2021a и дважды щелкните значок polyspace исполняемый.
Выберите «Сервис» > «Установки». На вкладке Конфигурация сервера введите имя узла компьютера для имени узла планировщика заданий.
![]()

![]()
Теперь вы настроены для рабочего процесса сервер-клиент.
![]()
Запуск программы проверки кода для файла example.c в комплекте с вашей установкой.
Перед выполнением этих шагов, чтобы избежать ввода полных путей к исполняемым файлам Polyspace, добавьте путь в polyspaceroot\polyspace\binPATH переменная среды в операционной системе. Здесь - папка установки настольного продукта Polyspace, например, polyspacerootC:\Program Files\Polyspace\R2021a. Чтобы проверить, добавлен ли путь, откройте терминал командной строки и введите:
polyspace-code-prover -h |
Если путь к команде уже добавлен, появится полный список параметров.
Копировать файл example.c и все заголовочные файлы из в папку с разрешениями на запись.polyspaceroot\polyspace\examples\cxx\Code_Prover_Example\sources
Откройте командный терминал. Перейдите в папку, в которой было сохранено example.c и введите следующее:
polyspace-code-prover -sources example.c -I . -main-generator -results-dir resultsFolder -batch -scheduler hostname |
Здесь, - имя узла компьютера. Для выполнения анализа Bug Finder используйте hostnamepolyspace-bug-finder вместо polyspace-code-prover. Обратите внимание, что вы можете запустить polyspace-code-prover только с лицензией Polyspace Bug Finder, при условии использования -batch вариант.
После компиляции анализ передается на сервер и возвращает идентификатор задания.
См. состояние текущего задания.
polyspace-jobs-manager listjobs -scheduler hostname |
Текущее задание можно найти с помощью идентификатора задания.
После завершения задания можно явно загрузить результаты.
polyspace-jobs-manager download -job jobID -results-folder . -scheduler hostname |
Здесь, - идентификатор задания из отправки.jobID
Папка результатов содержит загруженный файл результатов (с расширением .pscp). Откройте результаты в интерфейсе пользователя настольного продукта Polyspace Bug Finder.
![]()