Contenido principal

Enviar análisis de Bug Finder desde el escritorio a un servidor hospedado localmente

Puede realizar un análisis de Polyspace® localmente en el escritorio o transferir el análisis a uno o más servidores dedicados. En este tema se muestra una configuración servidor-cliente sencilla para transferir el análisis de Polyspace. En esta configuración, el mismo ordenador actúa como un cliente que envía un análisis de Polyspace y como un servidor que ejecuta el análisis.

Puede extender este tutorial a configuraciones más complejas. Para ver las instrucciones completas de configuración y flujo de trabajo, consulte los enlaces relacionados que aparecen a continuación.

Nota

Las versiones de Polyspace en los equipos cliente y servidor deben coincidir.

Flujo de trabajo cliente-servidor para ejecutar análisis

Después de la configuración inicial, puede enviar un análisis de Polyspace desde un escritorio cliente a un servidor. El flujo de trabajo cliente-servidor se desarrolla en tres pasos. Los tres pasos pueden realizarse en el mismo ordenador o en tres ordenadores diferentes. Este tutorial utiliza el mismo ordenador para todo el flujo de trabajo.

  1. Nodo cliente: especifica opciones de análisis de Polyspace e inicia el análisis en el escritorio cliente. En el escritorio se ejecuta la fase inicial del análisis hasta la compilación. Después de la compilación, la tarea de análisis se envía al servidor.

    Se necesita el producto de escritorio de Polyspace, Polyspace Bug Finder™, en el ordenador que actúa como nodo cliente.

  2. Nodo principal: el servidor consta de un nodo principal y varios nodos worker. El nodo principal usa un planificador de tareas para gestionar los envíos desde varios escritorios cliente. Después, las tareas se distribuyen a los nodos worker cuando van estando disponibles.

    Se necesita el producto MATLAB® Parallel Server™ en el ordenador que actúa como nodo principal.

  3. Nodos worker: cuando un worker está disponible, el planificador de tareas asigna el análisis al worker. El análisis de Polyspace se ejecuta en el worker y los resultados se descargan de nuevo al escritorio cliente para su revisión.

    Se necesita el producto MATLAB Parallel Server en los equipos que actúan como nodos worker. También se requiere el producto de servidor de Polyspace, Polyspace Bug Finder Server™, para ejecutar el análisis.

Consulte también Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.

Requisitos previos

Este tutorial utiliza el mismo ordenador como cliente y servidor. En el ordenador se debe instalar lo siguiente:

  • Producto de cliente: Polyspace Bug Finder

  • Productos de servidor: MATLAB Parallel Server y Polyspace Bug Finder Server

Para obtener más información, consulte Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.

Debe conocer el nombre de host del ordenador. Por ejemplo, en Windows®, abra un terminal de línea de comandos e introduzca:

hostname

Configurar e iniciar el servidor

Detener servicios anteriores

Si ha iniciado los servicios de MATLAB Parallel Server (servicios mjs) anteriormente, asegúrese de haber detenido todos los servicios. En especial, es posible que deba:

  • Comprobar la carpeta temporal, por ejemplo, C:\Windows\Temp en Windows, y eliminar la carpeta MDCE si existiera.

  • Detener explícitamente todos los servicios. Este paso no es necesario en Linux®.

    Abra un terminal de línea de comandos. Vaya a matlabroot\toolbox\parallel\bin (con cd) e introduzca lo siguiente:

    mjs uninstall -clean

    En este caso, matlabroot es la carpeta de instalación de MATLAB Parallel Server; por ejemplo, C:\Program Files\MATLAB\R2025b.

Si es la primera vez que inicia los servicios, no es necesario realizar estos pasos.

Configurar ajustes del servicio mjs

Antes de iniciar los servicios, es necesario configurar los ajustes del servicio mjs. Vaya a matlabroot\toolbox\parallel\bin, donde matlabroot es la carpeta de instalación de MATLAB Parallel Server; por ejemplo, C:\Program Files\MATLAB\R2025b. Modifique estos dos archivos. Para editar y guardar estos archivos, debe abrir el editor en modo administrador.

  • mjs_def.bat (Windows) o mjs_def.sh (Linux)

    Lea las instrucciones del archivo y elimine los comentarios de las líneas según sea necesario. Como mínimo, es posible que deba eliminar el comentario de estas líneas:

    • Nombre de host:

      REM set HOSTNAME=myHostName
      en Windows o
      #HOSTNAME=`hostname -f`
      en Linux. Elimine REM o # y especifique explícitamente el nombre de host del ordenador.

    • Nivel de seguridad:

      REM set SECURITY_LEVEL=
      en Windows o
      #SECURITY_LEVEL=""
      en Linux. Elimine REM o # y especifique explícitamente un nivel de seguridad.

    De lo contrario, es posible que vea un error más adelante cuando inicie el planificador de tareas.

  • mjs_polyspace.conf

    Modifique y elimine el comentario de la línea que hace referencia a una raíz del producto Polyspace de servidor. La línea debería hacer referencia al número de versión y la carpeta raíz de la instalación del producto de servidor de Polyspace. Por ejemplo, si la versión R2025b de Polyspace Bug Finder Server está instalada en la carpeta raíz C:\Program Files\Polyspace Server\R2025b, modifique la línea a:

    POLYSPACE_SERVER_ROOT=C:\Program Files\Polyspace Server\R2025b
    

    De lo contrario, la instalación de MATLAB Parallel Server no puede encontrar la instalación de Polyspace Bug Finder Server para ejecutar el análisis.

Iniciar servicios

Inicie los servicios mjs y asigne el ordenador actual como nodo principal y nodo worker.

Vaya a matlabroot\toolbox\parallel\bin, donde matlabroot es la carpeta de instalación de MATLAB Parallel Server; por ejemplo, C:\Program Files\MATLAB\R2025b. Ejecute estos comandos (directamente en la línea de comandos o usando scripts):

mjs install
mjs start
startjobmanager -name JobScheduler -remotehost hostname -v
startworker -jobmanagerhost hostname -jobmanager JobScheduler -remotehost hostname -v

En este caso, hostname es el nombre de host del ordenador. Se trata del nombre de host que ha especificado en el archivo mjs_def.bat (Windows) o mjs_def.sh (Linux). Tenga en cuenta que en Linux, no es necesario el comando mjs install.

En lugar de la línea de comandos, también puede iniciar los servicios desde la interfaz del centro de administración. Consulte Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.

Para obtener más información sobre los comandos, consulte Configure Advanced Options for MATLAB Job Scheduler Integration (MATLAB Parallel Server).

Configurar cliente

Abra la interfaz de usuario del producto de escritorio, Polyspace Bug Finder. Vaya a polyspaceroot\polyspace\bin, donde polyspaceroot es la carpeta de instalación del producto de escritorio de Polyspace; por ejemplo, C:\Program Files\Polyspace\R2025b y haga doble clic en el ejecutable de polyspace.

Seleccione Tools > Preferences. En la pestaña Server configuration, introduzca el nombre de host del ordenador para Job scheduler host name.

Ahora ha realizado la configuración para el flujo de trabajo servidor-cliente.

Enviar análisis del cliente al servidor

Ejecute Bug Finder en el archivo numerical.c proporcionado con la instalación.

Antes de ejecutar estos pasos, para evitar introducir rutas completas en los ejecutables de Polyspace, añada la ruta polyspaceroot\polyspace\bin a la variable de entorno PATH en el sistema operativo. En este caso, polyspaceroot es la carpeta de instalación del producto de escritorio de Polyspace; por ejemplo, C:\Program Files\Polyspace\R2025b. Para comprobar si la ruta ya se ha añadido, abra un terminal de línea de comandos e introduzca:

polyspace-bug-finder -h

Si la ruta al comando ya se ha añadido, verá la lista completa de opciones.

  1. Copie el archivo numerical.c desde polyspaceroot\polyspace\examples\cxx\Bug_Finder_Example\sources a una carpeta con permisos de escritura.

  2. Abra un terminal de comandos. Vaya a la carpeta donde guardó numerical.c e introduzca lo siguiente:

    polyspace-bug-finder -sources numerical.c -checkers numerical -results-dir . -batch -scheduler hostname

    En este caso, hostname es el nombre de host del ordenador.

    Después de la compilación, el análisis se envía a un servidor y devuelve un ID de tarea. Para ejecutar un análisis de Code Prover, utilice polyspace-code-prover en lugar de polyspace-bug-finder. Puede ejecutar el comando polyspace-code-prover solo con una licencia de Polyspace Bug Finder, siempre y cuando utilice la opción -batch.

  3. Vea el estado de la tarea actual.

    polyspace-jobs-manager listjobs -scheduler hostname

    Puede encontrar la tarea actual por medio del ID de tarea.

  4. Una vez que la tarea se haya completado, puede descargar explícitamente los resultados.

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

    En este caso, jobID es el ID de tarea del envío.

La carpeta de resultados contiene el archivo de resultados descargado (con la extensión .psbf). Abra los resultados en la interfaz de usuario del producto de escritorio, Polyspace Bug Finder.

Consulte también

Temas