MDA is an approach to building software where you specify the application using models and let the computer generate the source code for you. Hi Lasse, Then MDA does Forward Engineering(eg: convert the class diagrams to the Code). Then it's the (code generation)tool only, how it comes under the Architecture ?
In MDA, you start with an architecture independent model and then apply a transformation to it. The transformation produces architecture specific code.
For example, you might have classes in your model that are stereotyped as persistent. By using a "Transform for Hibernate" transform you could produce a Hibernate specific solution.
MDA is intended to allow modeling at a higher level of abstraction and then automate a lot of the tedious work in realizing a specific architecture. The architecture is driven forward from the high level model.
Another well-known MDA tool is ArcStyler which will (probably sometime later this year) integrate with IBM's RSA/RSM suite. Will refrain from making comparisons between MDA tools since 1) I've only tried ArcStyler and 2) working for Interactive Objects makes me kind of biased