Model-Driven Development (MDD) is a software development methodology that focuses on the creation and maintenance of domain models as the primary form of expression in the development cycle. One of the fundamental characteristics of such approach is the reuse of software artifacts through their model representation. However, software reuse is impaired by the fact that current systems lack an efficient way to search through the model repositories as many of the current solutions don't tackle the relationships between model artifacts. These relationships are instead important to better satisfy the user information need in a model-driven development scenario. This thesis aims to define a model-driven methodology for creating model search engines. As opposed to many related works, this methodology is metamodel-independent and exploits the metamodel of the searched project models in order to obtain more precise results. A prototype has been implemented to support such methodology. We address two case studies that deal with the indexing and the retrieving of models from two different collections of UML and WebML projects respectively. Each case study involves several experiments adopting different indexing strategies. Finally, after having manually built the ground truth for each repository, we performed various tests using established Information Retrieval measures like DCG, MRR, MAP, Precision and Recall in order to evaluate the results.

Il Model-Driven Development (MDD) è una metodologia per lo sviluppo del software che si concentra sulla creazione e sul mantenimento di modelli come forma di espressione primaria nel ciclo di sviluppo. Una delle caratteristiche fondamentali di questo approccio sta nel riuso degli artefatti software attraverso la loro rappresentazione nel modello. Tuttavia, il riuso del software è ostacolato dal fatto che i sistemi attuali soffrono la mancanza di un modo efficiente di cercare attraverso depositi di modelli, siccome molte delle soluzioni attuali non tengono in considerazione le relazioni presenti tra gli artefatti del modello. Queste relazioni sono invece importanti per soddisfare al meglio i bisogni di informazione degli utenti in uno scenario di sviluppo model-driven. Lo scopo di questa tesi è di definire una metodologia model-driven per creare motori di ricerca di modelli. Al contrario di molti lavori correlati, questa metodologia è indipendente dal metamodello dei modelli considerati e sfrutta questo metamodello per ottenere risultati più precisi. Un prototipo è stato implementato per supportare questa metodologia. Abbiamo investigato due casi di studio che trattano dell'indicizzazione e del recupero di modelli da due collezioni differenti, rispettivamente di progetti UML e WebML. Ogni caso di studio coinvolge diversi esperimenti i quali adottano differenti strategie di indicizzazione. Infine, dopo aver costruito manualmente la ground truth per ciascuno di questi due depositi, abbiamo eseguito vari test usando tecniche di Information Retrieval affermate come DCG, MRR, MAP, Precision e Recall per poter valutare i risultati ritornati dal sistema.

Model driven retrieval of model repositories

FURRER, LORENZO;CELENTANO, STEFANO
2010/2011

Abstract

Model-Driven Development (MDD) is a software development methodology that focuses on the creation and maintenance of domain models as the primary form of expression in the development cycle. One of the fundamental characteristics of such approach is the reuse of software artifacts through their model representation. However, software reuse is impaired by the fact that current systems lack an efficient way to search through the model repositories as many of the current solutions don't tackle the relationships between model artifacts. These relationships are instead important to better satisfy the user information need in a model-driven development scenario. This thesis aims to define a model-driven methodology for creating model search engines. As opposed to many related works, this methodology is metamodel-independent and exploits the metamodel of the searched project models in order to obtain more precise results. A prototype has been implemented to support such methodology. We address two case studies that deal with the indexing and the retrieving of models from two different collections of UML and WebML projects respectively. Each case study involves several experiments adopting different indexing strategies. Finally, after having manually built the ground truth for each repository, we performed various tests using established Information Retrieval measures like DCG, MRR, MAP, Precision and Recall in order to evaluate the results.
BOZZON, ALESSANDRO
ING V - Scuola di Ingegneria dell'Informazione
4-ott-2011
2010/2011
Il Model-Driven Development (MDD) è una metodologia per lo sviluppo del software che si concentra sulla creazione e sul mantenimento di modelli come forma di espressione primaria nel ciclo di sviluppo. Una delle caratteristiche fondamentali di questo approccio sta nel riuso degli artefatti software attraverso la loro rappresentazione nel modello. Tuttavia, il riuso del software è ostacolato dal fatto che i sistemi attuali soffrono la mancanza di un modo efficiente di cercare attraverso depositi di modelli, siccome molte delle soluzioni attuali non tengono in considerazione le relazioni presenti tra gli artefatti del modello. Queste relazioni sono invece importanti per soddisfare al meglio i bisogni di informazione degli utenti in uno scenario di sviluppo model-driven. Lo scopo di questa tesi è di definire una metodologia model-driven per creare motori di ricerca di modelli. Al contrario di molti lavori correlati, questa metodologia è indipendente dal metamodello dei modelli considerati e sfrutta questo metamodello per ottenere risultati più precisi. Un prototipo è stato implementato per supportare questa metodologia. Abbiamo investigato due casi di studio che trattano dell'indicizzazione e del recupero di modelli da due collezioni differenti, rispettivamente di progetti UML e WebML. Ogni caso di studio coinvolge diversi esperimenti i quali adottano differenti strategie di indicizzazione. Infine, dopo aver costruito manualmente la ground truth per ciascuno di questi due depositi, abbiamo eseguito vari test usando tecniche di Information Retrieval affermate come DCG, MRR, MAP, Precision e Recall per poter valutare i risultati ritornati dal sistema.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2011_10_Celentano_Furrer.pdf

accessibile in internet per tutti

Descrizione: Testo della tesi.
Dimensione 1.62 MB
Formato Adobe PDF
1.62 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/26061