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.

262<br />

Com relação a l<strong>in</strong>guagens visuais, até pouco tempo o uso do mecanismo de extensão da<br />

UML era uma das únicas possibilidades. Recentemente, com as idéias do desenvolvimento<br />

orientado a modelos, novas tecnologias surgiram para facilitar esse trabalho. São os chamados<br />

frameworks de l<strong>in</strong>guagens, que implementam diversas funções necessárias para a modelagem<br />

visual, como a representação, criação e edição de diagramas, e o processamento automático de<br />

suas <strong>in</strong>formações <strong>in</strong>ternas. Exemplos <strong>in</strong>cluem o GME (Generic <strong>Model</strong><strong>in</strong>g Environment) 1 e o<br />

GMF (Graphical <strong>Model</strong><strong>in</strong>g Framework) 2 .<br />

Analisando a abordagem de DSLs como uma forma de reutilização de software, pode-se<br />

notar que os quatro conceitos da reutilização também estão presentes:<br />

Abstração: o processo de análise de um domínio de problema, levantamento de <strong>in</strong>formações<br />

relacionadas, e seu encapsulamento em forma de uma l<strong>in</strong>guagem e uma biblioteca<br />

contendo as noções semânticas, corresponde à abstração. O conhecimento reutilizável<br />

do domínio é abstraído e expresso em uma l<strong>in</strong>guagem, de forma que um desenvolvedor<br />

pode facilmente reconhecê-lo e reutilizá-lo. Essa é a parte visível da abstração. O<br />

detalhamento e a implementação das noções semânticas associadas a cada conceito<br />

correspondem à parte escondida da abstração;<br />

Seleção: uma vez que a DSL esteja construída, o desenvolvedor precisa conhecer a s<strong>in</strong>taxe e a<br />

semântica por trás de cada construção da l<strong>in</strong>guagem. A seleção dos artefatos reutilizáveis<br />

é então feita pelo desenvolvedor, que escolhe mentalmente os termos e conceitos da<br />

l<strong>in</strong>guagem a serem utilizados durante a construção de um programa ou criação de um<br />

modelo. Ele pode também consultar a gramática ou manual da l<strong>in</strong>guagem, para ajudá-lo<br />

a determ<strong>in</strong>ar o que precisa utilizar;<br />

Adaptação: a adaptação ocorre normalmente por meio de parâmetros def<strong>in</strong>idos na própria<br />

l<strong>in</strong>guagem, com os quais o desenvolvedor adiciona detalhes específicos da situação; e<br />

Integração: por fim, a <strong>in</strong>tegração é normalmente realizada de forma automática por um<br />

compilador ou <strong>in</strong>terpretador, que irá executar as ações semânticas associadas aos termos<br />

da DSL, <strong>in</strong>tegrando os elementos sendo reutilizados em um aplicativo executável.<br />

Quando o aplicativo é gerado a partir de um compilador DSL, pode-se também dizer<br />

que se trata de um gerador de aplicações, assunto da próxima seção.<br />

1 <br />

2

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

Saved successfully!

Ooh no, something went wrong!