UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica
description
Transcript of UNIVERSITÀ DEGLI STUDI DEL SANNIO Facoltà di Ingegneria CdiL in Ingegneria Informatica
UNIVERSITÀ DEGLI STUDI DEL SANNIOFacoltà di Ingegneria
CdiL in Ingegneria InformaticaTesi 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
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
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
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)
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
Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 6
Risultati (1):Metamodello UWA
Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 7
Risultati (2): Modello logico UML-MVC…
Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 8
Risultati (2): ... e Metamodello logico UML-
MVC
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
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
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
Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 13
Un Esempio di Trasformazione (Demo)
Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 14
Validazione del Processo di Trasformazione
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
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)
Francesco Mazzone Model-Driven Development di Applicazioni Web con UWA 17
Fine
Grazie per l’attenzione.
Domande?