Please use this identifier to cite or link to this item: https://repositorio.usj.es/handle/123456789/726

Title: Exploring Program Synthesis in Model Driven Engineering
Authors: Casamayor Moragriega, Rodrigo
metadata.dc.contributor.affiliation: Universidad San Jorge
Keywords: Model-driven Engineering (MDE); Program Synthesis (PS); Machine Learning (ML)
Issue Date: 15-Jun-2021
Abstract: 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.
Description: 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
Appears in Collections:Grado en Ingeniería Informática

Files in This Item:
File Description SizeFormat 
Exploring Program Synthesis in Model Driven Engineering.pdf3 MBAdobe PDFThumbnail
View/Open


This item is licensed under a Creative Commons License Creative Commons