Upload
lai-ha
View
374
Download
0
Tags:
Embed Size (px)
Citation preview
Model Driven Architecture (MDA)
An Introduction and
Commonly Research Problems
Ha Lai Duy
Østfold University College
October 19, 2011
Outline
An Introduction
Commonly Research Problems
Conclusions
Overview about MDA
Model driven architecture: was launched by the OMG in 2001.
Model-centric approach: models are the main focus of the software process.
Traditional Software Development problems
Most of the artifacts during the first three phases is just paper and nothing more.
Productivity
Maintenance
Document
Portability
MDA development process
The artifacts are formal models (which can be understood by computers)
Models are the core at MDA
Model, Language, and System
MDA models
Platform Independent Model (PIM)
a high level abstraction.
independent of any implementation technology.
Platform Specific Model (PSM)
tailored to specify system in terms of the implementation.
Code
final artifacts in the development
MDA transformation steps
Meta-model
A meta-model is simply a model of a modeling language.
It defines the structure, semantics, and constraints for a family of models.
OMG's four-layer architecture
Transformation
Transformation is the automatic process to transform a set of source models to a set of target model.
Model to text: Visitor, template.
Model to model: OMG’s QVT specification in 2008.
The Complete MDA Framework
M1
M2
M3
Class diagram
Relationaldiagram
UML Profiles
ERD Profiles
MOF
QVT
Transform to
Transformation definition
defines
is written
in
is written
in
is written
in
Outline
An Introduction
Commonly Research Problems
Conclusions
Commonly Research Problems
Model
Transformation
Metamodelling
Apply MDA
Model research field
Evaluate the essential of UML in practice.
Due to its complexity & power.
Like 3GLs, it does not fit to model specific domain problems.
Model research field
Domain Specific Language (DSL)
Propose the modeling language for specific domains e.g. ERD, EBNF, XML Schema, Ontology language,...
Buid the model-based DSL framework to take the advantage of MDA features e.g. code generation, transformation…
Support to develop a new DSL language in both notation and textual ways.
Model research field
Model operation
Support version control system:
Models comparision.
Conflict detection and resolution.
Copy-paste-merge operations.
Model validation
Debuging model
Model query
Model transaction
Transformation research field
Exploring possibilities and eliciting requirements.
Implement the QVT standard.
Evaluate in practical applications.
Transformation research field
Model interpretation vs. code generation
Pros:
It enables faster changes.
It enables changes at runtime.
Easier to update and scale.
Cons:
Customers could not choose their execution environment.
We have the freedom at the model aspect, but we left the freedom at the generator rules.
Metamodelling research field
The evolution of the meta-models:
Transformation defination should be changed to adapt with new meta-model.
Model is invalid with the new version of meta-model.
Co-evolution approaches.
Apply MDA in practice
Software development approaches:
Agile MDA.
MDA framework introduces some risks:
It is too rigid:
requirement team should understand what is allowed and what is not.
The roles is changed in MDA approaches.
Enviroment for MDA
Education.
Culture gap.
Outline
An Introduction
Commonly Research Problems
Conclusions
Conclusions
Advantages: Gain of productivity.
High level of abstraction.
Documentation.
Maintaining.
...
Disadvantages:
Rigidity.
Require the new roles in software development.
Not fully implementation.
Does not support version control for collaboration.
Conclusions
Problem statements:
The rigidtity of MDA:
When request of change comes:
Going back and modify the meta-models
Effect to other artifacts e.g. models
Hack the code:
Not well documented maintaning.
Manipulating the source models to make it procudes desire result.
Models are not truly reflected to the problem domain.
Thank you