3. 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.
4. Traditional Software
Development problems
Most of the
artifacts during the
first three phases is
just paper and
nothing more.
Productivity
Maintenance
Document
Portability
5. MDA development process
The artifacts are
formal models
(which can be
understood by
computers)
Models are the core
at MDA
7. 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
11. 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.
12. The Complete MDA Framework
M3
MOF
is is
written written
in in
QVT
is
written
M2 in
UML Transformation ERD
Profiles definition Profiles
defines
M1
Class Transform to Relational
diagram diagram
15. 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.
16. 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.
17. 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
18. Transformation research field
Exploring possibilities and eliciting
requirements.
Implement the QVT standard.
Evaluate in practical applications.
19. 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.
20. 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.
21. 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.
23. 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.
24. 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.