Title: UNIVERSIT
1- 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
2Model Driven Engineering (MDE)
- Approccio allo sviluppo di sistemi basato
sulluso sistematico di modelli e trasformazioni
fra modelli - Concetto di astrazione e refinement
Sviluppo applicazioni Web (MDWE)
Sviluppo software model-driven (MDE)
Modelli e livelli di astrazione
MDA
Contenitore
Modello concettuale
Modello navigazionale (UWA)
Tranformation rules
Refinement
Modello architetturale (UML-MVC)
Modello architetturale (UML-PAC)
Contenitore indicizzato
Modello logico
Tranformation rules
Refinement
Modello del Codice (Struts)
Modello del Codice (JSF)
Array
Implementazione
Lista
3La 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
4Obiettivo del Lavoro di Tesi
- Definire un livello di progettazione intermedio
tra la progettazione concettuale UWA e
limplementazione - 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)
5Percorso di Lavoro
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 larchitettura 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
dellapplicazione Post-it sharing mediante un
tool di trasformazione
Confronto fra i modelli logici (manuale e
generato)
6Risultati (1)Metamodello UWA
7Risultati (2) Modello logico UML-MVC
8Risultati (2) ... e Metamodello logico UML-MVC
9Linguaggi e strumenti utilizzati
- 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
10Risultati (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 allapproccio MDA definito
dallOMG - 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 limplementazione del
linguaggio ATL
11Processo di Trasformazione ATL
- Definizione di un modello UWA come istanza del
rispettivo metamodello - Utilizzando leditor Ecore di default di EMF
- Il modello istanziato nel formato Ecore
- 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
UWA Metamodel
UML-MVC Metamodel
ATL Transformation
UWA Model
UML-MVC Model
12Un Esempio di Trasformazione
13Un Esempio di Trasformazione (Demo)
14Validazione del Processo di Trasformazione
15Conclusioni
- 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
16Sviluppi Futuri
- Estendere lapproccio al Transaction Design di
UWAT - Estendere lapproccio 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)
17Fine
- Grazie per lattenzione.
- Domande?