Lisette Almonte García
Los sistemas de recomendación (SR) son ubicuos en todo tipo de aplicaciones en línea, como compras, retransmisión de contenidos, viajes y turismo, entre muchas otras. También se emplean en tareas de ingeniería del software, como el modelado de software, donde encontramos propuestas recientes para enriquecer los lenguajes y entornos de modelado con la provisión de recomendaciones personalizadas para el usuario. En concreto, los recomendadores para modelado ayudan en la construcción de modelos sugiriendo nuevos elementos en base a soluciones previas para problemas similares en el mismo dominio.
Sin embargo, construir un SR para un lenguaje de modelado requiere un esfuerzo significativo y conocimientos especializados. Además, aunque hoy en día existen numerosos SR para tareas de modelado, suelen estar diseñados para un lenguaje de modelado específico, y se crean como programas independientes que posteriormente deben integrarse en una herramienta de modelado, lo que conlleva un alto esfuerzo de desarrollo. Por lo general, no es posible reutilizar un SR creado para un lenguaje de modelado con una notación diferente, incluso si ambos comparten similitudes.
Para abordar estos problemas, esta tesis propone un enfoque integral automatizado para crear SR para lenguajes de modelado. Se basa en el uso de un lenguaje de dominio específico llamado Droid para configurar todos los aspectos del SR: el tipo de elementos de modelado que se recomendarán, la recopilación y preprocesamiento de datos de entrenamiento para construir el SR, el método de recomendación a utilizar por el SR, y las métricas para evaluar el SR. Una vez configurado, el sistema se despliega como un servicio para facilitar su integración con herramientas de terceros. Este servicio es conforme a una API de recomendación de referencia que permite indexar SR, investigar sus propiedades, y obtener recomendaciones que podrían provenir de varias fuentes. Además, Droid puede extenderse con nuevas fuentes de datos y métodos de recomendación, facilitando así su evolución.
Como segunda contribución, esta tesis presenta una metodología que permite la reutilización de SR creados para un lenguaje de modelado con otras notaciones a través de un mapeo estructural, y proporciona automatización para su integración en herramientas de modelado.
Además, facilita la agregación de recomendaciones provenientes de múltiples fuentes. Esta metodología está respaldada por IronMan, un plugin de Eclipse que automatiza la integración de SR existentes en editores Sirius y EMF, donde recomendadores creados para un lenguaje de modelado pueden reutilizarse con un lenguaje diferente.
Las herramientas desarrolladas se han evaluado mediante experimentos offline, un estudio con usuarios, y dos validaciones de las herramientas. En conjunto, estas evaluaciones han permitido medir la precisión, completitud, diversidad y calidad percibida de las recomendaciones generadas, así como validar las herramientas a través de diversos casos de uso
Recommender systems (RSs) are ubiquitous in all sorts of online applications, such as shopping, media broadcasting, travel and tourism, among many others. They are also employed in software engineering tasks, such as software modelling, where we are recently witnessing proposals to enrich modelling languages and environments with the provision of personalised recommendations to the user. Specifically, recommenders for modelling assist in building models by suggesting items based on previous solutions to similar problems in the same domain.
Building a RS for a modelling language, however, demands significant effort and specialised knowledge. Furthermore, while there are numerous RSs for modelling tasks available today, they are typically tailored to particular modelling languages, and are created as independent programs that subsequently need to be integrated into a modelling tool, incurring high development effort. In general, it is not possible to reuse a RS created for a modelling language with a different notation, even if the languages share similarities.
To address these problems, this thesis proposes an automated endto- end approach to create RSs for modelling languages. It is based on the use of a domain-specific language called Droid to configure every aspect of a RS: the type of the modelling elements to be recommended, the gathering and preprocessing of training data to build the RS, the recommendation method to use by the RS, and the metrics to evaluate the RS. Once configured, the system is deployed as a service to facilitate its integration with third-party tools. This service adheres to a reference recommendation API that enables indexing RSs, investigating their properties, and obtaining recommendations likely coming from various sources. Moreover, Droid is extensible with new data sources and recommendation methods, hence facilitating its evolution.
As a second contribution, this thesis presents a methodology that enables the reuse of RSs created for one modelling language with other notations via a structural mapping, and provides automation for their integration into modelling tools. In addition, it facilitates the aggregation of recommendations coming from multiple sources.
This methodology is supported by IronMan, an Eclipse plugin that automates the integration of existing RSs within Sirius and EMF tree editors, bridging recommenders created for one modelling language for their reuse with a different one.
The developed tools have been evaluated through offline experiments, a user study, and two tool validations. Overall, these evaluai tions have served to measure the precision, completeness, diversity, and perceived quality of the generated recommendations, as well as to validate the tools through various use cases
© 2008-2025 Fundación Dialnet · Todos los derechos reservados