m2dat: a technical solution for model-driven development of web · pdf file ·...

38
M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems November, 6th 2009 Author: Juan M. Vara Supervisor: Esperanza Marcos M2DAT: a Technical Solution for Model-Driven Development of Web Information Systems PhD Thesis Friday, November 6 th 2009 Author: Juan M. Vara Mesa Supervisor: Esperanza Marcos Martínez 2 Index 2. State of the Art 3. 1 st Iteration: MIDAS-CASE 4. Solution: M2DAT Architecture and Technical Design 5. Validation: M2DAT-DB 6. Conclusions and Future Works i. Motivation ii. Hypothesis and Objectives iii. Research Method iv. Research Framework 2

Upload: lamliem

Post on 22-Mar-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

M2DAT: a Technical Solution for

Model-Driven Development of

Web Information Systems

PhD ThesisFriday, November 6th 2009

Author: Juan M. Vara Mesa

Supervisor: Esperanza Marcos Martínez

2

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation: M2DAT-DB

6. Conclusions and Future Works

i. Motivation

ii. Hypothesis and Objectives

iii. Research Method

iv. Research Framework

2

Page 2: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

Assembly

Languages

Structured

Programming Object-Oriented

Programming

Component-based

Software Engineering

Aspect-Oriented

Programming

Model-Driven

Engineering

Motivation

1. Problem

Statement

Raising the abstractionlevel in Software Development

MDA

MICMSE

FROM CODING to

MODELLING

Boost the role of models and

modelling activities at the

different steps of the

development cycle

DSL ADM

MDSD

3

Tools for supporting MDE TasksFocused on a subset of the

functionality needed to implement a

model-driven development proposal

Two big

groups of

tools

Motivation

1. Problem

Statement

MODELS

ROLE

LEVEL of

AUTOMATION

(Meta)Modelling

Frameworks

Model

Transformation

languages

Model

Checkers

……………….

Tools for supporting MDSD

MethodologiesToolkits to work with the specific set

of interrelated models defined in the

corresponding methodology to

generate the working-code of a

software system

Impact of

MDE

MDSD

Methodologies

MODELS

ROLE

ArgoUWE

WebRatio

4

Page 3: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

New tools integrating available functionalities

provided in an isolated way

Motivation

1. Problem

Statement

Existing Tools supporting MDSD Methodologies

Isolated tools

Ad-hoc solutions

Closed Nature

Absence of standards

MDE tools used as

building blocks

Example

Hard-coded Model

Transformations

5

Tools for MDE tasks

Motivation

1. Problem

Statement

Building this kind of integrated

environtments is an accepted practice

nowadays

However, this was not the case when we

first addressed the development of this

Thesis

6

Page 4: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

Motivation

1. Problem

Statement

• How the building of such environment is to be

addressed?

1. Conceptual Architecture

2. Map Conceptual Architecture to a Technical

Design

3. Reference Implementation

Extensibility Interoperability

Customization

Main Design Principles

7

Target

Model’

Target

Model

Motivation

1. Problem

Statement

INTEROPERABILITY

Handling propietary

models with other tools

CUSTOMIZATION

Support for design-decisions

without lessening the level

of automation

Source

Model

Design

Decisions

EXTENSIBILITY

Immediate response to new

advances in the field

8

Page 5: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

Specification of a framework for semi-automatic model-driven

development of Web Information Systems

M2DAT (MIDAS MDA Tool)

A tool for MDSD based on the methodological proposals of MIDAS

Reference

Implementation

Motivation

1. Problem

Statement

Technical

Design

Extensible, Modular

and Dynamic

Promotes integration

of new capabilities

Design decisions to

drive embedded model

transformations

Methodological and

Technical decisions

Identify component to

support each MDE task

M2DAT-DB: MIDAS MDA

Tool for Databases

Prove the feasibility of

the proposal

Show how it can be

used

Conceptual

Architecture

9

10

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation: M2DAT-DB

6. Conclusions and Future Works

i. Motivation

ii. Hypothesis and Objectives

iii. Research Method

iv. Research Framework

10

Page 6: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

11

Hypothesis and Objectives

Hypothesis

“It is feasible to provide with a technical solution for

the construction of a framework supporting semi-

automatic model-driven development of Web

Information Systems using existing tools and

components in the context of MDE”

Objective

To provide with such solution

1. Problem

Statement

11

12

Hypothesis and Objectives

Objectives

a.Analysis and evaluation of existing technologies (tools

for MDE tasks)– (Meta)modelling tools

– Model-to-model transformation engines– Support for introducing design decisions

– Model-to-text transformation engines

– Rest of specific tasks in MDE contexts

b. Analysis and evaluation of existing frameworks

supporting model-driven software development– Frameworks for model-driven development of Web Information

Systems

– Frameworks for model-driven development of modern database

schemas (object-relational and XML)

1. Problem

Statement

12

Page 7: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

13

Hypothesis and Objectives

Objectives (II)

c. Specification of the conceptual architecture of M2DAT

framework

d. Selection of the technologies to be used for M2DAT

e. Specification of the technical design of M2DAT

f. Specification of the development process for each

M2DAT module

g. Validation of the technical design of M2DAT. To that

end, two main sub-objectives are identified– Construction of one of M2DAT’s modules: proof of concept

– Development of a set of case studies using M2DAT-DB

1. Problem

Statement

13

14

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation: M2DAT-DB

6. Conclusions and Future Works

i. Motivation

ii. Hypothesis and Objectives

iii. Research Method

iv. Research Framework

14

Page 8: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

15

Research Method

Generic Method

Adapted from (Marcos y Marcos, 1998)

1. Problem

Statement Problem Statement

Hypothesis

Working Method

Definition

Results Analysis and

Conclusions

Thesis Dissertation

Writing

New Problems

New Body of Knowledge

D

O

C

U

M

E

N

T

A

T

I

O

N

Problems

Body of Knowledge

Resolution

Validation

Resolution

Validation

Due to its genericity,

apply to any kind of

research

15

16

Research Method

1. Problem

Statement

Resolution

Validation

16

Page 9: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

17

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation: M2DAT-DB

6. Conclusions and Future Works

i. Motivation

ii. Hypothesis and Objectives

iii. Research Method

iv. Research Framework

17

Research Framework

1. Problem

Statement

A methodological

framework for

model-driven

development of

WIS

CIM

PIM

PSM

For each dimension or development concern, the models are considered together with the transformation rules between models

Based on a multidimensional architecture that spreads through several abstraction levels and concerns of the system development

MIDAS

18

Page 10: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

Research Framework

1. Problem

Statement

CIM

PIM

PSM

Traditional

concerns in

the

development

of any

information

systemIncluded as

orthogonal aspects

for which a net set

of models is

defined

Inner Concentric Layer

19

Research Framework

1. Problem

Statement

CIM

PIM

PSM

Aspects to

consider non-

functional

requirements

External Layers

20

Page 11: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

Research Framework

1. Problem

Statement

CIM

PIM

PSM

– Modular nature of

MIDAS architecture

facilitates the modular

development of M2DAT

– Addressed as a set of

isolated subsystems

providing with similar

functionalities for a

set of interrelated

models

– As MIDAS, M2DAT has

to be open to

integrate support for

the new concerns

M2DAT

21

– M2DAT

framework acts

as the binding

force

– Connects the

different

methods that

compose MIDAS

Research Framework

Period of PhD Thesis Work

1. Problem

Statement

2003 2004 2005 2006 2007

DAWISMCyT

PIGEURJC

PPRURJC

EDADCAM

2008 2009

FOMDASCAM

M-DOSCAM

GOLDMEC

UCLM

(Ciudad Real)

ATLAS Group

(Nantes)

PR

OJ

EC

TS

RE

SE

AR

CH

ST

AG

ES

Platform for

WIS devService

Orientation

22

MODEL-CAOSMEC

Page 12: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

23

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation: M2DAT-DB

6. Conclusions and Future Works

23

24

State of the Art

Three main groups

2. State of

the Art

Tools supporting MDE tasks

Meta-modelling frameworks

Graphical Editors Development

Model Checkers ….

Model Transformation Languages

Model-to-Model transformation languages

Model-to-Text transformation languages

Tools for Model-Driven Development of Software

MDD of Web Information Systems

MDD of Modern Database SchemasOR & XML

Selection of technology for the

Technical Design of M2DAT

Evaluate how existing tools support

the functionality provided by

M2DAT

24

Page 13: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

25

State of the Art

2. State of

the Art

FEATURE DESCRIPTION

SCOPE Commercial, Open-Source, Academic

METAMODELLING Ability to define new metamodels

MODEL to MODEL Support for Model to Model transformations

MODEL to TEXT Support for Model to Text transformations

VALIDATION Support for models validation

GRAPHICAL EDITORS Generation of graphical editors from the metamodel

STANDARIZED UML/MOF-Based or Proprietary Languages

EXTENSIBILITY Ease of adding new capabilities and/or modifying the exiting ones

INTEROPERABILITY Ease of using functionalities provided by other tools.

EMF-BASED Whether runs on top of Eclipse EMF (or is planned)

Evaluation Criteria for tools supporting MDE tasks

25

SCOPE MM M2M M2T VLDTN EDTR STDRD EXTNSBL INTRPRBL EMF

AndroMDA (O) NO NO YES NO NO NO YES YES TO-DO

ATOM3 (O, A) YES YES NO YES (G) NO NO NO NO

DOME (O) YES NO LMT LMT NO NO NO NO NO

DSL Tools (C) YES NO YES NO YES NO NO NO NO

EMP (EMF) (O) YES YES YES YES (G/T) YES YES YES YES

EMFATIC (O) YES NO NO NO (T) YES YES YES YES

GME (O, A) YES YES NO YES (G) NO PRT NO TO-DO

Kermeta (O, A) YES YES NO YES NO YES YES YES YES

MetaEdit+ GOPRR YES NO YES YES (G) NO NO NO NO

MOFLON (A) YES YES NO YES NO YES PRT PRT NO

MOMENT (O, A) NO YES NO YES NO YES YES YES YES

OpenArchitectureWare (O) NO YES YES YES (T) YES YES YES YES

TEF (O) NO NO LMT NO (T) YES PRT YES YES

Whole Platform (O, A) YES NO YES NO (G) NO NO NO NO

XMF-Mosaic (C) YES YES YES YES YES YES NO PRT NO

26

State of the Art

2. State of

the Art

Frameworks and tools for MDE tasks

There is no framework supporting all MDE tasks

EMF is the best option to combine the

functionality provided by task specific toolsInteroperability

Extensibility

Standardization

EMP (EMF) (O) YES YES YES YES (G/T) YES YES YES YES

26

Page 14: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

27

State of the Art

2. State of

the Art

FEATURE DESCRIPTION

SCOPE Commercial, Open-Source, Academic

APPROACHAdopted approach: declarative, imperative, hybrid (prevailing

some style), graph-based, template-based

DIRECTION Unidirectional / Bidirectional

TOOLING Capabilities of related IDE

DOCUMENTATION Available documentation

QVT/MTL-COMPLIANTAlignment degree with the corresponding standard

(may be future work)

FRAMEWORK Framework in which the language is integrated, if there is one

EMF-BASED (EMF)It is based on EMF or, at least there is a bridge available (EMF)

based / (BRIDGE) available / NON-EMF

Evaluation Criteria for Model Transformation Languages

27

28

State of the Art

2. State of

the Art

Model Transformation Languages

SCOPE APPRCH DRCTN TOOLING DOC QVT / MTL-Compliant FRAMWRK EMF-Based

AGG (O, A) GRAPH UNI HIGH MEDIUM NONE --- NON-EMF

M2M

ATL (O, A) HYBDEC UNI HIGH HIGH (PART/PLAN) AMMA EMF

ATOM3 (O, A) GRAPH UNI HIGH MEDIUM NONE ATOM3 NON-EMF

BOTL (O, A) GRAPH BID MEDIUM LOW PART --- NON-EMF

GREAT (O, A) GRAPH UNI HIGH MEDIUM NONE GME NON-EMF

Kermeta (O, A) IMP UNI HIGH HIGH NONE Kermeta BRIDGE

mediniQVT (C) DEC BID HIGH LOW FULLY Eclipse EMF

ModelMorf (C) DEC BID LOW LOW PART --- NON-EMF

MOFLON (O, A) GRAPH BID MEDIUM LOW PART MOFLON NON-EMF

MOLA (O, A) GRAPH UNI MEDIUM HIGH NONE MOLA NON-EMF

MTF (O) DEC BID MEDIUM LOW PART Eclipse EMF

RubyTL (O, A) HYBDEC UNI HIGH MEDIUM NONE EMF BRIDGE

TefKat (O, A) HYBDEC UNI HIGH MEDIUM NO Eclipse EMF

VIATRA (O, A) HYBGRAPH UNI HIGH MEDIUM NO Eclipse BRIDGE

XTend (O) TEMPLATE UNI MEDIUM HIGH NO oAW EMF

YATL (O, A) HYBRID UNI LOW LOW NO KMF NON-EMF

ACCELEO (O) TEMPLATE HIGH MEDIUM NO Eclipse EMF

M2T

ACCELEO -MTL (O) TEMPLATE HIGH LOW FULLY Eclipse EMF

AndroMDA (O) TEMPLATE MEDIUM MEDIUM NO AndroMDA PLAN

JET (O) TEMPLATE HIGH HIGH NO Eclipse NON-EMF

MOFScript (O, A) VSTOR-BSD HIGH HIGH NO Eclipse EMF

Xpand (O) TEMPLATE HIGH HIGH NO OAW EMF

Most mature and Stable proposals are EMF-based

Hybrid approach is the most adoptedDeclarative is recommended

But imperative constructions needed

QVT implementations are not reliableQVT specification still presenting some inconsistencies

ATL is widely accepted as M2M standard de factoEMF-Compliant

Stable & Mature

Available Documentation

Future QVT aligment

ATL (O, A) HYBDEC UNI HIGH HIGH (PART/PLAN) AMMA EMF

28

Page 15: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

29

State of the Art

2. State of

the Art

Model Transformation Languages

SCOPE APPRCH DRCTN TOOLING DOC QVT / MTL-Compliant FRAMWRK EMF-Based

AGG (O, A) GRAPH UNI HIGH MEDIUM NONE --- NON-EMF

M2M

ATL (O, A) HYBDEC UNI HIGH HIGH (PART/PLAN) AMMA EMF

ATOM3 (O, A) GRAPH UNI HIGH MEDIUM NONE ATOM3 NON-EMF

BOTL (O, A) GRAPH BID MEDIUM LOW PART --- NON-EMF

GREAT (O, A) GRAPH UNI HIGH MEDIUM NONE GME NON-EMF

Kermeta (O, A) IMP UNI HIGH HIGH NONE Kermeta BRIDGE

mediniQVT (C) DEC BID HIGH LOW FULLY Eclipse EMF

ModelMorf (C) DEC BID LOW LOW PART --- NON-EMF

MOFLON (O, A) GRAPH BID MEDIUM LOW PART MOFLON NON-EMF

MOLA (O, A) GRAPH UNI MEDIUM HIGH NONE MOLA NON-EMF

MTF (O) DEC BID MEDIUM LOW PART Eclipse EMF

RubyTL (O, A) HYBDEC UNI HIGH MEDIUM NONE EMF BRIDGE

TefKat (O, A) HYBDEC UNI HIGH MEDIUM NO Eclipse EMF

VIATRA (O, A) HYBGRAPH UNI HIGH MEDIUM NO Eclipse BRIDGE

XTend (O) TEMPLATE UNI MEDIUM HIGH NO oAW EMF

YATL (O, A) HYBRID UNI LOW LOW NO KMF NON-EMF

ACCELEO (O) TEMPLATE HIGH MEDIUM NO Eclipse EMF

M2T

ACCELEO -MTL (O) TEMPLATE HIGH LOW FULLY Eclipse EMF

AndroMDA (O) TEMPLATE MEDIUM MEDIUM NO AndroMDA PLAN

JET (O) TEMPLATE HIGH HIGH NO Eclipse NON-EMF

MOFScript (O, A) VSTOR-BSD HIGH HIGH NO Eclipse EMF

Xpand (O) TEMPLATE HIGH HIGH NO OAW EMF

MOFScriptMOFScript, AndroMDA and JET being the most mature

AndroMDA & JET are not EMF-compliant

Better Available Documentation & Usability VS M2M

Learning Curve (visitor-based approach)

MOFScript (O, A) VSTOR-BSD HIGH HIGH NO Eclipse EMF

Evaluating template-based approaches

Acceleo-MTL

Xpand

29

30

State of the Art

2. State of

the Art

FEATURE DESCRIPTION

METHODOLOGY Underlying Methodology

PARADIGM Preferred development paradigm: Data-Centered, Object-Oriented, Semi-Structured, Service Oriented

SCOPE/TARGET Commercial / Open-Source / Academic

MODELLING BASIS Basis for abstract syntax

MODELLING NOTATION Basis for concrete syntax

VALIDATION Support for constraint definition and checking and formal validation

STANDARDIZATION Level of conformance to standards

ABSTRACTION LAYERS Abstraction Layers supported

EXTENSIBILITY Ease of adding new capabilities

USABILITY Ease of using / Documentation

INTEROPERABILITY Ease of import/export-ing models

CODE GENERATION Level of code generation supported

TECHNOLOGICAL PLATFORMS Targetted deployment platforms

MT

DSL Mappings implemented with a DSL for MT

AUTOMATION Level of automation

CUSTOMIZABLE Customizable mappings

SUPPORTED TYPES Types of transformation supported

FORMALIZATION Formalization of mappings

Evaluation criteria for tools supporting Model-Driven Software Development

Special focus on MT handlingas the Key for MDSD

Compare them with M2DAT

and

M2DAT-DB capabilities

30

Page 16: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

31

State of the Art

2. State of

the Art

Tools supporting Model-Driven Development of Web Information Systems

ArgoUWE WebRatio WebTE OOWS Suite HyperDE M2DAT

METHODOLOGY UWE Methodology WebML WebSA / OO-H OOWS OOHDM / SHDM MIDAS

PARADIGM OO DATA-CENTERED OO OO OO SOA

SCOPE/TARGET (A) (O), (A) (C) (A) (A) (A, O) Open-Source/Academic

MODELLING BASIS UML (E/R extension) / DTD UML OASIS / Ecore DSL / RDF Ecore

MODELLING NOTATION UML-like UML-like Not Supported UML-like UML-like UML-like

RESTRICTIONS

STANDARDIZATION

(UML-compliant)

(UML-compliant)

(Ecore-compliant)

(RDF-Compliant)

(UML / Ecore)-compliant

ABSTRACTION LAYERS

COVEREDCIM, PIM, PSM PIM, PSM CIM, PIM, PSM PIM PIM

CIM - PIM –

PSM – PDM

EXTENSIBILITY

USABILITY

INTEROPERABILITY

CODE GENERATION

TECHNOLOGICAL

PLATFORMSJ2EE J2EE J2EE, .NET J2EE, .NET, COM+ Ruby on Rails Oracle, .NET, PHP

MT

DSL NO EMBEDED

AUTOMATION

CUSTOMIZABLES

SUPPORTED TYPES

CIM2PIM,

PIM2PIM,

PIM2PSM

PIM2PSMCIM2PIM,

PIM2PSMPIM2Code

CIM2PIM, PIM2PIM,

PIM2PSM, PSM2PSM

FORMALIZATION

Problems of existing MDWE toolsMT Handling

Hard-coded

No support for design decisions

Some types not considered

Low Interoperability and Extensibility levels

Trend to be Eclipse-compliant

31

32

State of the Art

2. State of

the Art

Tools supporting Model-Driven Development of Modern DB Schemas

Altova

XML

Oxygen XML

Editor

Stylus

Studio

hyper-

Model

Rational

RoseERwin

Enterprise

ArchitectM2DAT-DB

METHODOLOGY Carlson’s Batini’s Codd’s MIDAS-DB

PARADIGM SEMI-STR SEMI-STR SEMI-STR SEMI-STR OO STRUCT OO OO OO

SCOPE (C) (C) (C) (O) (C) (C) (C) (C)

MODELLING BASIS XML XML XML XML UML E/R UML UML Ecore

MODELLING

NOTATION

Nodes & Edges

Nodes & EdgesNodes

& Edges

Nested

Boxes

UML

notation

E/R UML Pure UML

UML-AlikeRelational

TablesUML Profile

UML-

Alike

Tree

Editor

RESTRICTIONS

STANDARDIZATION

ABSTRACTION

LAYERSPSM PSM PSM PSM

PIM, PSMPIM, PSM PIM, PSM PIM, PSM PIM, PSM, PDM

EXTENSIBILITY

USABILITY

INTEROPERABILITY

CODE GENERATION

TECHNOLOGICAL

PLATFORMSXML XML XML XML XML Relational Relatnl XML OR XML

MT

DSL

AUTOMATION

CUSTOMIZABLES

FORMALIZATION

Confirm that

M2DAT-DB, the

proof of concept

for M2DAT improves

existing technology

in the field

ORNo proposal considering an OR logical model

Non-pure PIM models

M2DAT-DB supports an SQL:2003-compliant model

XMLNo work combining both conceptual and logical model

BothMT Handling

32

Page 17: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

33

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation: M2DAT-DB

6. Conclusions and Future Works

i. MIDAS-CASE Overview

ii. Lessons Learned

33

Lessons Learned from designing

and

building MIDAS-CASE

34

MIDAS-CASE Overview

• First attempt to build a tool for MDSD of WIS– A stand-alone CASE tool that provides with an ad-hoc solution

– Built using GPLs (JAVA)

– Main premises: easily scalable and highly modular

Main Results3. MIDAS-CASE

Implementation of UML profiles for WSDL and XML Schema

Built using GPLs (JAVA)

MIDAS-CASE

Prototypes

MIDAS-CASE4WS

MIDAS-CASE4XS

CONTROLLER

TRANSFORMATION

STORAGE

Pe

rsis

ten

ce

Lo

gic

Pre

se

nta

tio

n

XMLUI

WSDLUI

OthersUI

SYNTAX SEMANTIC SYNTAX SEMANTIC

GRAPHICS RENDERING DATA

(SYNTAX)

SYNTAX SEMANTIC

XML MODELS

(SEMANTIC)

XMLPARSER

WSDLPARSER

OthersPARSER

WSDL MODELS

(SEMANTIC)

Others MODELS

(SEMANTIC)O-R METAMODEL WSDL METAMODEL

Others METAMODEL

Extensible, Modular and Dynamic

Promotes integrationof new capabilities

MIDAS-CASE

Architecture

34

Page 18: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

35

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation: M2DAT-DB

6. Conclusions and Future Works

i. MIDAS-CASE Overview

ii. Lessons Learned

35

36

Lessons Learned

Development of Model EditorsGraph Components from GPLs provide with more accurate solutions

Facilities in the context of MDE (GME, MetaEdit+ …) ease the task

Distinguising Abstract from Concrete SyntaxMIDAS-CASE already used different files to store the model and its

presentation

.ecore VS .ecore_diagram files or XMI and XMI-DI

UML Profiles implemented as (MOF-based ) DSLsMIDAS proposed UML profiles while MIDAS-CASE implemented DSLs

Adopted practice nowadays (e.g. works from Koch et al. (UWE) and Trujillo

et al. (MDA4DW))

The need of MT LanguagesMIDAS-CASE transformations were based on XML parsers

Minor modifications at MM level Huge influence on such parsers

Separation of Concerns: ModularizationMIDAS-CASE architecture: one module for each model (or DSL)

3. MIDAS-CASE

36

Page 19: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

37

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation

6. Conclusions and Future Works

i. M2DAT Conceptual Architecture

ii. Development Process for M2DAT modules

iii. M2DAT Technical Design

37

M2DAT Conceptual Architecture

4. M2DAT

Prese

ntation

ORDB4ORA UI

ORDB4ORA Model

XML SchemaUI

Logic

SQL2003UI

MyDSLUI

SQL2003 Model

XML SchemaModel

MyDSLModel

SQL2ORA

ORA2SQL

Persisten

ce

MyDSL

MTs

MyDSL

Validator

MODEL PROCESSOR

38

Page 20: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

M2DAT Conceptual Architecture

4. M2DAT

Prese

ntation

ORDB4ORA UI

ORDB4ORA Model

XML SchemaUI

Logic

SQL2003UI

MyDSLUI

SQL2003 Model

XML SchemaModel

MyDSLModel

SQL2ORA

ORA2SQL

Persisten

ce

MyDSL

MTs

MyDSL

Validator

MODEL PROCESSOR

High level of modularization

Each model proposed by MIDAS

is implemented as a DSL

M2DAT ↔ DSLs Workbench

39

M2DAT Conceptual Architecture

4. M2DAT

Prese

ntation

ORDB4ORA UI

ORDB4ORA Model

XML SchemaUI

Logic

SQL2003UI

MyDSLUI

SQL2003 Model

XML SchemaModel

MyDSLModel

SQL2ORA

ORA2SQL

Persisten

ce

MyDSL

MTs

MyDSL

Validator

MODEL PROCESSOR

Diagrammers, Tree-like or

Textual editors

Simple SVN for the time being

XML DB in the future??

Integrate different DSLs:

Model Transformations

Model Validation

Model Weaving

40

Page 21: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

41

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation

6. Conclusions and Future Works

i. M2DAT Conceptual Architecture

ii. M2DAT Technical Design

iii. Development Process for M2DAT modules

41

42

M2DAT Technical Design

4. M2DAT

M2DAT

Technical Design

M2DAT

Conceptual

Architecture

Methodological and Technical decisions

Selection of the approach and technology

to support each MDE taskExample

• Which M2M approach??

• Which language following

such approach??

Abstract Syntax Concrete Syntax Model Transformations

Model Annotation Model Validation

42

Page 22: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

43

M2DAT Technical DesignModelling and Metamodelling

4. M2DAT

UML

ProfilesDSLs

New Modelling Languages

New MDSD proposals

ModelTransformation

INTEROPERABILITYmodel once openanywhere

43

44

M2DAT Technical DesignModelling and Metamodelling

4. M2DAT

UML at higher

abstraction levels

“UML-like” MOF based

DSLs at lower abstraction

levels

UML is still quite convenient for analysis purposes

A commonly adopted

modelling language

for analysis tasks

A domain-specific

language for developers,

allowing for more detailed

models

Select a metamodelling

framework

44

Page 23: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

45

M2DAT Technical DesignDevelopment of Graphical Editors

4. M2DAT

GPL Graphical

Components(JAVA)

Generic

Modelling

Framework

Compromise between development effort and resultGPLs powerful than GMF

GMF editors are generated semi-automatically

InteroperabilityGPLs produce isolated models

GMF diagrammers produce models that can be handled with a wide

variety of MDE tools

The relative relevance of diagrammers in MDSDDiagrammers are useful to get an overview of the model

However, in MDSD a model became source code itself, thus a higher

level of detail is neededEMF tree-like improved editors

45

46

M2DAT Technical DesignModel to Model Transformations

4. M2DAT

GPL DSL

Model Transformations as Transformation

ModelsHOT to produce TM

Validation, Refactoring & Composition

Techniques

Facilities and Machinery to develop MTNavigation language, etc.

Declarative

Imperative

Graph-based

XML-based

Template-

based

…………

Tefkat

QVT practical usage called into question Inconsistencies and no complete implementation

Used just for specification purposes

ATL vs other existing languages↑ Documentation (manuals,

Use Cases, newsgroup …)

Future QVT alignment

AMW Coupling

RubyTL

Hybrid Approach (DEC preferred)Implicit Nature (automatic pattern

matching) of declarative languages

Syntactic separation between source and

target elements

Simplify traceability management

Hampers readable complex transformations

HYBRID

Approach

46

Page 24: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

M2DAT Technical DesignIntroducing Design Decisions on Model Transformations

4. M2DAT

There is a need of supporting the

introduction of design decisions to drive

the execution of the MTAssociation

FK

Intermediate

Table

Using a default valueOne-size-fits-all transformation is not enough

in all contexts

Select the most convenient option to map

each matched pattern

Using marks to drive the MTAlready covered in the MDA guide

Implies polutting the source modelTools for Relational DBs

Marks should not be included in the model itself

Using annotation modelsAvoid polutting the source model with data not

relevant to be part of the metamodel

Annotations are persisted MT recreated

47

a1

a3

a2

Ma

b1

b2

Mb

a1

a3

a2

b1

r1

r2b2

Weaving ModelMw

M2DAT Technical DesignUsing Weaving Models to Introduce Design Decisions

on Model Transformations

4. M2DAT

Special type of model devised to

define and represent relationships

between the elements of one or

more models

(Bernstein, 2003)

Using weaving models as

annotation models

a1

a2

r1

r2

Weaving/Annotation ModelMw

a12

a12

a12

a1

a3

a2

Ma

Avoid defining a new metamodel

Use a model whose nature is ideal for this purposes

48

Page 25: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

M2DAT Technical DesignUsing AMW to Introduce Design Decisions on Model Transformations

4. M2DAT

Core Weaving Metamodel

Set of abstract classes to represent

information about links between

model elements

AMW Plug-in

GUI automatic adaptation

to any Core metamodel

extension

WModel

WModelRef

WLink

WLinkEnd

-name : String

-description : String

WElement

-ownedElement 1

-model

1..*

ref : String

WRef

WElementRef

child

parent

end

1-* link

element

ownedElementRef

wovenModel

AMWDidonet del Fabro

PhD Thesis

University of Nantes

(2007)

49

M2DAT Technical DesignUsing AMW to Introduce Design Decisions on Model Transformations

4. M2DAT

Annotation Metamodel

c2

Source MM

Source Model

c2

TargetMetamodel

TargetModel

c2

AMW Core Weaving Metamodel

AnnotationModel

SOURCE

SOURCE

TARGET

SOURCE2TARGET.atl

50

Page 26: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

EMF-based

Indeed, this is not a restrictive condition

First submission to the OMG Model-To-Text RFP

Mature and Stable when M2DAT was first addressed

Convenient for generation tasks in M2DAT’s prototypes

Mainly, SQL code

Lower learning curve of visitor-based approaches

JET and the like were not devised to work with models

Back to evaluating template-based approaches

OMG standard just delivered

Mature proposals: Xpand, Accelelo MTL …

M2DAT Technical DesignModel to Text Transformations

4. M2DAT

Stand-alone

parsersDSLs

Stand-alone parsers (Velocity, Smarty …)Grammar drives the generation process

Complexity and Verbosity

DSLs for M2T TransformationMetamodel drives the generation process

AST built from the MM

MM-based M2T transformation models

MOFScript

51

M2DAT Technical DesignModel Validation

4. M2DAT

Hard-Coding

Validation

rulesDSLs

Classical SE principlesModularization

Separation of concerns …

Consensus on using OCL for this task in

the MDE community

EVL solves some OCL drawbacks

RoclETSupports OCL evaluation but

validation is inmature

Resticted to UML models

EMF-VFOCL-based but constraints

hard-coded

MDT-OCLInmature (version

dependable)

Limited expresiveness (MT navigation languages) EVL eases navigation and model validation

Report Mechanisms EVL API to provide with user feedback

Model Modification Capabilities EOL for coding fixes

Severity Levels constraints and critiques

Constraints inter-dependency guards

Report Mechanisms EVL API to provide with user feedback

52

Page 27: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

M2DAT Technical Design

4. M2DAT

ABSTRACT SYNTAX

CONCRETE SYNTAX

MODEL PROCESSORMOFScript

CODE GENERATION

DIAGRAMMERS

GRAPH

GRAMMARS

QVTR ATL

MyDSL

integration

plug-in

AMW

MODEL WEAVING

MODEL VALIDATION

MODEL TRANSFORMATION

EMF Tree-like editors

Ecore

models

MyDSLUI

MyDSLModel

MODEL

PROCESSOR

53

54

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation

6. Conclusions and Future Works

i. M2DAT Conceptual Architecture

ii. M2DAT Technical Design

iii. Development Process for M2DAT modules

54

Page 28: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

AUTOMATIC

MODEL

VALIDATIONEVL Files

IMPROVEMENT of

MODEL

TRANSFORMATIONS

AnnotationMetamodels

ParameterizedATL

Transformations

GRAPHICAL

EDITORS

IMPROVEMENT

ImprovedEMF

Tree-likeEditor

Development Process for M2DAT modulesSupporting a new DSL

4. M2DAT

CONCRETE

SYNTAX

DEFINITION

EMFTree-like

Editor

MODEL

TRANS.

DEVELOPMENT

ATLTransformations

Graph-basedSpecification

NL Structured

Rules

CODE

GENERATION

DEVELOPMENT

MOFScriptScripts

AMW

ATL

STEP

LE

GE

ND

INTEGRATIONIntegration

Plug-ins

MOFScript

ATLABSTRACT

SYNTAX

DEFINITION

Ecore

Metamodel

55PRODUCTS

56

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation

6. Conclusions and Future Works

i. Overview

ii. Reference Implementation for M2DAT: M2DAT-DB

iii. Characterization of Model Transformations

56

Page 29: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

57

ValidationOverview

5. Validation

M2DAT-DB

Validation

AD-HOCCOMPLETE

Case Studies

57

58

ValidationReference Implementation for M2DAT: M2DAT-DB

5. Validation

Reference Implementation

Developed concurrently with the specification

Verifies that it is implementable

Serves as a reference against which other

implementations can be measured

Helps to clarify the intent of the specification

Dalci, E., Fong, E., & Goldfine, A.

(2003) Requirements for GSC-IS

Reference Implementations.

National Institute of Standards and

Technology, Information Technology

Laboratory

M2DAT-DB: a Reference Implementation for M2DAT

Bundles the toolkit for the DSLs that compose MIDAS-DB

Complex enough since comprises several DSLs

Complete cycle: from PIM to working-code

Targets different platforms (both standard & commercial)

Widely recognised domains (SQL and XML Schema)

PIM2PSM, PSM2PSM and PSM2Code Complex MT that needs from annotations

PhC candidate background

58

Page 30: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

59

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation

6. Conclusions and Future Works

i. Overview

ii. Reference Implementation for M2DAT: M2DAT-DB

iii. Characterization of Model Transformations

59

60

ValidationM2DAT-DB Overview

5. Validation

PIM

PSM

SQL XML Schema

OR Model XMLModel

CODE

ConceptualData Model

UML2SQL2003

Tree-like Editor(EMF)

Diagrammer(GMF)

Model Validation(EVL Files)

Graph Grammars

ATL Mapping Rules (ATL)

Design Decisions (AMW)

Model-to-Model Transformations

Model-to-Text Transformations

Replicate Model Transformation(VIATRA, QVTo, mediniQVT)

SQL

MOFScript

OR ModelSQL2003SQL20032ORA

ORA2SQL2003

60

Page 31: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

61

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation

6. Conclusions and Future Works

i. Overview

ii. Reference Implementation for M2DAT: M2DAT-DB

iii. Characterization of Model Transformations

61

62

ValidationCharacterization of Model Transformations

5. Validation

MT are the key to automate any MDSD process

Identify a set of common scenarios to address when developing model

transformations

For each scenarioGeneric Strategy

ATL Implementation

[Use of annotations]

TARGET MODEL

SOURCE MODEL

1 N

FIXED OPTIONAL FIXED OPTIONAL

1 X X X X

N X X X X

SOURCE

METAMODEL

A

TARGET METAMODEL

1

1'

One-to-Many

(OPTIONS)

2

2'

62

Page 32: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

63

ValidationCharacterization of Model Transformations

5. Validation

OMDB.uml

OMDB.amwOMDB.uml

OMDB.sql2003OMDB.sql2003

rule MultivaluedPropertyWithoutGeneratedType2ARRAYAttribute {

from

prop : UML!Property (

(prop.isMultivaluedAttribute()) and

(prop.isFixedSizeMultivaluedAttribute()) and

(not prop.isGeneratedMultivaluedType())

)

to

a : SQL2003!Attribute (

name <- prop.name,

type <- array,

structured <- prop->refImmediateComposite()

),

array : SQL2003!ARRAY (

name <- prop.name,

type <- prop.type,

num_elements<-prop.upperValue.value,

schema <- thisModule.PACKAGE()

)

}

rule MultivaluedPropertyWithoutGeneratedType2MULTISETAttribute {

from

prop : UML!Property (

(prop.isMultivaluedAttribute()) and

(prop.isVarSizeMultivaluedAttribute()) and

(not prop.isGeneratedMultivaluedType())

)

to

a : SQL2003!Attribute (

name <- prop.name,

type <- multiset,

structured <- prop->refImmediateComposite()

),

multiset : SQL2003!MULTISET (

name <- prop.name,

type <- prop.type,

schema <- thisModule.PACKAGE()

)

}

Technique

Mapping rules with mutually

exclusive guards and multiple

target patterns

63

64

Index

1. Problem Statement

2. State of the Art

3. 1st Iteration: MIDAS-CASE

4. Solution: M2DAT Architecture and Technical Design

5. Validation

6. Conclusions and Future Works

64

Page 33: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

65

Conclusions

Objectives Achievement

a. Analysis and evaluation of existing technologies (tools for MDE

tasks)

– (Meta)modelling tools EMF

– Model-to-model transformation engines ATL

– support for introducing design decisions AMW

– Model-to-text transformation engines MOFScript (so-far)

– Rest of specific tasks in MDE contexts EVL, GME …

b. Analysis and evaluation of existing frameworks supporting

model-driven software development

– Web Information Systems Interoperability, Extensibility, MT handling

– Modern database schemas (OR and XML) No support for ORDB, No purc

conceptual data models, MT handling

c. Specification of the conceptual architecture of M2DAT

framework A modular and extensible architecture

6. Conclusions

Future Works

65

66

Hypothesis and Objectives

Objectives (II)

d. Selection of the approaches & technologies to be used for M2DAT

→ UML + DSLs, Hybrid M2M, Visitor-bassed M2T, Extended OCL validation

mechanisms, Basic Diagrammers + Improved Tree-like editors …

e. Specification of the technical design of M2DAT

f. Specification of the development process for each M2DAT

module

g. Validation of the technical design of M2DAT. To that end, two

main sub-objectives are identified

– Construction of one of M2DAT’s modules: proof of concept

– Development of a set of case studies using M2DAT-DB

6. Conclusions

Future Works

66

Page 34: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

67

Main contributions

– A complete analysis of the existing solutions for building

frameworks for MDSD• Used for M2DAT specification

• Useful for on-going works in the field

– Specification of a framework for model-driven development of Web

Information Systems

• Extensible (Modularization)

• Interoperable

• Support for Customizable transformations

– Development Process to use it

– Technical support for semi-automatic model-driven development of

modern DB schemas

• DSL toolkits for ORDB and XML Schema modelling

• Transformations from Conceptual Data model

Conclusions

6. Conclusions

Future Works

67

68

Conclusions

Publications of the Thesis Results

A complete analysis of the existing solutions for

building frameworks for MDSD

International

Journals

Koch, N., Meliá, S., Moreno, N., Pelechano, V., Sánchez, F. & Vara, J.M.

(2008). Model-Driven Web Engineering. UPGRADE, IX(2), 40-45. (April 2008)

National

Journals

Vara, J M., Acuña, C. J., Marcos, E. & Lopez Sanz, M. (2004). Desarrollo de

un Sistema de Información web: una experiencia con Oracle XMLDB. CUORE

(Círculo de Usuarios de Oracle España), VIVAT ACADEMIA, 27, 3-12.

International

Conferences

Bollati, V.A., Marcos, E., Vara, J.M. &. Vela, B. Analisis de Herramientas

MDA. XIII Congreso Argentino de Ciencias de la Computación. (CACIC 2007).

Corrientes and Resistencia, Argentina. (October 1st-5th, 2007)6. Conclusions

Future Works

68

Page 35: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

69

Conclusions

Publications of the Thesis Results

Specification of a framework for model-driven development of Web

Information Systems

Book Chapters

Molina, F., Lucas, F.J., Toval, A., Vara, J.M., Cáceres, P. and Marcos, E.,

Towards quality web information systems through precise model driven

development. In: Handbook of research on web information systems quality,

Idea Group Publishing. pp. 317-355.

International

journals

Vara, J.M., De Castro, V., Didonet Del Fabro, M. & Marcos, E. (2009). Using

Weaving Models to automate Model-Driven Web Engineering proposals.

International Journal of Computer Applications in Technology. (Accepted to

be published)

Vara, J.M., De Castro, V. & Marcos, E. (2005). WSDL Automatic Generation

from UML Models in a MDA Framework. International Journal of Web Services

Practices, 1(1-2), 1-12.

International

Conferences

López Sanz, M. Vara, J.M., Marcos, E. & Cuesta, C. A Model-Driven Approach

to Weave Architectural Styles into Service-Oriented Architectures. 1st

International Workshop on Model-Driven Service Engineering (MoSE 2009).

Hong Kong, China. (November 6, 2009)

Vara, J.M., Bollati, V., Vela, B. & Marcos, E. (2009). Leveraging Model

Transformations by means of Annotation Models. 1st International Workshop

in Model Transformation with ATL (MtATL 2009), Nantes, France. (July 8-9,

2009)

6. Conclusions

Future Works

69

70

Conclusions

Publications of the Thesis Results

Specification of a framework for model-driven development of Web

Information Systems

International

Conferences

Caceres, P., De Castro, V., Vara, J.M. & Marcos, E. (2006). Model

Transformations for Hypertext Modelling on Web Information Systems. ACM

Symposium on Applied computing (SAC 2006), Dijon, France. ACM Press.

(23–27 April, 2006). (Acceptance Ratio: 32%).

Latin-American

Conferences

De Castro, V., Vara, J.M., Herrmann, E. & Marcos. A Model Driven Approach

for the Alignment of Business and Information Systems Model. 9º Mexican

International Conference on Computer Science (ENC 2008). Mexicali, Baja

California, Mexico. (6-10 October, 2008). (Acceptance Ratio: 26%). IEEE

Computer Society.

Vara, J.M., De Castro, V., Caceres, P. & Marcos, E. (2004). Arquitectura de

MIDAS-CASE: una herramienta para el desarrollo de SIW basada en MDA. IV

Jornadas Iberoamericanas en Ingeniería del Software e Ingeniería del

Conocimiento. JIISIC'04, Madrid, Spain. (3-5 November, 2004). (Acceptance

Ratio: 49%).

National

Conferences

De Castro, V., Vara, J.M., Herrmann, E. & Marcos, E. Obteniendo Modelos

Sistemas de Información a partir de Modelos de Negocios de Alto Nivel: Un

Enfoque Dirigido por Modelos. IV Jornadas Científico-Técnicas en Servicios

Web y SOA (JSWEB’08). Sevilla, Spain (October 29-30, 2008).

6. Conclusions

Future Works

70

Page 36: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

71

Conclusions

Publications of the Thesis Results

Technical support for semi-automatic model-driven development of

modern DB schemas

Creative

Property

Registration

Marcos, E., Vela, B., Vara, J.M. & Bollati. V. M2DAT/DB: Herramienta para

el Desarrollo Dirigido por Modelos de BD.

Application Nº: M-8452/2008

Priority Date: 24/10/2008

Holder Entity: Universidad Rey Juan Carlos

Extended Countries: Spain

International

conferences

Vara, J.M., Vela, B., Bollati, V. & Marcos, E. (2009). Supporting Model-Driven

Development of Object-Relational Database Schemas: a Case Study.

ICMT2009 - International Conference on Model Transformation, Zurich,

Switzerland. (29-30 June, 2009). R. F. Paige, Ed. Springer-Verlag LNCS

5563, Berlin, Heidelberg, 181-196. (Acceptance Ratio: 22%).

Vara, J.M., Vela, B., Cavero, J.M. & Marcos, E. (2007). Model

Transformations for Object-Relational Databse Development. ACM

Symposium on Applied computing (SAC 2007), Seoul, Korea. ACM Press.

(11-15 March, 2007). (Acceptance Ratio: 32.5%)

6. Conclusions

Future Works

71

72

Conclusions

Publications of the Thesis Results

Technical support for semi-automatic model-driven development of

modern DB schemas

Latin American

Journals

Vara, J.M., Vela, B., Cavero, J. M. & Marcos, E. (2007). Transformación de

Modelos para el Desarrollo de Bases de Datos Objeto-Relacionales. IEEE Latin

America Transactions, 5(4), 251-258. (July 2007)

Latin American

Conferences

Bollati, V.A., Vara, J.M, Vela, Belén & Marcos, E. Uso de Modelos de

Anotación para automatizar el Desarrollo Dirigido por Modelos de Esquemas

XML. XII Conferencia Iberoamericana de Ingeniería de Requisitos y

Ambientes de Software. (IDEAS'09), Medellín (Colombia). (Abril 13-17,

2009).

National

Conferences

Bollati, V.A., Vara, J.M., Vela, B. & Marcos, E. Una Aproximación Dirigida por

Modelos para el Desarrollo de Esquemas XML. XIII Jornadas de Ingeniería del

Software y Bases de Datos (JISBD’08). Gijón, Spain. (October 7-10, 2008).

(Acceptance Ratio: 25%).

Vara, J. M., Vela, B., Cavero, J.M. & Marcos, E. (2007). Transformación de

Modelos para el Desarrollo de Bases de Datos XML. XI Jornadas de Ingeniería

del Software y Bases de Datos, JISBD’2006. Sitges, Spain. (3-6 October,

2006). (Acceptance Ratio: 35%).

6. Conclusions

Future Works

72

Page 37: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

73

– Development of M2DAT Modules • M2DAT specification is to be used in forthcoming years (an

endless task indeed)

• Some ongoing works (prototypes for the Semantics, Behaviour

and Architecture views)

– Applying MDE techniques to develop new modules

• Meta-Transformations (PhD Thesis of V. Bollati)

• Meta-Tool (PhD Thesis of D. Granada)

– Traceability in MDE contexts (PhD Thesis of I. Santiago)

• MDE gives traceability a new sense

– Automatic creation and maintenance of traces between the

elements of such models

• CIM models traditionally looked down on in MDE contexts

Future Works

6. Conclusions

Future Works

73

74

– Bidirectional Model-to-Text

Transformations• Existing solutions for M2T transformations

• Reverse is hardly supported

– Text to model transformers are grammar-focused

• Metamodel-based grammars

– Automatic generation of parsers for T2M transformation

– Future works in the Context of M2DAT-DB• Extending M2DAT-DB

• Application of M2DAT-DB for computer science teaching

– Model-Driven Engineering

– Logical Models

– Standards VS Implementations

Future Works

6. Conclusions

Future Works

74

Page 38: M2DAT: a Technical Solution for Model-Driven Development of Web · PDF file · 2009-11-02Model -Driven Engineering Motivation 1. ... –Frameworks for model-driven development of

M2DAT-DB: a Technical Solution for Model-Driven Development of Web Information Systems

November, 6th 2009

Author: Juan M. Vara

Supervisor: Esperanza Marcos

M2DAT: a Technical Solution for

Model-Driven Development of

Web Information Systems

PhD ThesisFriday, November 6th 2009

Author: Juan M. Vara Mesa

Supervisor: Esperanza Marcos Martínez