Projeto de Sistemas

Blog 5: Arquitetura Dirigida pelo Modelo (MDA)

Olá pessoal! Na postagem de hoje irei comentar um pouco sobre Arquitetura Dirigida pelo Modelo (também conhecida por MDA - Model Driven Architecture). Então, vamos lá …

A Arquitetura Dirigida pelo Modelo foi criada pela OMG (Object Management Group) e é definida como uma metodologia de desenvolvimento de software que visa colocar a modelagem no centro do processo de desenvolvimento. A partir de um modelo mais abstrato é desenvolvido um modelo mais concreto, através deste processo de refinamento dos modelos podemos gerar o código fonte a ser produzido.

O MDA, após a desenvolvimento, se torna uma especificação que apoia no Desenvolvimento Dirigido por Modelo, chamado de Model-Driven Development (MDD). Pois os modelos que são criados a partir dos modelos conceituais de análise, tem níveis de abstração cada vez mais específicos e ligados à implementação. Desta forma, o sistema final é gerado automaticamente, analisando os modelos abstratos gerados.

A arqutitetura MDA possui três passos principais, sendo eles:

  1. Construção de um modelo com um alto nível de abstração, independente de qualquer tecnologia. Esse modelo é chamado de Modelo Independente de Plataforma (PIM, Platform Independent Model).
  2. Transformação do PIM em um ou mais Modelos Específicos de Plataforma (PSM, Platform Specific Model). Um PSM é mais específico para o sistema em termos de tecnologia de implementação, como um modelo de banco de dados ou um modelo EJB (Enterprise JavaBeans). Está parte é considera a mais complexa.
  3. Por fim, a transformação de um PSM em código. Devido ao PSM estar muito próximo da sua tecnologia, essa transformação é trivial. Muitas ferramentas são capazes de efetuar a transformação de um modelo específico de plataforma (PSM) em código.

A utilização do MDA sugere alguns benefícios. Os principais são:

  • Produtividade: A transformação do PIM para o PSM precisa ser definida uma única vez e pode ser aplicada no desenvolvimento de diversos sistemas. Devido a este fato, tem-se uma redução no tempo de desenvolvimento.
  • Portabilidade: Dentro da MDA a portabilidade é alcançada através do foco dado no desenvolvimento do PIM, que é independente de plataforma. Um mesmo PIM pode ser automaticamente transformado em vários PSMs de diferentes plataformas.
  • Interoperabilidade: A interoperabilidade em MDA é alcançada através de bridges, que realizam a comunicação entre PSMs e códigos de diferentes plataformas. Para obter interoperabilidade as ferramentas de transformação devem gerar não só os PSMs, mas também as bridges entre eles.

Mesmo com os benefícios citados acima, a MDA ainda não se encontra totalmente madura. Para se chegar nos pontos positivos que são sugeridos, todas as transformações entre modelos devem ser automatizadas, o que o atual estado da tecnologia ainda não permite totalmente. Outra ponto, é que ainda há muitas questões a serem resolvidas e as ferramentas disponíveis atualmente não suportam toda a especificação MDA. Porém, MDA é flexível a ponto de permitir que uma ferramenta transforme um PIM diretamente em código, sem produzir um PSM.


Show your support

Clapping shows how much you appreciated Jordan Kau Lyrio’s story.