![]() |
![]() ![]() Model Driven Architecture (MDA)
![]() Por Natã Melo(nata.venancio.melo@gmail.com)
A abordagem Model Driven Architecture (MDA) é a realização predominante de Model Driven Development (MDD), uma subárea de Engenharia de Software, que se estabeleceu desde o ano de 2003.
Model Driven Development (MDD) é uma subárea de Engenharia de Software estabelecida nas comunidades acadêmicas e no mercado, que promove o uso de modelos como artefatos essenciais no processo de desenvolvimento de software. Com o objetivo de realizar o propósito de MDD, surgiram diversos padrões, ferramentas e abordagens. Dentre as abordagens que buscam a realização de MDD, estão: Domain-Oriented Programming (DOP), Agile Model-Driven Development e Model Driven Architecture (MDA). No entanto, MDA foi a abordagem que mais cresceu e ganhou espaço nas comunidades de Engenharia de Software. MDA constitui um framework definido pela Object Management Group (OMG) composto por um conjunto de padrões para definição de modelos, metamodelos, transformações do tipo modelo para modelo e transformações do tipo modelo para texto. O conceito principal de MDA é mudar a ênfase do esforço e tempo empregado nas atividades de desenvolvimento de software dedicadas à implementação passando o foco para atividades de modelagem, metamodelagem e transformações entre modelos. Para conhecer a abordagem MDA, precisamos entender alguns conceitos básicos:
MDA define uma abordagem de modelos distribuídos em quatro camadas, sendo esses:
Na Figura 1, é representado o framework MDA. Vemos que é aplicada uma série de transformações que começa a partir de um PIM e vai até a geração de sintaxe concreta. ![]() Figura 1 – Framework MDA.
Inicialmente, define-se um PIM a partir do metamodelo Metamodel 1. Em seguida, aplica-se sob esse PIM uma definição de transformação do tipo modelo para modelo que mapeia os elementos do Metamodel 1 para o Metamodel 2. O resultado dessa transformação (que é aplicada por uma ferramenta de transformação) é um PSM. A partir do PSM gerado, aplica-se uma transformação do tipo modelo para texto (por meio de uma ferramenta geradora de código), em que cada elemento do Metamodel 2 é mapeado para os elementos de uma determinada linguagem. O resultado dessa transformação é o código propriamente dito. Note que, na definição de transformação de modelo para texto apenas é necessário utilizar um metamodelo, aquele que define o modelo de entrada, nesse caso, o Metamodel 2 que define o PSM. Além das transformações discutidas, diversos tipos de transformações podem ser definidos, são exemplos: PIM para PIM, PSM para PSM, PIM para código concreto, etc. No Laboratório de Práticas de Software (SPLab) do Departamento de Sistemas e Computação da Universidade Federal de Campina Grande, existem diversos trabalhos desenvolvidos na área de MDD, a exemplo de: MetaCG – Uma Abordagem Baseada em Metamodelos para a Escrita de Geradores de Código e MDA-Veritas: Uma Arquitetura MDA Estendida para Transformações de Sistemas Concorrentes Preservadoras de Semântica. Fonte:
Jornal PETNews - Edição: Caio Paes - Revisão: Janderson Jason e Joseana Fechine
Grupo PET Computação UFCG, 2011. All rights reserved. |
![]() |