Model-driven architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.
Basically model driven development based Model View Controller.if we want to describe MVC, this picture help us .
the model represents the information (the data) of the application; the view corresponds to elements of the user interface such as text, checkbox items, and so forth; and the controller manages the communication of data and the business rules used to manipulate the data to and from the model.
Another MVC definition from IBM ;
The controllers bridge the view and model (see Figure 1). Each controller, or EditPart as they are called here, is responsible both for mapping the model to its view, and for making changes to the model. The EditPart also observes the model, and updates the view to reflect changes in the model's state. EditParts are the objects with which the user interacts.
Everything is in the model. The model is the only thing that is persisted and restored. Your application should store all important data in the model. During the course of editing, undo, and redo, the model is the only thing that endures. Figures and EditParts will be garbage collected and recreated over time.
This site decribed all advantages of MDD .
Advantages
increased efficiency, improved productivity, reduced time and expense
* automation of repeatable processes
* separation of expertise and technology
* abstraction
* formalization and compression of analysis and design results
* reusability (architecture, DSLs, generators, cartridges)
* reduction of routine activities
* automatic generation of tests and documentation
improved quality and servicability
* well-defined, binding architecture
* automated implementation of the architecture
* conservation of expert knowledge
* separation of expertise and technology
* (consistent) quality of generated source code and other generated resources
* easier correction of errors
* consistency between models, applications and documentation
portability
* focus on platform-independent models
* increasing availability of generator cartridges for common target platforms
* increasing importance of transformation languages
flexibility
* option of automating adjustments through the modification of the generator
* early feedback through generated prototypes
Sources
1 How to get started with the GEF
2 http://en.wikipedia.org/wiki/Model-view-controller
3 http://en.wikipedia.org/wiki/Model-driven_architecture
4 www.itemis.com