Monday, December 22, 2008

Model Driven Development

I want to present some new approaches about programming methodologies and architectures. i choose the beginning point of the new approaches , model driven development architecture . if we read the definition of the MDD on wikipedia ;
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

3 comments:

Anonymous said...

mustywarrior.blogspot.com; You saved my day again.

Anonymous said...

I would like to exchange links with your site mustywarrior.blogspot.com
Is this possible?

Anonymous said...

In case you may e-mail me with just a few strategies
on just how you made your weblog look this glorious, I'd be grateful.

Review my webpage :: trying to conceive tips