Arquitectura de testing para la integración de sistemas multi-Agente

González Abad, Pablo (2024). Arquitectura de testing para la integración de sistemas multi-Agente. Trabajo Fin de Grado / Proyecto Fin de Carrera, E.T.S. de Ingenieros Informáticos (UPM), Boadilla del Monte.

Descripción

Título: Arquitectura de testing para la integración de sistemas multi-Agente
Autor/es:
  • González Abad, Pablo
Director/es:
Tipo de Documento: Trabajo Fin de Grado o Proyecto Fin de Carrera
Grado: Grado en Ingeniería Informática
Fecha: Junio 2024
Materias:
ODS:
Escuela: E.T.S. de Ingenieros Informáticos (UPM)
Departamento: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[thumbnail of TFG_PABLO_GONZALEZ_ABAD.pdf] PDF (Portable Document Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (5MB)

Resumen

Este proyecto se basa en el estudio, desarrollo e implementación de una infraestructura inicial y estructura de pruebas para la práctica World of Agent. World of Agents es la segunda práctica del curso de Desarrollo de Software Basado en Agentes del prestigioso Máster Europeo en Ingeniería de Software en la cual desean crear los jugadores artificiales, los agentes, del videojuego propuesto. Para la elaboración del trabajo de fin de grado, se han utilizado para la infraestructura la tecnología Gitlab CI/CD junto a la creación de runners y la tecnología Docker. Por otro lado, las tecnologías de Jade, Maven y JUnit para la elaboración de la estructura de pruebas. Ambos subproyectos han sido soportados por las tecnologías de Visual Studio Code, zsh e IntelliJ. A través de mejoras continuas e integraciones graduales, se han desarrollado las siguientes tareas: Primero, estableces una infraestructura de integración continua un GitLab junto con Docker para establecer un primer pipeline, aprendiendo las bases del funcionamiento de los pipelines y sus despliegues. Posteriormente, se incorporó Maven y Jade para la integración del sistema multi-agente actualizando el pipeline, comprendiendo la función de los agentes y su proceso de construcción, compilación y despliegue. A continuación, se incorporó la estructura de pruebas. Esta infraestructura automatiza el proceso de compilación y ejecución de pruebas, incluyendo pruebas unitarias, pruebas ontológicas y pruebas de integración entre agentes. Una vez que la estructura estuvo finalizada, se ha creado un documento detallado que describe el proceso de instalación de un runner y los recursos necesarios para la nueva infraestructura, como el archivo gitlab-ci.yml y la estructura de pruebas generada permitiendo un mejor mantenimiento a lo largo del tiempo. Una vez analizados los resultados, se han observado posibles líneas de desarrollo y mejoras que otorgarían un mayor valor al proyecto: La instalación de los runners en un servidor de la escuela, que permitiría una mayor eficiencia y mejor rendimiento al aumentar la automatización de la infraestructura e independencia. Integración del despliegue del proyecto en el pipeline junto con la adaptación del pipeline a nuevas tecnologías como Gradle. Aun así, este avance permite mejorar la calidad y la eficiencia del desarrollo de prácticas mediante la detección temprana de errores. Todo ello permite una gran mejora, simplificando el proceso de trabajo y mejorando la calidad, fiabilidad, comprensión y gestión tanto de la nueva infraestructura como del proceso de desarrollo de la práctica.

ABSTRACT

This project is based on the study, development and implementation of an initial infrastructure and testing structure for the World of Agent practice. World of Agents is the second assignment of the Agent-Based Software Development course of the prestigious European Master in Software Engineering in which they want to create the artificial players, the agents, of the proposed videogame. For the development of the final degree project, Gitlab CI/CD technology was used for the infrastructure, together with the creation of runners and Docker technology. On the other hand, Jade, Maven and JUnit technologies were used for the development of the test structure. Both subprojects have been supported by Visual Studio Code, zsh and IntelliJ technologies. Through continuous improvements and gradual integrations, the following tasks have been developed: First, we set up a continuous integration infrastructure in a GitLab together with Docker to establish a first pipeline, learning the basics of how pipelines and deployments work. Subsequently, Maven and Jade were incorporated for multi-agent system integration by updating the pipeline, understanding the role of agents and their build, compilation and deployment process. Then, the testing structure was incorporated. This infrastructure automates the process of test compilation and execution, including unit testing, ontology testing and inter-agent integration testing. Once the infrastructure and test set were finalized, a detailed document has been created describing the process of installing a runner and the necessary resources for the new infrastructure, such as the gitlab-ci.yml file and the generated test framework allowing better maintenance over time. Once the results have been analyzed, possible lines of development and improvements have been observed that would give greater value to the project: Installation of the runners on a college server, which would allow greater efficiency and better performance by increasing infrastructure automation and independence. Integration of the project deployment in the pipeline together with the adaptation of the pipeline to new technologies such as Gradle. Even so, this advance allows improving the quality and efficiency of practice development by early detection of errors. All this allows a great improvement, simplifying the work process and improving the quality, reliability, understanding and management of both the new infrastructure and the practice development process.

Más información

ID de Registro: 83178
Identificador DC: https://oa.upm.es/83178/
Identificador OAI: oai:oa.upm.es:83178
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 23 Ago 2024 09:04
Ultima Modificación: 23 Ago 2024 09:04