A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
A Model-Driven Software Reuse Approach (in portuguese)
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