15.04.2013 Views

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

A Model-Driven Software Reuse Approach (in portuguese)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

52<br />

de ferramentas utilizadas para a produção, configuradas através do template da fábrica. As<br />

ferramentas desta abordagem estão focadas no Microsoft Visual Studio, pr<strong>in</strong>cipalmente com<br />

as DSL Tools (COOK et al., 2007), um conjunto de ferramentas para def<strong>in</strong>ição de l<strong>in</strong>guagens<br />

específicas de domínio, geração de código, entre outras funções.<br />

O UMT-QVT 14 15 é uma ferramenta de código aberto que permite realizar transformações<br />

conforme exige o MDD. Um modelo serve de entrada para a ferramenta no formato XMI, que é<br />

então convertido para um formato <strong>in</strong>termediário. As transformações são baseadas em XSLT<br />

(W3C, 1999b), ou mesmo implementadas manualmente em l<strong>in</strong>guagem de programação. O<br />

pr<strong>in</strong>cipal problema dessa abordagem está na dificuldade em se construir transformadores dessa<br />

forma, pr<strong>in</strong>cipalmente para transformar modelos. Neste sentido, as abordagens que utilizam<br />

l<strong>in</strong>guagens visuais para def<strong>in</strong>ição de transformadores, como QVT e ATL, são mais apropriadas.<br />

O MTF (<strong>Model</strong> Transformation Framework 16 ), da IBM, contém um conjunto<br />

de ferramentas que auxiliam desenvolvedores em comparações, validações e criação<br />

de transformações entre modelos EMF. Também mantém um registro dos elementos<br />

transformados, permit<strong>in</strong>do rastreamento entre elementos gerados e a geração de relatórios para<br />

o usuário. É baseado em uma l<strong>in</strong>guagem para def<strong>in</strong>ição dos mapeamentos entre os modelos, em<br />

um mecanismo de transformação capaz de <strong>in</strong>terpretar esses mapeamentos, em um editor para<br />

as transformações, e no suporte para geração de texto a partir de modelos.<br />

F<strong>in</strong>almente, o projeto openMDX 17 foca na implementação dos conceitos da MDA, ou seja,<br />

o modelo é a implementação. Porém, a <strong>in</strong>serção de <strong>in</strong>formações específicas da plataforma de<br />

execução é deixada para a etapa de implantação somente, não ocorrendo na etapa de projeto,<br />

como previsto pela MDA. Segundo os autores, isto traz uma série de benefícios, tais como a<br />

facilidade de portar modelos <strong>in</strong>dependentes de plataforma, e evita a necessidade de modelagem<br />

específica de plataforma, complexa e passível de erros, além de tornar a lógica da aplicação<br />

realmente <strong>in</strong>dependente da plataforma.<br />

Todas estas abordagens e ferramentas têm alto potencial para auxiliar no MDD, mas da<br />

mesma maneira que no caso da reutilização, o papel do processo é fundamental para que as<br />

tentativas não sejam fadadas ao fracasso. Este é o assunto da próxima seção.<br />

14 Apesar de constar no nome desse projeto, essa ferramenta não é baseada na l<strong>in</strong>guagem QVT do OMG.<br />

15 <br />

16 <br />

17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!