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
Candidato
Correlatore:
Francesco Mazzone
Mat. 068/100222
Ch.mo Ing. Damiano DISTANTE
A.A. 2006/2007
Model Driven Engineering (MDE)

Approccio allo sviluppo di sistemi basato sull’uso sistematico di modelli e
trasformazioni fra modelli

Concetto di astrazione e refinement
Vantaggi:
SSviluppo
VILUPPO
MODELLI
SOFTWARE
applicazioni
E LIVELLI
MDAMODEL
DIWeb
ASTRAZIONE
-DRIVEN
(MDWE)
(MDE)
Platform
Independent
Model (PIM)
•
•
•
•
Modello
Contenitore
Modellonavigazionale
concettuale
(UWA)
Consistenza
Usabilità
Manutenzione
Tracciabilità
Tranformation
Refinementrules
Platform
Independent
Model (PIM)
Modello logico
architetturale
Contenitore
Modello
indicizzato
(UML-MVC)
Modello architetturale
(UML-PAC)
Tranformation
Refinement rules
Platform
Specific
Model (PSM)
Francesco Mazzone
Modello del Codice
Array
Implementazione
(JSF)
Lista
Model-Driven Development di Applicazioni Web con UWA
Modello del Codice
(Struts)
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
3
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 semiautomatica di modelli concettuali UWA
nei corrispondenti modelli logici
Francesco Mazzone
Modello Concettuale
(Modello navigazionale UWA)
Modello Logico
(Modello architetturale UML-MVC)
Implementazione (JSF)
Model-Driven Development di Applicazioni Web con UWA
4
Percorso 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
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)
Francesco Mazzone
Model-Driven Development di Applicazioni Web con UWA
5
Risultati (1):
Metamodello UWA
Francesco Mazzone
Model-Driven Development di Applicazioni Web con UWA
6
Risultati (2):
Modello logico UML-MVC…
Model Class
Diagram
Francesco Mazzone
View Class
Diagram
Model-Driven Development di Applicazioni Web con UWA
7
Risultati (2):
... e Metamodello logico UML-MVC
Francesco Mazzone
Model-Driven Development di Applicazioni Web con UWA
8
Linguaggi e strumenti utilizzati

MOF 2.0





EMF





E’ uno standard OMG
Linguaggio per definire metamodelli
Due package: EMOF e CMOF
Architettura a quattro strati
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
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
Francesco Mazzone
Model-Driven Development di Applicazioni Web con UWA
10
Processo di Trasformazione ATL
1.
Definizione di un modello UWA come istanza del rispettivo metamodello


2.
Utilizzando l’editor Ecore di default di EMF
Il modello istanziato nel formato Ecore
UWA
Metamodel
Generazione automatica del modello
UML-MVC

ATL Transformation
input:
•
•
•
•

UML-MVC
Metamodel
il metamodello UWA in Ecore
Il metamodello UML-MVC in Ecore
il modello UWA da trasformare
le regole di trasformazione implementate in ATL
UWA
Model
UML-MVC
Model
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
Un Esempio di Trasformazione
(Demo)
Francesco Mazzone
Model-Driven Development di Applicazioni Web con UWA
13
Validazione del Processo di
Trasformazione
Francesco Mazzone
Model-Driven Development di Applicazioni Web con UWA
14
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
15
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
16
Fine

Grazie per l’attenzione.

Domande?
Francesco Mazzone
Model-Driven Development di Applicazioni Web con UWA
17
Scarica

Modello logico UML-MVC…