Model-Driven Engineering relies on collections of models, which are the primary artifacts for software development. To enable knowledge sharing and reuse, models need to be managed within repositories, which requires the ability of their effective and efficient search for retrieving artifacts that meet the user's need. The search approaches should go beyond simple keyword search, considering the structural and hierarchical nature of models. In this way, an MDE developer should be able not only to search models via keywords, but also to sketch the idea he has in mind in his favorite language and retrieve all models that contain a similar design. This thesis addresses the problem of designing search systems for repositories of models by examining two major categories: keyword-based and content-based search (also known as query-by-example). From these categories, one keyword-based approach, that employs classical information retrieval techniques, and two content-based approaches, that use representation of models as graphs, have been proposed and implemented. They are contrasted, with respect to the architecture of the system, the processing of models and queries, and the way in which metamodel knowledge can be exploited to improve search. A thorough experimental evaluation is conducted to examine what parameter configurations lead to better accuracy and to offer an insight in what queries are addressed best by each system.

Il Model-Driven Engineering si basa su collezioni di modelli, ovvero sugli artefatti primari usati durante lo sviluppo software. Per permettere di condividere e riutilizzare conoscenza già a disposizione, i modelli devono essere gestiti per mezzo di archivi. Ciò richiede l'abilità di recuperare i suddetti modelli in modo efficace ed efficiente, così che i risultati di ogni ricerca incontrino i bisogni dell'utente. Di conseguenza, considerare approcci più complessi della semplice ricerca per keyword diventa essenziale: ogni ricerca deve tenere conto anche della natura strutturale e gerarchica dei modelli. Uno sviluppatore MDE dovrebbe essere in grado non solo di cercare modelli tramite l'utilizzo di keyword, ma anche di disegnare una bozza del modello che ha in mente, nel suo linguaggio preferito, e recuperare tutti i modelli che contengono un design simile. Questa tesi affronta il problema di progettazione di sistemi di ricerca per archivi di modelli, esaminando due categorie principali: la ricerca keyword-based e la ricerca content-based (conosciuta anche con il termine "query-by-example"). Nel nostro lavoro proponiamo un approccio keyword-based (che impiega tecniche di information retrieval classiche) e due approcci content-based (che usano la rappresentazione di modelli come grafi). Gli approcci proposti vengono confrontati considerando le architetture dei sistemi, l'elaborazione di modelli e di query, ed il modo in cui la conoscenza sui metamodelli può essere sfruttata per migliorare la ricerca. Infine, presentiamo una valutazione sperimentale estesa, volta ad esaminare le configurazioni dei parametri che portano ad un'accuratezza migliore dei risultati e ad identificare le query che meglio vengono trattate da ogni sistema.

Textual and content based search in software model repositories

BISLIMOVSKA, BOJANA

Abstract

Model-Driven Engineering relies on collections of models, which are the primary artifacts for software development. To enable knowledge sharing and reuse, models need to be managed within repositories, which requires the ability of their effective and efficient search for retrieving artifacts that meet the user's need. The search approaches should go beyond simple keyword search, considering the structural and hierarchical nature of models. In this way, an MDE developer should be able not only to search models via keywords, but also to sketch the idea he has in mind in his favorite language and retrieve all models that contain a similar design. This thesis addresses the problem of designing search systems for repositories of models by examining two major categories: keyword-based and content-based search (also known as query-by-example). From these categories, one keyword-based approach, that employs classical information retrieval techniques, and two content-based approaches, that use representation of models as graphs, have been proposed and implemented. They are contrasted, with respect to the architecture of the system, the processing of models and queries, and the way in which metamodel knowledge can be exploited to improve search. A thorough experimental evaluation is conducted to examine what parameter configurations lead to better accuracy and to offer an insight in what queries are addressed best by each system.
FIORINI, CARLO ETTORE
TANCA, LETIZIA
20-mar-2014
Il Model-Driven Engineering si basa su collezioni di modelli, ovvero sugli artefatti primari usati durante lo sviluppo software. Per permettere di condividere e riutilizzare conoscenza già a disposizione, i modelli devono essere gestiti per mezzo di archivi. Ciò richiede l'abilità di recuperare i suddetti modelli in modo efficace ed efficiente, così che i risultati di ogni ricerca incontrino i bisogni dell'utente. Di conseguenza, considerare approcci più complessi della semplice ricerca per keyword diventa essenziale: ogni ricerca deve tenere conto anche della natura strutturale e gerarchica dei modelli. Uno sviluppatore MDE dovrebbe essere in grado non solo di cercare modelli tramite l'utilizzo di keyword, ma anche di disegnare una bozza del modello che ha in mente, nel suo linguaggio preferito, e recuperare tutti i modelli che contengono un design simile. Questa tesi affronta il problema di progettazione di sistemi di ricerca per archivi di modelli, esaminando due categorie principali: la ricerca keyword-based e la ricerca content-based (conosciuta anche con il termine "query-by-example"). Nel nostro lavoro proponiamo un approccio keyword-based (che impiega tecniche di information retrieval classiche) e due approcci content-based (che usano la rappresentazione di modelli come grafi). Gli approcci proposti vengono confrontati considerando le architetture dei sistemi, l'elaborazione di modelli e di query, ed il modo in cui la conoscenza sui metamodelli può essere sfruttata per migliorare la ricerca. Infine, presentiamo una valutazione sperimentale estesa, volta ad esaminare le configurazioni dei parametri che portano ad un'accuratezza migliore dei risultati e ad identificare le query che meglio vengono trattate da ogni sistema.
Tesi di dottorato
File allegati
File Dimensione Formato  
2014_03_PhD_Bislimovska.pdf

accessibile in internet per tutti

Descrizione: Thesis text
Dimensione 5.05 MB
Formato Adobe PDF
5.05 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/89391