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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>in</strong>tegração entre o gerador e a ferramenta de modelagem DSL. Normalmente, geradores<br />

de código consultam <strong>in</strong>formações diretamente de uma ferramenta de DSL, que pode<br />

ser criada manualmente ou através de algum framework de construção de l<strong>in</strong>guagens,<br />

como GME (Generic <strong>Model</strong><strong>in</strong>g Environment), GMF (Graphical <strong>Model</strong><strong>in</strong>g Framework) ou<br />

openArchitectureWare (Seção 2.2.2). Este padrão defende o uso de uma camada separada de<br />

dados, construída em uma tecnologia <strong>in</strong>dependente da ferramenta DSL, e que contém apenas as<br />

<strong>in</strong>formações essenciais para o gerador, e nada mais.<br />

Desta maneira, a <strong>in</strong>formação necessária para o funcionamento do gerador é explicitada,<br />

facilitando a evolução <strong>in</strong>dependente do gerador e da ferramenta DSL. Também permite o<br />

desenvolvimento dos trabalhos de ambas as equipes: a que está trabalhando no gerador e<br />

outra equipe trabalhando na l<strong>in</strong>guagem e suporte ferramental. F<strong>in</strong>almente, este padrão libera o<br />

gerador de uma tecnologia de modelagem em particular, além de restr<strong>in</strong>gir as necessidades de<br />

aprendizado das particularidades das ferramentas de modelagem a uma única equipe. A equipe<br />

trabalhando com geração de código pode focar em suas próprias tarefas. A Figura 22 ilustra<br />

este padrão.<br />

Figura 22: Padrão camada f<strong>in</strong>a de dados<br />

Um segundo padrão que pode ser utilizado, que deriva da camada f<strong>in</strong>a de dados, é<br />

chamado camada de dados das features, e consiste numa especialização do padrão anterior.<br />

Normalmente, o modelo de features é o ponto central de <strong>in</strong>formações para os geradores, mesmo<br />

aqueles exclusivamente dedicados à variabilidade baseada em DSLs. Neste padrão, que é<br />

uma <strong>in</strong>stância do padrão camada f<strong>in</strong>a de dados, propõe-se o uso de uma camada de dados<br />

que armazena todas as <strong>in</strong>formações relacionadas às features. Esta camada de dados deve ser<br />

projetada para ser acessível a todos os geradores, permit<strong>in</strong>do que consultem <strong>in</strong>formações das<br />

features enquanto geram código. Se existir uma ferramenta dedicada à atividade de modelagem<br />

de features, esta camada pode ser utilizada para fazer com que os geradores não dependam desta<br />

ferramenta em particular.<br />

133

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

Saved successfully!

Ooh no, something went wrong!