Por favor, use este identificador para citar o enlazar este ítem: https://repositorio.usj.es/handle/123456789/726

Título : Exploring Program Synthesis in Model Driven Engineering
Autor: Casamayor Moragriega, Rodrigo
Afiliación : Universidad San Jorge
Palabras clave : Model-driven Engineering (MDE); Program Synthesis (PS); Machine Learning (ML)
Fecha de publicación: 15-jun-2021
Resumen : Today, most software is still developed through conventional methods. That is, the greater the demand for software, the more individuals are hired to carry out the development. This is feasible when the scope of the project is limited and there is no need for prolonged maintenance or enhancements. But, when it is necessary to continue developing a family of products, this makes the final product more expensive because of an increasing number of developers who build the software and maintain it over time, with the counterpart of possibly introducing new bugs in the software of these products due to the repetitive implementation of the features that define it, instead of reusing and modifying the existing ones. By automating these processes, human error is greatly reduced, and production costs are lowered. This project aims to help software developers, particularly, to those who do Model-Driven Engineering (MDE). More specifically, through Program Synthesis (PS) techniques, assist in the tasks that an MDE engineer carries out. We then present a survey covering the state-of-the-art at the intersection of MDE and PS. Finally, we propose an application of Machine Learning (ML) as a synthesis technique in combination with models. Thus, an ML-based assistant, capable of extracting the patterns behind the relationships between model elements, has been developed.
Descripción : En la actualidad, la mayoría del software se sigue desarrollando a través de métodos convencionales. Esto es, a una mayor demanda de software, mayor contratación de personas físicas que llevan a cabo el desarrollo. Esto es viable cuando el alcance del proyecto es limitado y no se requiere de un mantenimiento prolongado en el tiempo o mejoras de este. Pero, cuando se necesita continuar desarrollando una familia de productos, esto hace que se encarezca el producto final como consecuencia de cada vez más un mayor número de desarrolladores que construyan el software y lo mantengan en el tiempo, con la contraprestación de que posiblemente se introduzcan nuevos errores en el software de estos productos debido a la implementación repetitiva de las características que lo definen, en vez de reaprovechar y modificar las ya existentes. Al automatizar estos procesos, se disminuye en gran medida el error humano y se abaratan los costes de producción. Este proyecto pretende ayudar a los desarrolladores de software, en particular, a aquellos realizan Ingeniería Dirigida por Modelos (MDE). Más concretamente, a través de técnicas de Síntesis de Programas (PS), ayudar en las tareas que realiza un ingeniero de MDE. A continuación, presentamos un estudio que abarca el estado del arte en la intersección entre MDE y PS. Por último, proponemos una aplicación de Machine Learning (ML) como técnica de síntesis en combinación con modelos. Así, se ha desarrollado un asistente basado en ML, capaz de extraer los patrones que subyacen a las relaciones entre los elementos de un modelo.
URI : https://repositorio.usj.es/handle/123456789/726
Aparece en las colecciones: Grado en Ingeniería Informática

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
Exploring Program Synthesis in Model Driven Engineering.pdf3 MBAdobe PDFVista previa
Visualizar/Abrir


Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons