mda start up
TRANSCRIPT
MDA Start Up
MDA presentation
Lai Duy Ha
Østfold University College
July 15, 2011
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
Motivation
Boring code cause by:
Follow templates or coding style guide.
The consistent of the system.
The benefit of maintaining.
Disadvantage
Reduce inspiration of developers.
Silly copy/paste code.
Motivation
Example of one normal module:
Insert, update, delete record in one table.
Each field has its own validation.
Field’s presentation (type of control, row, column,….)
etc…
One system may contains more than 20+ modules like this
Motivation
My approach:
Using configuration data.
Validation.
Layout data.
Using template file & complier to generate code.
Motivation
Challenge
The change of configuration data’s structure over time
Need to re-construct the structure of configuration data
Motivation
Should have the system approach to define the structure of configuration data as flexible as possible.
Should analyze the problems at higher level.
MDA
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
Traditional Software Development problems
Most of the artifacts during the first three phases is just paper and nothing more.
Productivity
Maintenance
Document
Portability
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
Overview of MDA
Model driven architecture: was launched by the OMG in 2001.
MDA development process
The artifacts are formal models(which can be understood by computers)
Models are the core at MDA
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.
MDA transformation steps
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
MDA framework
What is a model ???
A model is always an abstraction of something that exists in reality.
A model is different from the thing it models, e.g., details are left out or its size is different.
A model can be used as an example to produce something that exists in reality.
A model is a description of (part of) a system
written in a well-defined language.
MDA framework
MDA framework
Building blocks: A model is a description of a system.
PIM
PSM
Well-defined language is used to write models.
A transformation definition describes how a model in a source language can be transformed into a model in a target language. This also should be written by well-defined language.
A transformation tool performs a transformation for a specific source model according to a
transformation definition.
MDA framework
Participants, tools, and artifacts in the MDA process
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
Apply MDA in practice
Pros and cons to apply MDA in practice
Apply MDA in practice
The impact of MDE activities on productivity and maintainability
Apply MDA in practice
“...when you build an enterprise system, do you program all the low-level database stuff...the B+ trees... or do you define a data model and feed it into a database management system...are you constantly writing raw HTML or Java code or are you using tools that allow you to paint a dialog box and generate some code... for the front and back ends of our systems, we long ago abandoned low-level coding as a dominant abstraction of development...”
“So the idea of applying a sort of methodology approach to modeling and code generation was really attractive –it seemed like it was an obvious next step to take in insuring quality and consistency and again not solving the same kinds of problems over and over again.”
Apply MDA in practice
“So the question is, is somebody naturally inclined to think in terms of design or do they think more in terms of detail? ...I don’t think that the education that people get necessarily gets them thinking towards design”
“There are people who you can’t teach this to because they think always in examples.”
Apply MDA in practice
Conclusion productivity gains associated with MDE.
the issue of abstraction
the importance of training and education.
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
Next steps
Name the project.
Divide group:
Define the requirements of our MDA framework.
Choose a pilot project & model it.
Analyze existing MDA frameworks.
Research more about MDA, make the presentation.
Next presentation
More on Transformations.
Metamodeling.
Defining Your Own Transformations.
The MDA Promise.
Reference
Kleppe, A. G., J. Warmer, et al. 2003 MDA Explained: TheModel Driven Architecture: Practice and Promise, Addison-Wesley Longman Publishing Co., Inc.
John Hutchinson, Jon Whittle, Mark Rouncefield and Steinar Kristoffersen 2011 Empirical Assessment of MDE in Industry, ACM.