El metaverso industrial combina mundos digitales y físicos para apoyar el diseño, la simulación y la visualización colaborativa en 3D de sistemas diseñados. Normalmente consistía en muchos gemelos digitales interconectados de componentes para ofrecer una visión global del sistema. Grandes organizaciones como Boeing, BMW, Amazon y muchas más están adoptando múltiples enfoques para crearmetaversos 1. Se han desarrollado y están utilizando sistemas para permitir múltiples cadenas de herramientas de simulación y procesamiento. Sin embargo, estos ejemplos suelen ser a medida para el área de aplicación2 o son opcionescomerciales 3 y 4 con cierta vinculación a sistemas propietarios. Se han utilizado algunas alternativas de código abierto para construir gemelos digitales para crear algunos sistemas, como Python Flask, con capacidades de simulación integradas. Aun así, estos se configuran como piezas de código a medida para realizar tareas específicas relacionadas con el modelo5 en particular. En el contexto de este protocolo, la plataforma metaverso (NVIDIA Omniverse) funciona como una interfaz de visualización 3D e interacción con flujos de trabajo: las salidas de la simulación se cargan en una escena compartida tras completar la ejecución del flujo de trabajo, y se pueden desencadenar nuevas ejecuciones desde el mismo entorno. Esto difiere de los sistemas digitales en vivo en los que las señales de sensores en tiempo real actualizan el modelo de forma continua; El método aquí demostrado soporta la ejecución por lotes de flujos de trabajo y la exploración posterior a la ejecución de los resultados. Sin embargo, esto se hace de tal manera que apoye futuros trabajos para integrar más sistemas en la plataforma del metaverso y permitir la creación de gemelos digitales con motores de flujo de trabajo como backend computacional.
Los flujos de trabajo pueden definirse como cadenas de herramientas de software que especifican explícitamente el flujo de datos entre ellas. Permiten envolver códigos de simulación existentes, scripts de procesamiento y otros pasos en una tubería típica de análisis, sin alterar su función, sino permitiendo que se configuren y reconfiguren con entradas y salidas estandarizadas que no dependen de la herramienta. Los flujos de trabajo permiten una fácil replicación de resultados mediante el intercambio de herramientas, proporcionando también metadatos y procedencia sobre qué versiones de herramientas se usaron, en qué orden y con qué entradas. Las propias herramientas pueden reutilizarse en muchas canaletas de simulación, permitiendo a los investigadores dedicar menos tiempo a preparar simulaciones y más tiempo diseñando experimentos y explorando los resultados. Los sistemas de flujo de trabajo también son escalables, con métodos para conectarse a diferentes recursos locales de computación, nube y HPC, lo que permite ejecutar muchos flujos de trabajo a gran escala en hardware específico de formaautomatizada 6.
El enfoque manual típico es inherentemente lento, propenso a errores y difícil de reproducir, en el que un investigador ejecuta manualmente cada herramienta de simulación o postprocesamiento, mueve archivos intermedios entre entornos y debe documentar las entradas y salidas de las ejecuciones individuales. En contraste, un gestor de flujos de trabajo formaliza el flujo de datos una vez y lo vuelve a ejecutar de forma determinista. Esto aporta muchos beneficios en comparación con los pipelines manuales: el mismo flujo de trabajo puede ejecutarse de forma idéntica en diferentes entradas, soportando estudios de parámetros sin scripting personalizado; Cada ejecución captura automáticamente todos los metadatos de procedencia, abordando cualquier brecha de reproducibilidad; Y una vez que una herramienta ha sido completada, su coste de reutilización en flujos de trabajo posteriores cae casi a cero, salvo el tiempo de cálculo. Estos beneficios han sido cuantificados para bioinformática por Wratten et al.7 y para proteómica/metabolómica por Perez-Riverol yMoreno 8 y Verhoeven et al.9.
Históricamente, los flujos de trabajo se han utilizado principalmente en el campo de la bioinformática 8,9 con gran éxito en grandes instancias públicas como el servidor europeoGalaxy 10,11, que para 2022 albergaba a más de 50.000 usuarios, 2.500 herramientas, ejecutaba más de 47 millones de trabajos y 260.000 ejecuciones de flujos de trabajo. La misma pila de motores de flujo de trabajo soporta escalar a recursos HPC y en la nube a través del sistema distribuido de ejecución de trabajosPulsar 6,11, con despliegues operativos que abarcan 13 endpoints Pulsar en 10 países europeos. Entre los muchos gestores de flujo de trabajo disponibles, incluyendo Snakemake, Nextflow, Toil y motores compatibles con CWL, el motor de flujo de trabajoGalaxy 11 fue seleccionado por varias razones. Una de las razones principales es su interfaz madura basada en navegador, que reduce la barrera de entrada para los expertos en el dominio que no trabajan principalmente en línea de comandos; expone una interfaz completa de programación de aplicaciones (API) para transferencia de estado representacional (REST) (utilizada en el trabajo actual para conectar con el front-end del metaverso); Su modelo de historia y empleos captura la procedencia en una forma que es fácil de revelar a colaboradores no especialistas; y soporta una descarga HPC transparente mediante el mencionado sistema Pulsar (aunque esto no se discute en la sección de protocolos de este artículo). Sin embargo, el enfoque descrito en este artículo es en principio independiente del motor de flujo de trabajo: integraciones equivalentes podrían construirse sobre motores alternativos. La contribución de este trabajo no es el gestor de flujos de trabajo en sí, sino la traducción de un gestor de flujos de trabajo de propósito general desarrollado originalmente para bioinformática a otros campos (con el ejemplo específico de la neutrónica de fusión aquí), y su integración con una plataforma industrial-metaverso (NVIDIA Omniverse), dentro de una pila totalmente contenedorizada y desplegable localmente, aplicada a experimentos virtuales 3D.
Finalmente, la contenedorización permite compartir muchas piezas de software empaquetando código con el sistema operativo y todas las dependencias que necesita para ejecutarse. Estos entornos evitan los problemas de dependencias perdidas y la molestia de instalar algunos códigos de simulación. Son similares en propósito a las máquinas virtuales, pero mucho más ligeras y portátiles. Aumentan drásticamente la capacidad de compartir y la reproducibilidad de los paquetes de software. En este método, el gestor de flujo de trabajo y las herramientas individuales se ejecutan en contenedoresDocker 12 , aumentando la compatibilidad con diferentes sistemas operativos siempre que el usuario pueda ejecutar contenedores.
Este protocolo está destinado a investigadores expertos en dominio, por ejemplo, ingenieros de neutrónica de fusión, analistas de dinámica de fluidos computacional o practicantes de elementos finitos, que dominan las herramientas de simulación de su propio campo pero que no han utilizado previamente un gestor de flujo de trabajo ni un despliegue basado en contenedores. Se asume familiaridad con un único código de simulación y operación básica de línea de comandos; la familiaridad con Galaxy o el Omniverso no lo es. Los lectores nuevos en contenedorización deben consultar la documentación oficial de Docker (https://docs.docker.com/) o la formación introductoria disponible en: https://uomresearchit.github.io/docker-introduction/ antes de seguir la Sección 1; los comandos básicos necesarios para ejecutar el software están todos contenidos en el protocolo.
El resto de este informe cubrirá la configuración y el uso del sistema desplegable localmente. Luego, seguirá los pasos para desarrollar nuevas herramientas para el sistema y un método para vincular otros paquetes externos al motor de flujo de trabajo, como una plataforma metaverso. A lo largo del informe, una simulación de neutrónica utilizando OpenMC13 sirve como estudio de caso. OpenMC fue seleccionado porque demuestra toda la cadena de CAD, simulación y visualización de salida que motiva la arquitectura del flujo de trabajo. Un archivo de geometría y un archivo de configuración sirven como entradas estructuradas; la simulación de transporte de neutrones de Monte Carlo produce una métrica escalar (la relación de reproducción de tritio, TBR) que puede compararse con un rango conocido de valores, y un conjunto de datos de seguimiento de neutrones resuelto espacialmente que puede procesarse y presentarse en un formato visualizable para el renderizado 3D en la aplicación del metaverso.