Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

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.

  1. 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.

  2. 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.

  3. 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 cartella MDCE, se presente.

  • Interrompere esplicitamente tutti i servizi. Questo passaggio non è necessario in Linux®.

    Aprire un terminale della riga di comando. Spostarsi su matlabroot\toolbox\parallel\bin (utilizzando cd) e inserire quanto segue:

    mjs uninstall -clean

    In questo caso, matlabroot è la cartella di installazione di MATLABParallel Server, ad esempio 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 matlabroot\toolbox\parallel\bin, dove matlabroot è la cartella di installazione di MATLAB Parallel Server, ad esempio 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) o mjs_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:

      REM set HOSTNAME=myHostName
      in Windows o
      #HOSTNAME=`hostname -f`
      in Linux. Rimuovere REM o # e specificare esplicitamente il nome host del computer.

    • Livello di sicurezza:

      REM set SECURITY_LEVEL=
      in Windows o
      #SECURITY_LEVEL=""
      in Linux. Rimuovere 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 matlabroot\toolbox\parallel\bin, dove matlabroot è la cartella di installazione di MATLAB Parallel Server, ad esempio 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, hostname è il nome host del computer. Questo è il nome host specificato nel file 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 polyspaceroot\polyspace\bin, dove polyspaceroot è la cartella di installazione del prodotto desktop di Polyspace, ad esempio 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 polyspaceroot\polyspace\bin alla variabile di ambiente PATH sul sistema operativo. In questo caso, polyspaceroot è la cartella di installazione del prodotto desktop di Polyspace, ad esempio 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.

  1. Copia il file numerical.c da polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example\sources in una cartella con autorizzazioni di scrittura.

  2. Apri 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, hostname è il nome host del computer.

    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 comando polyspace-code-prover solo con una licenza Polyspace Bug Finder, a condizione che si utilizzi l'opzione -batch.

  3. Visualizzare lo stato del lavoro attuale.

    polyspace-jobs-manager listjobs -scheduler hostname

    È possibile individuare il lavoro attuale utilizzando l'ID lavoro.

  4. Una volta completato il lavoro, è possibile scaricare esplicitamente i risultati.

    polyspace-jobs-manager download -job jobID -results-folder . -scheduler hostname

    In questo caso, jobID è l'ID del lavoro dall'invio.

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.

Vedi anche

Argomenti