universitÀ degli studi del sannio facoltà di ingegneria cdil in ingegneria informatica tesi di...

16
UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT DI APPLICAZIONI WEB Trasformazione di Modelli Concettuali UWA in Modelli Logici UML Relatore Ch.mo Prof. Gerardo Canfora Correlatore: Ch.mo Ing. Damiano DISTANTE Candidato Francesco Mazzone Mat. 068/100222 A.A. 2006/2007

Upload: nicolina-colombo

Post on 02-May-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

UNIVERSITÀ DEGLI STUDI DEL SANNIOFacoltà di Ingegneria

CdiL in Ingegneria Informatica

Tesi di Laurea in Ingegneria del Software

MODEL-DRIVEN DEVELOPMENT DI APPLICAZIONI WEB

Trasformazione di Modelli Concettuali UWA in Modelli Logici UML

Relatore

Ch.mo Prof. Gerardo Canfora

Correlatore:Ch.mo Ing. Damiano DISTANTE

Candidato

Francesco MazzoneMat. 068/100222

A.A. 2006/2007

Page 2: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

ArrayImplementazioneModello del Codice (JSF)

Modello architetturale(UML-MVC)

Sviluppo applicazioni Web (MDWE)SVILUPPO SOFTWARE MODEL-DRIVEN (MDE)

Tranformation rules

Tranformation rules

Approccio allo sviluppo di sistemi basato sull’uso sistematico di modelli e trasformazioni fra modelli

Concetto di astrazione e refinement

MODELLI E LIVELLI DI ASTRAZIONE

Model Driven Engineering (MDE)

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA

Contenitore

Lista

Refinement

Refinement

Contenitore indicizzato

Modello concettuale

Modello logico

Modello navigazionale (UWA)

Modello architetturale (UML-PAC)

Modello del Codice (Struts)

MDA

Page 3: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 3

La Metodologia UWA

Ubiquitous Web Applications (UWA): Metodologie, modelli e tools a supporto per il design concettuale di

applicazioni Web ubique• Diversi tipi di utente, diversi devices, diversi contesti di utilizzo

Approccio user-centered

Page 4: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 4

Obiettivo del Lavoro di Tesi

Definire un livello di progettazione intermedio tra la progettazione concettuale UWA e l’implementazione

Definire e implementare regole di trasformazione per la traduzione semi-automatica di modelli concettuali UWA nei corrispondenti modelli logici

Modello Concettuale (Modello navigazionale UWA)

Modello Logico(Modello architetturale UML-MVC)

Implementazione (JSF)

Page 5: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 5

Scelta dell'architettura software da impiegare per l'implementazione di applicazioni Web.

proposta di un modello logico per descrivere le specifiche implementative secondo questa architettura.

Sviluppo applicazione “Post-it sharing” (processo manuale)progetto concettuale UWA progetto logico UML-MVC implementazione JSF

Astrazione di un modello logico per descrivere applicazioni secondo l’architettura scelta (modello logico UML-MVC)

Costruzione del metamodello UWA

Costruzione del metamodello UML-MVC

Definizione e implementazione di regole di trasformazione fra modelli concettuali UWA e modelli logici

Generazione automatica del modello logico dell’applicazione “Post-it sharing” mediante un tool di trasformazione

Confronto fra i modelli logici (manuale e generato)

Percorso di Lavoro

Page 6: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 6

Risultati (1):Metamodello UWA

Page 7: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 7

Risultati (2): Modello logico UML-MVC…

Page 8: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 8

Risultati (2): ... e Metamodello logico UML-

MVC

Page 9: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

MOF 2.0 E’ uno standard OMG Linguaggio per definire metamodelli Due package: EMOF e CMOF Architettura a quattro strati

EMF framework open source per la

generazione di tools e applicazioni basati su un modello strutturato

Implementa Ecore: variante di EMOF Fornisce supporto per la generazione di editor Può importare modelli di vari tipi

Topcased Ecore Editor E’ un meta-modeling toolset Sviluppato da diversi colossi industriali (IBM,Thales, Siemens...) Poggia su EMF e utilizza Ecore, che è la variante EMF di EMOF

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 9

Linguaggi e strumenti utilizzati

Page 10: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 10

Risultati (3): Regole di Trasformazione UWA/UML-

MVC

Definizione delle regole di trasformazione Definite a livello M2 (Metamodel level) Realizzano trasformazioni in ottica MDA

Implementazione delle regole ATL (ATLAS Transformation Language)

• Sviluppato dall’ ATLAS team (University of Nantes)• E’ la risposta all’approccio MDA definito dall’OMG• Supporta trasformazioni tra modelli• Le trasformazioni sono modelli

ADT (Eclipse development tools for ATL)• Ambiente di sviluppo completo basato su Eclipse per lo

sviluppo, il testing e l’implementazione del linguaggio ATL

Page 11: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

1. Definizione di un modello UWA come istanza del rispettivo metamodello Utilizzando l’editor Ecore di default di EMF Il modello istanziato nel formato Ecore

2. Generazione automatica del modello UML-MVC

input:• il metamodello UWA in Ecore• Il metamodello UML-MVC in Ecore• il modello UWA da trasformare• le regole di trasformazione implementate in ATL

output:• Il modello UML-MVC istanza del metamodello UML-MVC• Il modello di output ancora nel formato Ecore

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 11

Processo di Trasformazione ATL

UWA Metamodel

UML-MVC Metamodel

ATL Transformation

UWA Model

UML-MVC Model

Page 12: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 13

Un Esempio di Trasformazione (Demo)

Page 13: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 14

Validazione del Processo di Trasformazione

Page 14: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 15

Conclusioni

Obiettivi raggiunti: È stato definito un processo di sviluppo model-driven di applicazioni

Web basato su UWA Tool di supporto per la traduzione semi-automatica di modelli

concettuali UWA nei corrispondenti modelli logici UML-MVC.• Pattern MVC come architettura di riferimento per il modello logico• Metamodello UML-MVC MOF compliant• Metamodello UWA MOF compliant• Regole di trasformazione definite ed implementate in ATL • Processo di trasformazione in ADT

Page 15: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 16

Sviluppi Futuri

Estendere l’approccio al Transaction Design di UWAT+

Estendere l’approccio verso la generazione automatica del codice

Sviluppo di un tool per la traduzione del modello logico in codice

Classi Java, JavaBeans, Template di pagina, etc…

Realizzazione di un editor grafico per ciascun metamodello definito, che consenta di istanziare graficamente modelli concettuali e logici.

EMF + GEF

GMF (Graphical Modeling Framework)

Page 16: UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica Tesi di Laurea in Ingegneria del Software MODEL-DRIVEN DEVELOPMENT

Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 17

Fine

Grazie per l’attenzione.

Domande?