Invio dell'analisi Bug Finder dal desktop al server ospitato localmente
È possibile eseguire un'analisi Polyspace® localmente sul desktop o trasferirla su uno o più server dedicati. Questo argomento mostra una semplice configurazione server-client per il trasferimento dell'analisi di Polyspace. In questa configurazione, lo stesso computer funge da client che invia un'analisi Polyspace e da server che esegue l'analisi.
È possibile estendere questo tutorial a configurazioni più complesse. Per istruzioni complete sull'impostazione e sul workflow, vedere i collegamenti correlati riportati di seguito.
Nota
Le versioni di Polyspace sulle macchine client e server devono corrispondere.
Workflow client-server per l’esecuzione dell’analisi
Dopo l'impostazione iniziale, è possibile inviare un'analisi Polyspace da un desktop client a un server. Il workflow client-server avviene in tre fasi. Tutte e tre le fasi possono essere eseguite sullo stesso computer o su tre computer diversi. Questo tutorial utilizza lo stesso computer per l'intero workflow.
Nodo client: specificare le opzioni di analisi Polyspace e avviare l'analisi sul desktop client. La fase iniziale dell'analisi fino alla compilazione viene eseguita sul desktop. Dopo la compilazione, il lavoro di analisi viene inviato al server.
È necessario il prodotto desktop di Polyspace, Polyspace Bug Finder™, sul computer che funge da nodo client.
Nodo principale: il server è costituito da un nodo principale e diversi nodi worker. Il nodo principale utilizza un'utilità di pianificazione dei processi per gestire gli invii provenienti da più desktop client. I processi vengono quindi distribuiti ai nodi worker nel momento in cui diventano disponibili.
È necessario il prodotto MATLAB® Parallel Server™ sul computer che funge da nodo principale.
Nodi worker: quando un worker diventa disponibile, l'utilità di pianificazione dei processi assegna l'analisi al worker. L'analisi Polyspace viene eseguita sul worker e i risultati vengono scaricati sul desktop client per essere revisionati.
È necessario il prodotto MATLAB Parallel Server sui computer che fungono da nodi worker. Per eseguire l'analisi, è inoltre necessario il prodotto server di Polyspace, Polyspace Bug Finder Server™.
Vedere anche Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.
Prerequisiti
Questo tutorial utilizza lo stesso computer come client e come server. È necessario installare quanto segue sul computer:
Prodotto lato client: Polyspace Bug Finder
Prodotti lato server: MATLAB Parallel Server e Polyspace Bug Finder Server
Per maggiori informazioni, vedere Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.
È necessario conoscere il nome host del computer. Ad esempio, in Windows®, aprire un terminale della riga di comando e inserire:
hostname |
Configurazione e avvio del server
Interruzione dei servizi precedenti
Se in precedenza sono stati avviati i servizi di MATLAB Parallel Server (servizi mjs
), assicurarsi di aver interrotto tutti i servizi. In particolare, potrebbe essere necessario:
Controllare la cartella temporanea, ad esempio
C:\Windows\Temp
in Windows e rimuovere la cartellaMDCE
, se presente.Interrompere esplicitamente tutti i servizi. Questo passaggio non è necessario in Linux®.
Aprire un terminale della riga di comando. Spostarsi su
(utilizzandomatlabroot
\toolbox\parallel\bincd
) e inserire quanto segue:mjs uninstall -clean
In questo caso,
è la cartella di installazione di MATLABParallel Server, ad esempiomatlabroot
C:\Program Files\MATLAB\R2025a
.
Se è la prima volta che si avviano i servizi, non è necessario eseguire questi passaggi.
Configurazione delle impostazioni del servizio mjs
Prima di avviare i servizi, è necessario configurare le impostazioni del servizio mjs
. Spostarsi su
, dove matlabroot
\toolbox\parallel\bin
è la cartella di installazione di MATLAB Parallel Server, ad esempio matlabroot
C:\Program Files\MATLAB\R2025a
. Modificare questi due file. Per modificare e salvare questi file, è necessario aprire l'Editor in modalità amministratore.
mjs_def.bat
(Windows) omjs_def.sh
(Linux)Leggere le istruzioni nel file e rimuovere il commento dalle righe secondo necessità. Come minimo, potrebbe essere necessario rimuovere il commento da queste righe:
Nome host:
in Windows oREM set HOSTNAME=myHostName
in Linux. Rimuovere#HOSTNAME=`hostname -f`
REM
o#
e specificare esplicitamente il nome host del computer.Livello di sicurezza:
in Windows oREM set SECURITY_LEVEL=
in Linux. Rimuovere#SECURITY_LEVEL=""
REM
o#
e specificare esplicitamente un livello di sicurezza.
In caso contrario, potrebbe essere visualizzato un errore in un secondo momento all'avvio dell'utilità di pianificazione dei processi.
mjs_polyspace.conf
Modificare e rimuovere il commento dalla riga che fa riferimento alla radice del prodotto server di Polyspace. La riga deve fare riferimento al numero di release e alla cartella radice dell'installazione del prodotto server di Polyspace. Ad esempio, se la release R2025a di Polyspace Bug Finder Server è installata nella cartella principale
C:\Program Files\Polyspace Server\R2025a
, modificare la riga come segue:POLYSPACE_SERVER_ROOT=C:\Program Files\Polyspace Server\R2025a
In caso contrario, l'installazione di MATLAB Parallel Server non potrà individuare l'installazione di Polyspace Bug Finder Server per eseguire l'analisi.
Avvio dei servizi
Avviare i servizi mjs
e assegnare il computer attuale sia come nodo principale che come nodo worker.
Spostarsi su
, dove matlabroot
\toolbox\parallel\bin
è la cartella di installazione di MATLAB Parallel Server, ad esempio matlabroot
C:\Program Files\MATLAB\R2025a
. Eseguire questi comandi (direttamente nella riga di comando o utilizzando script):
mjs install mjs start startjobmanager -name JobScheduler -remotehost hostname -v startworker -jobmanagerhost hostname -jobmanager JobScheduler -remotehost hostname -v |
In questo caso,
è il nome host del computer. Questo è il nome host specificato nel file hostname
mjs_def.bat
(Windows) o mjs_def.sh
(Linux). Si noti che in Linux, non è necessario il comando mjs install
.
Anziché dalla riga di comando, è inoltre possibile avviare i servizi dall'interfaccia dell'Admin Center. Vedere Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.
Per maggiori informazioni sui comandi, vedere Configure Advanced Options for MATLAB Job Scheduler Integration (MATLAB Parallel Server).
Configurazione client
Aprire l'interfaccia utente del prodotto desktop, Polyspace Bug Finder. Spostarsi su
, dove polyspaceroot
\polyspace\bin
è la cartella di installazione del prodotto desktop di Polyspace, ad esempio polyspaceroot
C:\Program Files\Polyspace\R2025a
, quindi fare doppio click sul file eseguibile polyspace
.
Selezionare Tools > Preferences. Nella scheda Server configuration, inserire il nome host del computer per Job scheduler host name.
L'impostazione per il workflow server-client è ora completata.
Invio dell'analisi dal client al server
Eseguire Bug Finder sul file numerical.c
fornito con l'installazione.
Prima di eseguire questi passaggi, per evitare di inserire i percorsi completi dei file eseguibili Polyspace, aggiungere il percorso
alla variabile di ambiente polyspaceroot
\polyspace\binPATH
sul sistema operativo. In questo caso,
è la cartella di installazione del prodotto desktop di Polyspace, ad esempio polyspaceroot
C:\Program Files\Polyspace\R2025a
. Per controllare se il percorso è già stato aggiunto, aprire un terminale della riga di comando e inserire:
polyspace-bug-finder -h |
Se il percorso del comando è già stato aggiunto, viene visualizzato l'elenco completo delle opzioni.
Copia il file
numerical.c
da
in una cartella con autorizzazioni di scrittura.polyspaceroot
\polyspace\examples\cxx\Bug_Finder_Example\sourcesApri un terminale di comando. Accedere alla cartella in cui è stato salvato
numerical.c
e inserire quanto segue:polyspace-bug-finder -sources numerical.c -checkers numerical -results-dir . -batch -scheduler hostname
In questo caso,
è il nome host del computer.hostname
Dopo la compilazione, l'analisi viene inviata a un server e restituisce un ID lavoro. Per eseguire un'analisi Code Prover, utilizzare
polyspace-code-prover
anzichépolyspace-bug-finder
. È possibile eseguire il comandopolyspace-code-prover
solo con una licenza Polyspace Bug Finder, a condizione che si utilizzi l'opzione-batch
.Visualizzare lo stato del lavoro attuale.
polyspace-jobs-manager listjobs -scheduler hostname
È possibile individuare il lavoro attuale utilizzando l'ID lavoro.
Una volta completato il lavoro, è possibile scaricare esplicitamente i risultati.
polyspace-jobs-manager download -job jobID -results-folder . -scheduler hostname
In questo caso,
è l'ID del lavoro dall'invio.jobID
La cartella dei risultati contiene il file dei risultati scaricati (con estensione .psbf
). Aprire i risultati nell'interfaccia utente del prodotto desktop Polyspace Bug Finder.