MDA
A utilização do MDA leva em foco o desenvolvimento com escrita de código para a construção de modelos, na qual é uma especificação formal da função, estrutura e comportamento de um sistma sob o ponto de vista de um determinado contexto. Um modelo pode ser considerado uma representação do sistema por uma linguagem com sintaxe e semantica definidas, sendo capaz de interpretarem via computador, por exemplo através da Unified Modeling Language (UML). Outro meio de aplicação do modelo é através do desenvolvimento do Model-Driven Development (MDD), na qual tem como conceito possibilidade de que qualquer tipo de alteração tanto para o modelo quanto para o código sendo visível a alteração do código no modelo, que ganhou destaque após o lançamento do MDA em 2001. A arquitetura compreende-se em tres passos, sendo primeiro a geração do modelo Computation Independent Model (CIM), uma visão do sistema de um ponto de vista fora área de computação que representa apenas requisitos do sistema e não mostra detalhes de sua estrutura, o segundo passo feito a partir da geração do CIM o modelo Platform Independent Model (PIM) que é definido como um alto grau de abstração independente de qualquer tipo de tecnologia, descrevendo o sistema de software de uma perspectiva que represente o negócio sendo modelado, o terceiro passo é a geração de um ou mais Plataform Specific Models (PSMs), levando em conta detalhes específicos de uma determinata tecnologia utilizada na implementação.
Os principais benefícios resultados da utilização do MDA é :