mda start up
TRANSCRIPT
![Page 1: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/1.jpg)
MDA Start Up
MDA presentation
Lai Duy Ha
Østfold University College
July 15, 2011
![Page 2: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/2.jpg)
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
![Page 3: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/3.jpg)
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.
![Page 4: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/4.jpg)
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
![Page 5: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/5.jpg)
Motivation
My approach:
Using configuration data.
Validation.
Layout data.
Using template file & complier to generate code.
![Page 6: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/6.jpg)
Motivation
Challenge
The change of configuration data’s structure over time
Need to re-construct the structure of configuration data
![Page 7: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/7.jpg)
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
![Page 8: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/8.jpg)
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
![Page 9: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/9.jpg)
Traditional Software Development problems
Most of the artifacts during the first three phases is just paper and nothing more.
Productivity
Maintenance
Document
Portability
![Page 10: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/10.jpg)
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
![Page 11: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/11.jpg)
Overview of MDA
Model driven architecture: was launched by the OMG in 2001.
![Page 12: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/12.jpg)
MDA development process
The artifacts are formal models(which can be understood by computers)
Models are the core at MDA
![Page 13: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/13.jpg)
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.
![Page 14: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/14.jpg)
MDA transformation steps
![Page 15: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/15.jpg)
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
![Page 16: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/16.jpg)
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.
![Page 17: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/17.jpg)
MDA framework
![Page 18: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/18.jpg)
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.
![Page 19: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/19.jpg)
MDA framework
Participants, tools, and artifacts in the MDA process
![Page 20: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/20.jpg)
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
![Page 21: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/21.jpg)
Apply MDA in practice
Pros and cons to apply MDA in practice
![Page 22: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/22.jpg)
Apply MDA in practice
The impact of MDE activities on productivity and maintainability
![Page 23: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/23.jpg)
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.”
![Page 24: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/24.jpg)
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.”
![Page 25: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/25.jpg)
Apply MDA in practice
Conclusion productivity gains associated with MDE.
the issue of abstraction
the importance of training and education.
![Page 26: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/26.jpg)
Outline
My motivation
Traditional Software Development problems
Overview of MDA
Inside MDA framework
Apply MDA in practice
Next steps
![Page 27: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/27.jpg)
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.
![Page 28: Mda start up](https://reader034.vdocuments.mx/reader034/viewer/2022052412/558d2324d8b42a4e0a8b474a/html5/thumbnails/28.jpg)
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.